你知道第一个C语言C++编译器是如何诞生的吗( 六 )

接近完美了 , 不过最后一步手笔自然要大一点 。 这个时候数组和指针也要去掉了 , 另外 C1 语言其实仍然有很大的冗杂度 , 比如控制循环和分支的都有多种表述方法 , 其实都可简化成一种 , 具体的来说 , 循环语句有 while 循环 , do…while 循环和 for 循环 , 只需要保留while循环就够了;分支语句又有 if…{ if…{…else if…{…else if… switch , 这四种形式 , 它们都可以通过两个以上的 if…{ 来实现 , 因此只需要保留 if…{ 就够了 。 可是再一想 , 所谓的分支和循环不过是条件跳转语句罢了 , 函数调用语句也不过是一个压栈和跳转语句罢了 , 因此只需要 goto(未限制的 goto) 。 因此大胆去掉所有结构化关键字 , 连函数也没有 , 得到的 C0 语言关键字如下:

推荐阅读