由于不怎么用csdn,那么将自己的Github Readme 文件拷到这里了
包涵词法分析,语法分析,
GUI 项目链接:编译原理课程设计(包涵GUI实现)-CQUT(重庆理工大学) 需要jdk17
核心项目链接:编译原理课程设计 仅需要JDK8
编译原理课程设计(GUI版)
请在下载之前,为我点一个小小的 star 吧,这对我在将来的毕业找工作有很大的帮助。 (●’◡’●)
如何运行
此项目适应Gradle构建,可以直接导入IDEA运行。
[!CAUTION]
此项目的Java最低运行环境为Java17,与核心部分的Java8不同,如果想要自己写支持Java8的版本,请导入核心部分的项目然后自行编写。
如果依赖下载不下来,可以尝试修改并运行build.gradle.kts
文件中的maven
仓库地址。
先运行一遍build.gradle.kts
文件,再尝试修改maven
仓库地址。
最后在idea上运行desktop
模块即可。
repositories {
// 添加阿里云的maven仓库
maven("https://maven.aliyun.com/repository/public")
}
核心部分
[!Note]
关于编译器的核心部分可以看这个仓库:编译原理课程设计本仓库着重展示了编译器的GUI部分,包括词法分析、语法分析、语义分析、中间代码生成、中间代码解释器等部分。
可以运行测试案例5.1之前的案例。之后的函数多递归调用需要修改 return 的 bug,由于时间紧张的关系并未实现。
此外,break,continue语句的实现并未测试,需要自行测试。
词法分析
语法分析
批量生成结果
中间代码生成
中间代码解释器
Sample语言的编译器设计
请在下载之前,为我点一个小小的 star 吧,这对我在将来的毕业找工作有很大的帮助。 (●’◡’●)
实现Sample语言的分析
所引用到的库:
fastjson 2
,PlantUML
,jetbrains.kotlinx.coroutines.core
分别用于解析json,生成UML图,协程
java版本:1.8及其以上。
[!NOTE]
关于gui版可见我另一个仓库:编译原理课程设计(GUI版)
生成案例
- 词法分析
- 语法分析
词法分析
语法分析
生成树示例
四元式生成
四元式解释器
此处详见GUI版