Skip to content

丁伟孔捷李云龙,计算机1803-陈雨晗-20183040,计算机1803-陈奕宁-20183495,计算机1803-罗康-20183636

Notifications You must be signed in to change notification settings

asdlei99/DingWeiKongJieLiYunLong

 
 

Repository files navigation

编译原理课程设计说明
队伍介绍:

队名:丁伟孔捷李云龙

队长:陈雨晗-20183040-计科1803

队员1:陈奕宁-20183495-计科1803

队员2:罗康-20183636-计科1803

项目说明:

1、项目仓库由团队三人共同维护

2、master文件夹下分为课程代码和课程报告两个模块,课程报告

3、三个人各自的分支用来存放各自的代码更新和报告更新

4、项目规范:为了统一管理,统一编译器(自7.2开始),以便出现其他错误

5、实现:基于C语言的部分功能的编译器前端和后端的设计

完成内容:
1、词法分析部分:包含常数处理机,和多种关键字,标识符,界符等等,实现较全的扫描识别并输出。
2、语义分析部分:实现包含算术表达式文法,表达式文法,函数声明,函数调用,for语句文法,while语句文法,if和else语句文法,并支持函数嵌套,if for while嵌套等。同时可以进行错误分析,并抛出异常。
同时可以根据翻译文法进行语义动作,并进行中间代码生成。
3、dag优化:可以对语义分析的输出中间代码进行正确优化,输出优化后的中间代码。
4、汇编代码生成:支持声明,赋值,函数调用,声明,函数嵌套,for语句 while语句,if语句的嵌套使用,算术表达式文法以及表达式文法的目标代码生成,同时可以执行汇编指令,运行并输出正确结果。

About

丁伟孔捷李云龙,计算机1803-陈雨晗-20183040,计算机1803-陈奕宁-20183495,计算机1803-罗康-20183636

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%