编译器前端的程序主干是字符串的匹配,可真正的目的是翻译,将源代码转换为目标码。若将匹配流程比作骨架,那么翻译方法就是血肉。设计翻译方法,在于解决三个问题:如何表示源代码中的语义?如何表示目标码?如何将源代码到目标代码的翻译步骤添加到程序的主干流程当中?
语义是藏在文字符号本身之上的一种可被解释与理解的特性。比方说,符号 …
在设计编译器的前端时,程序驱动的主干是字符串的匹配,所回答的基本问题是_输入文本是否能够匹配**预定义规则**,因而返回值是是或否_。
对于回答是的情况,说明输入文本落在了预定义规则划分的范围内。可当规则的描述具有一定规模、较为复杂的时候,又需要知道具体匹配到了哪些规则,这时才会涉及到翻译的问题,常称作语法制导翻译,原 …