算符优先分析方法 联系客服

发布时间 : 星期一 文章算符优先分析方法更新完毕开始阅读9436228102d276a200292e00

目录

1.课程设计的目的与原理............................................................................................. 1

1.1设计目的........................................................................................................... 1 1.2设计原理........................................................................................................... 1 2.课程设计环境............................................................................................................. 1 3.课程设计内容............................................................................................................. 2

3.1算符优先分析流程图....................................................................................... 2 3.2算符优先总流程图........................................................................................... 3 3.3算符优先文法................................................................................................... 4 3.4 程序调试.......................................................................................................... 5 4.总结............................................................................................................................. 6 附录................................................................................................................................ 6

算符优先分析方法

1.课程设计目的与原理 1.1设计目的

1. 了解利用算符优先算法进行移进规约分析的方法 。 2. 锻炼和提高自己的编程能力。

3. 熟悉编译原理语法分析的方法,加深对算符优先基本方法的了解。

4. 进一步理解编译原理,更好的的学习它的思路,掌握编译原理的理论基础。

5. 了解算符优先分析和规范规约的不同以及优缺点。 1.2设计原理

算符优先分析方法是根据算符之间的优先关系而设计的一种自底向上的语法分析方法。算符优先分析的基本思想是只规定算符之间的优先关系,也就是只考虑终结符之间的优先关系。由于算符优先分析不考虑非终结符之间的优先关系,在归约过程中只要找到可归约串就归约,并不考虑归约到哪个非终结符,因而算符优先归约不是规范归约。 2.课程设计环境

1.硬件运行环境:Windows XP 2.软件运行环境:VC++ 6.0版本

1

3.课程设计内容 3.1算符优先分析流程图

置初值块:k:=1,s[k]:=”#” 下一个输入符读入a Y j:=k s[k]∈VT N j:=k-1 s[j]>a? Y Q:=s[j] N s[j]

S:用来存放终结符和非终结符的符号栈 Vt:存放该文法中的所有终结符

2

3.2算符优先总流程图

开始 初始化FIRSTVT集和LASTVT集 输入文法规则和数目 N 是否为文法 Y 求出文法终结符集 输出非终结符FIRSTVT集和LASTVT集 输出结果 生成并输出算法分析表 输入需要验证的字符串,以#结束 输出结果 结束

3