编译原理非递归预测说课材料.docx

实验非递归预测分析 一、实验目的与任务 设计一个非递归预测分析器,实现对表达式语言的分析,理解自上而下语法 分析方法的基本思想,掌握设计非递归预测分析器的基本方法。 二、实验要求 建立文法及其LL(1)分析表表示的数据结构,设计并实现相应的预测分析器, 对源程序经词法分析后生成的二元式代码流进行预测分析,如果输入串是文法定 义的句子则输出是”否则输出否” 三、文法描述及其LL(1)分析表 表达式语言(XL)的语法规则如下: 1. 程序f表达式; 2. |表达式;程序 3. 表达式 f 表达式 +项 4. 项 5. 项f 项*因式 6. |因式 7. 因式 f num_or_id 8. |(表达式) 将该语言的文法转换为如下的LL(1)文法: 1 prgm 、 f expr;prgm 8 term f factor term 2 prgm f prgm 9 term f *factor term 3 prgm f£ 10 term f£ 4 expr f term expr 11 factor f (expr) 5 expr f£ 12 factor f num 6 expr f +term expr 13 system_goal f prgm 7 expr f£ 该LL(1)文法的LL(1)分析表如下: T N Num + * ( ) J # prgm 1 1 1 prg

文档评论(0)

1亿VIP精品文档

相关文档