Commit Graph

78 Commits

Author SHA1 Message Date
580f2d505a fix:对于const重复定义检查错误 (#85)
Some checks failed
Integration Test / Open-Set-Test (push) Has been cancelled
Test canon project / Test-Canon (push) Has been cancelled
Reviewed-on: PostGuard/Canon#85
2024-05-14 14:10:42 +08:00
ichirinko
20e82c6f4f fix:修复前端bug (#83)
Co-authored-by: jackfiled <xcrenchangjun@outlook.com>
Reviewed-on: PostGuard/Canon#83
Co-authored-by: ichirinko <1621543655@qq.com>
Co-committed-by: ichirinko <1621543655@qq.com>
2024-05-13 22:29:32 +08:00
d90f6fde62 add: 头歌上的隐藏测试集 (#82)
Reviewed-on: PostGuard/Canon#82
2024-05-13 13:31:29 +08:00
cff5ec430b fix: 前端的日志输出 (#81)
Reviewed-on: PostGuard/Canon#81
2024-05-12 22:36:17 +08:00
ab80d0c269 feat: 对于条件表达式的短路支持 (#80)
Reviewed-on: PostGuard/Canon#80
2024-05-12 20:28:56 +08:00
b34383ea74 fix: 重构类型系统 (#79)
Reviewed-on: PostGuard/Canon#79
2024-05-12 14:29:18 +08:00
1908561d31 fix: 调整输出的格式 (#78)
Reviewed-on: PostGuard/Canon#78
2024-05-10 16:45:21 +08:00
ichirinko
f993d49856 添加对while-do语句的支持 (#77)
Co-authored-by: jackfiled <xcrenchangjun@outlook.com>
Reviewed-on: PostGuard/Canon#77
Co-authored-by: ichirinko <1621543655@qq.com>
Co-committed-by: ichirinko <1621543655@qq.com>
2024-05-10 13:52:11 +08:00
ichirinko
4a712fc462 fix:修复了前端无法通过历史记录切换页面的bug (#76)
Reviewed-on: PostGuard/Canon#76
Co-authored-by: ichirinko <1621543655@qq.com>
Co-committed-by: ichirinko <1621543655@qq.com>
2024-05-09 14:44:23 +08:00
Lan_G
160fafef70 misc: 清除冗余的代码
Reviewed-on: PostGuard/Canon#75
Co-authored-by: Lan_G <2911328695@qq.com>
Co-committed-by: Lan_G <2911328695@qq.com>
2024-05-06 00:12:57 +08:00
6e8e3885ac fix: 区分字符和字符串 (#74)
Co-authored-by: Huaps <1183155719@qq.com>
Reviewed-on: PostGuard/Canon#74
2024-05-04 13:57:14 +08:00
8da24523c9 refact: 重构代码生成 (#72)
Reviewed-on: PostGuard/Canon#72
2024-05-04 11:56:06 +08:00
6130adfa7c feat: 按照open_set中的示例调整语法 (#71)
添加了构建LR分析表冲突的报错

Reviewed-on: PostGuard/Canon#71
2024-05-01 21:06:27 +08:00
feddbff205 fix: 输出文件位置错误 && 更新open_set (#70)
Reviewed-on: PostGuard/Canon#70
2024-04-30 15:04:58 +08:00
Lan_G
5ca947125b feat-generater (#69)
Reviewed-on: PostGuard/Canon#69
Co-authored-by: Lan_G <2911328695@qq.com>
Co-committed-by: Lan_G <2911328695@qq.com>
2024-04-30 14:43:14 +08:00
a349f0d9c0 fix: 前端编译错误 (#68)
Reviewed-on: PostGuard/Canon#68
2024-04-30 09:34:31 +08:00
911c813996 feat: 在前端显示编译过程中的日志 (#67)
Reviewed-on: PostGuard/Canon#67
2024-04-29 23:55:36 +08:00
ichirinko
4d325569fa fix:修改对递归函数的procedureCall类型检查,在父符号表中寻找id (#66)
Reviewed-on: PostGuard/Canon#66
Co-authored-by: ichirinko <1621543655@qq.com>
Co-committed-by: ichirinko <1621543655@qq.com>
2024-04-29 21:33:09 +08:00
ichirinko
03852ed2bf feat:完成语法树结点的类型检查 (#59)
Co-authored-by: jackfiled <xcrenchangjun@outlook.com>
Reviewed-on: PostGuard/Canon#59
Co-authored-by: ichirinko <1621543655@qq.com>
Co-committed-by: ichirinko <1621543655@qq.com>
2024-04-28 22:02:29 +08:00
d84b254716 feat: 语法分析的详细错误信息 (#63)
Reviewed-on: PostGuard/Canon#63
2024-04-28 15:13:09 +08:00
ichirinko
73dba8b1db fix:修复了历史记录滑动显示问题与频繁申请后端问题 (#58)
Reviewed-on: PostGuard/Canon#58
Co-authored-by: ichirinko <1621543655@qq.com>
Co-committed-by: ichirinko <1621543655@qq.com>
2024-04-27 13:18:02 +08:00
17dbcccb59 feat: 语法树的访问者和类型检测访问者 (#56)
Reviewed-on: PostGuard/Canon#56
2024-04-26 10:18:49 +08:00
ichirinko
b20c3234c5 feat:修改文法制导定义为S属性定义,以避免左递归 (#55)
Co-authored-by: jackfiled <xcrenchangjun@outlook.com>
Reviewed-on: PostGuard/Canon#55
Co-authored-by: ichirinko <1621543655@qq.com>
Co-committed-by: ichirinko <1621543655@qq.com>
2024-04-25 11:42:36 +08:00
ichirinko
b4a6632018 feat-frontend (#54)
Reviewed-on: PostGuard/Canon#54
2024-04-25 00:14:45 +08:00
447a791793 fix: 词法位置报错 (#53)
Co-authored-by: Huaps <1183155719@qq.com>
Reviewed-on: PostGuard/Canon#53
2024-04-24 11:01:45 +08:00
d381f56e1d fix: 修复编译中的一些小问题 (#52)
Co-authored-by: Lan_G <2911328695@qq.com>
Reviewed-on: PostGuard/Canon#52
2024-04-22 21:48:57 +08:00
Ichirinko
366991046a feat: 编译历史记录和代码生成结果(#51)
地址已绑定编译结果,支持历史记录切换功能

Co-authored-by: jackfiled <xcrenchangjun@outlook.com>
Reviewed-on: PostGuard/Canon#51
Co-authored-by: Ichirinko <1621543655@qq.com>
Co-committed-by: Ichirinko <1621543655@qq.com>
2024-04-22 21:26:34 +08:00
3a584751dc feat: 针对C的代码生成 (#50)
Co-authored-by: Lan_G <2911328695@qq.com>
Reviewed-on: PostGuard/Canon#50
2024-04-21 22:24:35 +08:00
4353fb0c01 fix: 补充一些缺少的关键词 (#49)
Reviewed-on: PostGuard/Canon#49
2024-04-21 17:42:08 +08:00
Ichirinko
a95987b3ce feat: 前端界面优化 (#48)
Co-authored-by: jackfiled <xcrenchangjun@outlook.com>
Reviewed-on: PostGuard/Canon#48
Co-authored-by: Ichirinko <1621543655@qq.com>
Co-committed-by: Ichirinko <1621543655@qq.com>
2024-04-21 16:30:44 +08:00
3f5cfb13a6 fix: 构建镜像的名称错误 (#47)
Reviewed-on: PostGuard/Canon#47
2024-04-21 13:03:46 +08:00
0ae3217629 fix: 删除pnpm-lock文件,避免CI错误 (#46)
Reviewed-on: PostGuard/Canon#46
2024-04-21 12:53:20 +08:00
910049f557 feat: 更换了更好看的编辑器 (#45)
Co-authored-by: Ichirinko <1621543655@qq.com>
Reviewed-on: PostGuard/Canon#45
2024-04-21 11:50:23 +08:00
d09460edfe feat: 完善编译器命令行功能 (#43)
Reviewed-on: PostGuard/Canon#43
2024-04-20 22:23:29 +08:00
0fdfef8854 misc: 删除冗余的代码 (#41)
Reviewed-on: PostGuard/Canon#41
2024-04-20 11:48:05 +08:00
Ichirinko
dbbab1c761 feat-visualization (#33)
尽管里面有点粪,但还是生成了漂亮的树,就当给树施肥了
剩下一个小问题:未考虑节点的宽度(因为名称不一样长),但目前未发现对图生成的明显影响

Co-authored-by: jackfiled <xcrenchangjun@outlook.com>
Reviewed-on: PostGuard/Canon#33
Co-authored-by: Ichirinko <1621543655@qq.com>
Co-committed-by: Ichirinko <1621543655@qq.com>
2024-04-19 14:59:45 +08:00
4b6635796c refeat: ILexer接口适配 (#38)
Co-authored-by: Huaps <1183155719@qq.com>
Co-authored-by: duqoo <92306417+duqoo@users.noreply.github.com>
Reviewed-on: PostGuard/Canon#38
2024-04-18 16:34:32 +08:00
d631a28703 test: 针对string的ISourceReader (#37)
Reviewed-on: PostGuard/Canon#37
2024-04-15 18:02:11 +08:00
792c1d44f1 fix: 求解FirstSet中没有考虑空产生式 (#36)
Reviewed-on: PostGuard/Canon#36
2024-04-13 12:37:17 +08:00
67deb0aa2c refact: 将编译中各个阶段接口化 (#35)
Reviewed-on: PostGuard/Canon#35
2024-04-12 19:01:37 +08:00
f1c569ee0e fix: 删除语法中关于单引号的定义 (#34)
Reviewed-on: PostGuard/Canon#34
2024-04-11 22:41:43 +08:00
e773e666ae feat: 模拟头歌评测环境的docker镜像 (#30)
Reviewed-on: PostGuard/Canon#30
2024-04-11 18:07:11 +08:00
1690187c0a feat: 将LR分析表生成到代码中 (#27)
Reviewed-on: PostGuard/Canon#27
2024-04-08 19:46:24 +08:00
5e3ea6303e refact: syntax-node (#23)
重构语法树的部分,使用单独的类来抽象不同的非终结符节点。
**同时**,将`Pascal`语法的定义从测试项目中移动到核心项目中,在项目中只维护一份对于`Pascal`语法的定义。

Reviewed-on: PostGuard/Canon#23
2024-04-07 16:47:28 +08:00
c0a8e25d45 refact: 重构类型和符号表部分 (#25)
Reviewed-on: PostGuard/Canon#25
2024-04-07 16:10:34 +08:00
1a0d3c37db fix: 跳过'{'后的一个字符 (#17)
Reviewed-on: PostGuard/Canon#17
2024-04-04 22:35:16 +08:00
Huaps
c4189fd1b2 lexical-parser (#15)
add: 词法分析器剩下数字、标识符的细节处理以及错误处理

Co-authored-by: duqoo <92306417+duqoo@users.noreply.github.com>
Reviewed-on: PostGuard/Canon#15
Co-authored-by: Huaps <1183155719@qq.com>
Co-committed-by: Huaps <1183155719@qq.com>
2024-04-04 21:25:11 +08:00
Lan_G
ccd1899739 feat: symbol-table & type checker (#14)
Reviewed-on: PostGuard/Canon#14
Co-authored-by: Lan_G <2911328695@qq.com>
Co-committed-by: Lan_G <2911328695@qq.com>
2024-03-16 11:05:38 +08:00
034dd3f9cc feat: integration-test (#13)
添加集成测试,当前只有公开测试集的70个样例。

Reviewed-on: PostGuard/Canon#13
2024-03-15 14:56:41 +08:00
Huaps
fe35288cb5 feat: 词法分析器的基本功能(#12)
Co-authored-by: jackfiled <xcrenchangjun@outlook.com>
Reviewed-on: PostGuard/Canon#12
Co-authored-by: Huaps <1183155719@qq.com>
Co-committed-by: Huaps <1183155719@qq.com>
2024-03-15 12:00:47 +08:00