Wind-Gone / Toy-Compiler

编译原理 词法分析+LL(1)语法分析+恐慌模式错误恢复+中间代码生成+语义分析

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🎁 编译原理实验

ECNU 后端及编译器具体实现 – 第六小组

🐻实现语言

JAVA

🐨已完成

  • 👉 词法分析 + 分词符号表
  • 💥 LL(1) 语法分析 + 恐慌模式错误恢复
  • 🌟 四元式中间代码 + 符号表生成
  • ⛵ 语义分析解释器

🐶效果图

a) 基本的输入、输出界面;

1. 输入

img

2. 词法分析结果

image-20210616133836116

image-20210617150057877

3. LL(1) FIRST 集

image-20210616133715097

4. LL(1)Follow 集

image-20210616133722237

5. LL (1)解析表

image-20210616133728309

6. LL(1) 生成的语法树

img

img

7. 错误提示(错误高亮 错误日志显示)

6

8. 中间代码生成

image-20210616133940577

9. 语义分析解释结果

image-20210616133956184

10. 自定义代码风格切换

image-20210615174150268

image-20210615174410129

image-20210615174425780

image-20210615174441434

image-20210615174458129

b) 界面布局与设计

img

🐸运行说明

  1. git clone https://github.com/Wind-Gone/Toy-compiler-GUI 克隆本项目的前端库
  2. yarn 安装相关依赖包
  3. yarn start 启动 Electron
  4. git clone https://github.com/Wind-Gone/Toy-compiler 克隆项目后端编译器
  5. 启动 Springboot 即可运行

😾项目目录

4

🐰特别鸣谢

👲@caizhenghai

👧@Ling-WYJ

About

编译原理 词法分析+LL(1)语法分析+恐慌模式错误恢复+中间代码生成+语义分析


Languages

Language:Java 100.0%