* * * * * * * * * * * * * * * * * 8.7 简单说明语句的翻译 程序设计语言中的说明语句旨在定义各种形式的有名实体,如常量、变量、数组、记录(结构)、过程、子程序等等,说明语句的种类也多,对象说明、变量说明、类型说明、过程说明等等。 程序设计语言中最简单的说明句的语法描述为: D→integer〈namelist〉|real〈namelist〉 〈namelise〉→〈namelist〉,id|id 用上述文法来制导翻译(自下而上)存在着这样一个问题,我们只能在把所有的名字都归约成namelist后才能把它们的性质登记进符号表。这意味着namelist必须用一个队列(或栈)来保存所有这些名字。 文法改写: D→D1,id |integer id |realid 翻译方案: (1) D→integerid {enter(id,int); D.ATT∶=int} (2) D→realid {enter(id,real); D.ATT∶=real} (3) D→D1,id {enter(id,D1.ATT); D.ATT∶=D1.ATT}
原创力文档

文档评论(0)