开源 编译原理 pl/0 编译器 (rust 实现)

开源一个本人用 rust 实现的 pl/0 编译器 (编译原理课设)

GitHub Repository: GitHub - DrEden33773/pl_0: a simple pl/0 compiler implementation in rust.

大概是第一批拿 rust 做编译原理课设的, 也算是小马过河

编译器的大概架构是 `词法分析器-[Tokens]-语法分析器-[AST]-语义分析+代码生成器-[PCode 三地址元组]-虚拟机/解释器` , 相比目前大部分的编译原理课设, 多了 AST 这个中介, 把语法分析和语义分析拆开, 让每个部分的实现都变得更加清晰简洁

另外, 本人实现的这个编译器, 具有相当完善的 `错误同步` 机制, 避免了相当一部分课设 `遇到一个编译错误, 报错后就停止执行` 的问题

默认实现中, `词法分析/语法分析/语义分析/代码生成/错误处理/解释执行` 每个阶段都没有使用第三方自动化工具 (例如 pest / llvm) , 主打一个全过程参与

贴几张图:

(求 Star)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值