编译原理学习笔记06——(连连看—准备一下很多课件都演示的公式E → E+T | T )——2014_1_22

来源:互联网 发布:178数据库7.0 编辑:程序博客网 时间:2024/06/06 06:46

看了很多课件(至少3种),居然都用到了下面的例子,

G:
  E → E+T | T
  T → T*F | F
  F → (E) | i

而且复杂的分析也是围绕上式展开的,


为了跟上,也采用上面的例子,同时做了一个连连看。感觉编译原理学得好,连连看肯定也不错。

三个产生式如下,




然后,上面的都是左递归,

实际上编程的时候,都是有很多限制的,其中左递归是不允许的,还有什么first 和 follow 等一堆规则。


在笔记04中理解过左递归,这里只是重复一下,主要目的是为后面的笔记建立一个grammer语法。

首先,这只是E的展开演示,


可以利用笔记04中的第二种方法消除左递归,


这样就把E 的左递归消除了,但看得眼也花了,所以连连看对眼力的要求还是比较高的。

还没完,还有T呢,


T也需要消除左递归,同法炮制,


一个提示,终结符是与猪八戒有关的,消除左递归而加入的中间变量与大话西游有关。这样可能好记些。

在后面的笔记中,就要利用上面的式子了。

0 0
原创粉丝点击