-
Notifications
You must be signed in to change notification settings - Fork 0
asdlei99/DingWeiKongJieLiYunLong
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published
Languages
- C++ 100.0%