资源内容:源代码+报告
解压密码:123456
设计目标:
编写一个小型的编译程序,能够对使用Pascal语言子集编写的一小段代码进行编译,进行词法分析、语法分析等过程后,最终输出四元式形式的中间代码。
相应的语言子集涉及程序语句中的赋值语句、if语句和while语句三种基本结构,还有begin-end代码段。此外,还包含有算术运算式、关系运算式、布尔运算式等表达式,涉及到基本的算术运算符、关系运算符和布尔运算符,且都符合左结合规则。
编译程序要能实现词法分析、语法分析和中间代码生成三个程序编译的重要阶段。在词法分析过程中识别出程序代码中的单词符号,保存变量到变量表中,输出对应的二元式。语法分析过程在词法分析的基础上,根据语法规则把单词符号串分解为各类语法单位,如“短语”、“子句”、“句子”、“程序段”等。通过语法分析可以判断一段程序是否含有语法错误。最后一个阶段为中间代码产生阶段,按语言的语义将分析出的语法单位翻译成四元式形式的中间代码。