WACC使用的技术

 WACC使用的技术

WACC使用的是LALR(1)文法,先行符号集的计算采用的反向传播算法,而不是LR(1)合并同心集的算法。反向传播算法的好处是计算同心集节省空间,而且可以直接通过LR(0)文法DFA(确定性有限自动机)直接生成。

本人认为,在编译原理中较难的部分在自底向上的分析,而目前的书籍均在此处退避三舍。即使有,也是手工构造SLR(1)或LR(0)的分析表。作者在在这里给读者揭示编译原理中最神秘的部分,就是自动编译工具YACC的设计与实现。但是本书并不包括编译原理所有内容,仅涉及与YACC相关的知识。

后面的章节可能会涉及到first集、LR(0)文法、LALR(1)文法。还会涉及到自顶向下的分析方法。WACC识别语法文件的程序使用的就是递归下降分析方法。

研习YACC,自己动手做。其目的不在做出一个程序,而在于如何在实践中掌握理论,掌握抽象问题、分析问题、解决问题的能力。仅阅读一本教材,会做后面的习题,学到的东西是浮在表面的。作为一个计算机系的学生,不应该只会在原理上做”思想实验” (有人称意淫)。还需要能实际上解决问题。王阳明格竹的故事告诉我们,”思想实验”不但解决不了问题,还有害健康。呵呵。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值