类C语言编译器,基本上实现了主要功能的C语言语法,词法分析使用状态转移,语法使用LR(1)方法,自动生成ACTION和GOTO转移表。自顶向下的语法制导翻译,可以生成各种类型的表达式(包括布尔,算术,逻辑等等),循环中的while,选择中的if else 和if等,功能比较强大,对于应付编译原理课程设计足足有余。此代码是本人课程设计的心血。
1
编译原理——for循环语句的翻译,LR,四元式,有报告
1
通过上机实习,加深对语法制时翻译原理的理解,掌握将语法分析所识别的语法成分变换为中间代码的语义翻译方法。 采用递归下降语法制导翻译法对算术表达式、赋值语句、条件语句、循环语句进行语义分析生成四元式序列。
2019-12-21 19:41:54 20KB 语义分析 javacc 四元式
1
文法规则: 1.—>program id 2.—> { 语句 [ 语句 ] } 3.—>||| || 4.—> id [ , id ] ; 5.—> integer | float 6.—> input id [ , id ] ; 7.—> output [ , ] ; 8.—> id = ; 9.—> if { else } 10.—> while 11.—> [ +|- ] 12.—> [ *|/ ] 13.—> id | con | deci | ( ) 14.—> [ and | or ] 15.—> 16.—> < | | >= | == |
2019-12-21 19:39:44 258KB 四元式 词法分析 语法分析 语义分析
1
本文件为武汉理工大学计算机学院编译原理课程课内实践源代码。压缩包内含整个VS项目。运行环境:VS2017,编程语言:C++。主题:WHILE循环语句的翻译程序设计与实现(递归下降法、输出四元式
2019-12-21 19:37:04 50.6MB 编译原理 四元式 赋值语句 while语句
1
使用C++开发一个小型的C语言编译器,实现词法分析,语法分析,语法制导翻译,语义分析和中间代码生成。 数据结构都是使用的C++ STL,语法分析使用的LR(1)分析法。
2019-12-21 19:27:41 23KB 编译原理 LR(1) 语法树 四元式
1
本程序用C语言编写,在Visual studio 6.0 下运行成功 拷贝之后便可以运行。 本程序是本人在学习编译原理课程时所编写的,现在不用了,发出来供大家一起参考讨论之用。 由于只是为了实验课的需要而用,所以程序的功能还十分简单,程序中也还存在很多问题和不足,欢迎大家给予指正。
2019-12-21 19:24:53 937KB 编译原理 中间代码生成
1
实现了将算术表达式、for语句、while语句转换成四元式的c++程序。除实现以上功能外,还配有图形化界面,设计文档等内容。
2019-12-21 19:24:26 824KB 编译原理
1