- 5
- 0
- 约小于1千字
- 约 2页
- 2023-04-25 发布于山东
- 举报
实验2:语法剖析
实验题目和要求
题目:语法剖析程序的设计与实现。
实验内容:编写语法剖析程序,实现对算术表达式的语法剖析。要求所剖析算术表达式
由以下的文法产生。
EET|ET|T
T*F|T/F|FFid|(E)|num
实验要求:在对输入表达式进行剖析的过程中,输出所采纳的产生式。
方法1:编写递归调用程序实现自顶向下的剖析。
方法2:编写LL(1)语法剖析程序,要求以下。
编程实现算法,为给定文法自动结构展望剖析表。
编程实现算法,结构LL(1)展望剖析程序。
方法3:编写语法剖析程序实现自底向上的剖析,要求以下。
(1)结构辨别全部活前缀的DFA。
结构LR剖析表。
编程实现算法,结构LR剖析程序。
方法4:利用YACC自动生成语法剖析程序,调用LEX自动生成的词法剖析程序。
实现(采纳方法1)
1.1.步骤:
对文法除去左递归
E
TE
E
TE|TE|
T
FT
T
*FT|/FT|
F
id|(E)|num
画出状态变换图
化简得:
源程序
在程序中I表示id
N表示num
1.2.例子:
例子1
输入:I+(N*N)
输出:
例子2
输入:I-NN
输出:
原创力文档

文档评论(0)