基于JAVA实现的Tiger编译器

本文总结了一个编译器项目的实施情况,包括词法/语法分析、抽象语法树生成、错误处理等功能。特别强调了变量作用域和基本类型的检查,并附带了ANTLR工具的使用心得。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、项目要求及完成情况

  • 正确的词法/语法分析,给出对应的文法文件

  • 输出正确的抽象语法树(testcases中50个测试文件,testcase-result中对应的抽象语法树)

  • 错误处理功能

    • 提示错误类型(词法错误、语法错误、语义错误等)、出错位置等(词法错误,语法错误ANTLR默认行为,部分语义错误:变量作用域及基本类型检查)
    • 错误修复(ANTLR默认行为 single-token insertion and single-token deletion)
  • 发挥想象力,使编译器尽善尽美(实现了变量作用域检查和基本类型检查)

  • Project文档

    • 使用语法(文法类型,有无改动语法、如何改动等),错误处理说明等(对实现的变量作用变量作用域检查和基本类型检查的错误处理代码进行了介绍)
    • 对本项目语法的使用工具的体会(ANTLR简述部分)

点击此处下载文档和源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值