- 127
- 0
- 约8千字
- 约 10页
- 2020-11-18 发布于浙江
- 举报
实验5---语法分析器(自下而上):LR(1)分析法
一、实验目的
??构造LR(1)分析程序,利用它进行语法分析,判断给出的符号串是否为该文法识别的句子,了解LR(K)分析方法是严格的从左向右扫描,和自底向上的语法分析方法。
二、实验内容
??程序输入/输出示例(以下仅供参考):??对下列文法,用LR(1)分析法对任意输入的符号串进行分析:
(1)E-E+T
(2)E-E—T
(3)T-T*F
(4)T-T/F
(5)F- (E)
(6)F-i
??输出的格式如下:??(1)LR(1)分析程序,编制人:姓名,学号,班级??(2)输入一个以#结束的符号串(包括+—*/()i#):在此位置输入符号串??(3)输出过程如下:
步骤
状态栈
符号栈
剩余输入串
动作
1
0
#
i+i*i#
移进
??备注:
??1.在“所用产生式”一列中如果对应有推导则写出所用产生式;如果为匹配终结符则写明匹配的终结符;如分析异常出错则写为“分析出错”;若成功结束则写为“分析成功”。
??2.在此位置输入符号串为用户自行输入的符号串。
??注意:
??1.表达式中允许使用运算符(±*/)、分割符(括号)、字符i,结束符#;
??2.如果遇到错误的表达式,应输出错误提示信息(该信息越详细越好);
??3.对学有余力的同学,测试用的表达式事先放在文本文件中,一行存放一个表达式,同时以分号分割。同时
原创力文档

文档评论(0)