1954年至1957年间,IBM的John Backus带领一个小组开发
FORTRAN语言及其
编译器,使得上面的担忧不必要了。
但由于当时处理中所涉及到的大多数
程序设计语言的翻译并不为人所掌握,所以这个项目的成功也伴随着巨大的辛劳。
Chomsky的研究导致了根据语言文法(grammar,结构规则)的难易程度以及识别它们所需的算法来为语言分类。文法有4个层次:0型、1型、2型和3型文法,且其中的每一个都是其前者的专门化。2型(或上下文无关文法context-free grammar)是
程序设计语言中最有用的,代表着程序设计语言结构的标准方式。
人们接着又深化了生成有效的
目标代码的方法,这就是最初的
编译器,它们被一直使用至今。人们通常将其误称为优化技术(optimization technique),但因其从未真正地得到过被优化了的
目标代码而仅仅改进了它的有效性,因此实际上应称作代码改进技术(code improvement technique)。
在70年代后期和80年代早期,大量的项目都关注于
编译器其他部分的生成自动化,这其中就包括了
代码生成。这些尝试并未取得多少成功,这大概是因为操作太复杂而人们又对其不甚了解。