正在加载图片...
202 编译原理及实践 China-pub.co 下载 法树中计算时观察属性等式对于计算属性值的算法是重要的,就像在下一节将看到的那样⊙。 在表6-1和图6-1中,通过使用不同的字体,我们强调了数字和值的语法表示或者数字语义 内容之间的不同。例如在文法规则dig1一0中,数字0是一个记号或特性,而digit.val=0的含 义是数字的数值为0。 表6-1例6.1的属性文法 文法规则 语义规则 Number,→number,digit number..val numberval 10+digit.val Number-一digit numberval digit.val -0 digit.val-0 digit -2 digit.val =2 digit-3 digit.val =3 dhgi→4 digit.val =4 digit.val -5 -6 digit.val-6 digit.val -7 igr→8 digit.val =8 gt→g digit.val=9 0a1-3407095=345 0al-30r4=30 (val =5) (l 3) ( (val =3) 图6-1显示例6.1中属性计算的语法树 例6.2考虑下列简单的整数算术表达式文法: exp exp term exp -term term term-term factor|factor factor→(ep number 这个文法对第5章广泛讨论的简单表达式文法稍微作了一些改动。 exp(或iem或factor)的基本属 性是它的数字值,写作ral。val属性的届性等式在表6-2中给出。 日事实上,扫描器通常认为数是标记,它们的数值也很容易计算。在此期间,扫指器很可能隐含地使用这里定 义的属性等式。法树中计算时观察属性等式对于计算属性值的算法是重要的,就像在下一节将看到的那样 。 在表6 - 1和图6 - 1中,通过使用不同的字体,我们强调了数字和值的语法表示或者数字语义 内容之间的不同。例如在文法规则 d i g i t→0 中,数字0是一个记号或特性,而d i g i t . v a l = 0的含 义是数字的数值为0。 表6-1 例6 . 1的属性文法 文 法 规 则 语 义 规 则 N u m b e r1 → n u m b e r2 d i g i t n u m b e r1 .val = n u m b e r 2 .val * 10 + d i g i t.v a l Number → d i g i t n u m b e r.val = d i g i t . v a l digit → 0 digit.val = 0 digit → 1 digit.val = 1 digit → 2 digit.val = 2 digit → 3 digit.val = 3 digit → 4 digit.val = 4 digit → 5 digit.val = 5 digit → 6 digit.val = 6 digit → 7 digit.val = 7 digit → 8 digit.val = 8 digit → 9 digit.val = 9 图6-1 显示例6 . 1中属性计算的语法树 例6.2 考虑下列简单的整数算术表达式文法: exp → exp + t e r m | exp - t e r m | t e r m t e r m → t e r m * f a c t o r | f a c t o r f a c t o r →(e x p)| n u m b e r 这个文法对第5章广泛讨论的简单表达式文法稍微作了一些改动。 e x p(或t e r m或f a c t o r)的基本属 性是它的数字值,写作v a l。val 属性的属性等式在表6 - 2中给出。 2 0 2 编译原理及实践 下载 事实上,扫描器通常认为数是标记,它们的数值也很容易计算。在此期间,扫描器很可能隐含地使用这里定 义的属性等式
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有