编译原理课程设计

大家应把该门课的课程设计当成对自己学习效果的一次检验,当成是为在大四能够顺利完成毕业设计的一次基本功训练。

还有就有字符串的转换等一些操作,没有JAVA来得方便。

程序能够从用户输入的任意一个字符串中识别出FORTRAN实型常数,显示输出。

**(二)词法分析(****8****学时)**(重点覆盖课程目标1,3)主要内容:⑴词法分析概述。

希望每个同学尽可能不要都选择完全一样的题目。

**(三)语法分析(****10****学时)**(重点覆盖课程目标1,3)主要内容:⑴语法分析概述。

编译原理课程设计全文共17页,当前为第3页。

鼓励选择有一定技术难度、有一定工作量、综合性较强的题目,在评定成绩时将会给予好的成绩。

publicstaticstringPrintErrorList()把所有发现的错误格式化后统一输出。

**(五)中间代码生成(****8****学时)**(重点覆盖课程目标1,4)主要内容:⑴中间代码生成概述。

要求:对任意给定的一个NFAM(其状态转换矩阵及初态、终态信息保存在指定文件中)的某一个状态子集I,显示输出构造出的ε-CLOSURE(I。

通过本次设计,使我对编译原理有了进一步的了解,更加巩固了所学习的知识。

通过该课程设计,收获颇多。

题目:将算术表达式转换成抽象语法树的程序实现设计内容及要求:设计一个语法制导翻译器,将算术表达式转换成抽象语法树。

题目:将WHILE语句转换成四元式的程序实现设计内容及要求:设计一个语法制导翻译器,将WHILE语句翻译成四元式。

⼀、对实验原理有更深的理解通过该课程设计,掌握了什么是编译程序,编译程序⼯作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解了编译程序的⽣成过程、构造⼯具及其相关的技术对课本上的知识有了更深的理解,课本上的知识师机械的,表⾯的。

设计要求要求:(1)设计词法分析器设计各单词的状态转换图,并为不同的单词设计种别码。

⑷自下而上的语法分析,移进-归约的规范方法,算符优先、LR方法。

编译原理课程设计的主要内容是设计并实现SNL语言的编译器,具体包括:词法分析程序、递归下降语法分析程序、LL(1)语法分析程序、符号表管理、语义检查、中间代码生成、中间代码优化和目标程序生成等八个实验项目。

布尔运算符由高到低的优先顺序:¬>∧>∨。

主程序示意图:主程序示意图如图1.1所示。

评论0

没有账号? 注册  忘记密码?