编译原理:递归下降分析实验

发布时间:2023-03-19 15:22:31   来源:文档文库   
字号:
实验二:递归下降分析
实验环境
Win10+vs2017
学号姓名
182054424王锐
一.实验项目要求
根据某一文法编制调试递归下降分析程序,以便对任意输入的符号串进行分析。本次实验的目的主要是加深对递归下降分析法的理解。
对下列文法,用递归下降分析法对任意输入的符号串进行分析:1E->TG2G->+TG|TG3G->ε4T->FS5S->*FS|/FS6S->ε7F->(E8F->i输出的格式如下:
(1递归下降分析程序,编制人:姓名,学号,班级
(2输入一以#结束的符号串(包括+*/()i#:在此位置输入符号串例如:i+i*i#(3输出结果:i+i*i#为合法符号串
备注:输入一符号串如i+i*#,要求输出为“非法的符号串”注意:
1.表达式中允许使用运算符(+-*/、分割符(括号)、字符i,结束符#2.如果遇到错误的表达式,应输出错误提示信息(该信息越详细越好)二.理论分析(含实验项目要求的分析、数学或逻辑推导等
1.分析程序的功能是利用函数之间的递归调用模拟语法树自上而下的构造过程
2.递归下降分析法设计思路:对文法中的每个非终结符编写一个函数,每个函数的功能是识别由该非终结符所表示的语法成分
3.当遇到终结符a时,则编写语句if(当前读来的输入符号==a读入下一个输入符号;4.当遇到非终结符A时,则编写语句调用A(;5.当遇到规则A->时,则编写语句if(当前读来的输入符号FOLLOW(Aerror(;6.当某个非终结符的规则有多个候选式时,LL(1文法的条件能够唯一地选择一个候选式进行推导





1
三.实现步骤及结果
1.主函数调用E1(函数,开始分析

2.函数E(功能:
根据文法E->TG,显示调用产生式,根据程序的状态,调用非终结符函数T(G(,进行递归下降分析2


本文来源:https://www.2haoxitong.net/k/doc/0c99cf1a4493daef5ef7ba0d4a7302768f996f4d.html

《编译原理:递归下降分析实验.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式