一个基于Javacc ,使用Java编写的TinyC编译器前端。
实现词法分析,语法分析,语义分析,中间代码生成功能
- 项目需要Java环境,查看本机是否存在Java环境
java -version
- 若选择运行exe前请确保同目录下有jre运行环境或本机有java环境
- 如若不能运行exe,请在有java环境下运行
java -jar MyCompiler.jar
- 左方是源码区,可以直接在上面编辑源码,也点击打开文件可以选择打开源码,编辑后可以另存为
- 点击词法分析,切换至选项卡,在右侧会显示对应词汇表
- 点击另存为语法可以把语法另存为文件
- 语义检查,当不存在语义错误时,提示不存在错误
- 存在语义错误时,例如使用未定义的变量,函数参数不一致时,会提示具体错误,也无法生成中间代码
- 通过词法分析、语法分析、语义分析后,点击中间代码生成,切换至选项卡
- 中间代码能另存为文件保存
- 生成的中间代码能被修改后的TM虚拟机执行(这里演示的是回文数)
- 函数如果缺少return语句,不能正确回调到主调函数,个人认为这是文法的设计缺陷,暂时未找到除了修改文法之外的修改方法。
- 没有处理好编码问题,注释不能有中文
https://www.cnblogs.com/suhaha/p/11733716.html
https://www.cnblogs.com/suhaha/p/11733709.html
https://www.cnblogs.com/suhaha/p/11733699.html