编译原理实验:消除文法的左递归.docVIP

  • 8
  • 0
  • 约6.23千字
  • 约 11页
  • 2023-09-27 发布于四川
  • 举报
编译原理实验报告 实验名称:消除文法的左递归 实验时间 :2015/5/28 院系:管理与信息工程学院 班级 :12级计算机科学与技术 学号:201201020124 姓名 :刘杨凡 1.实验目的: 输入:任意的上下文无关文法。 输出:消除了左递归的等价文法。 2.实验原理: 1.直接左递归的消除 假设非终结符P的规则为: P→Pα / β 其中,β是不以P开头的符号串。那么,我们可以把P的规则改写为如下的非直接左递归形式: P→βP’ P’→αP’ / ε 这两条规则和原来的规则是等价的,即两种形式从P推出的符号串是相同的。 设有简单表达式文法G[E]: E→E+T/ T T→T*F/ F F→(E)/ I 经消除直接左递归后得到如下文法: E→TE’ E’ →+TE’/ ε T→FT’ T’ →*FT’/ ε F→(E)/ I 考虑更一般的情况,假定关于非终结符P的规则为 P→Pα1 / Pα2 /…/ Pαn / β1 / β2 /…/βm 其中,αi(I=1,2,…,n)都不为ε,而每个βj(j=1,2,…,m)都不以P开头,将上述规则改写为如下形式即可消除P的直接左递归: P→β1 P’ / β2 P’ /…

文档评论(0)

1亿VIP精品文档

相关文档