问答题 为下面的算术表达式文法写一个语法制导的翻译方案,它将每个子表达式E的符号(即值大于零还是小于零)记录在属性E.sign中(属性值分别用POS或NEG表示)。你可以假定所有的整数都不为零,这样就不用担心零的符号。
问答题 假设说明是由下列文法产生的: (a)建立一个翻译模式,把每一个标识符的类型加入到符号表中。 (b)从(a)中的翻译模式构造一个预翻译程序。
问答题 下面的文法产生的表达式是对整型和实型常数应用算符+形成的。当两个整数相加时,结果仍为整数,否则就是实数。 (a)给出一个语法制导定义以确定每个子表达式的类型。 (b)扩充(a)中的语法制导定义把表达式翻译成前缀形式,并且决定类型。使用一元算符inttoreal把整型值转换成相等的实型值,以使得前缀形式中的+的两个操作对象是同类型的。