我的任务是为Triangle Abstract Machine编写一个“Calc”编译器,它将 Calc 源文件转换为 TAM 程序集。
Calc 语言由变量声明(仅支持整数)组成,
var someID : integer;
作业
someID = 1+5-8+someID;
和打印功能。
print(someID-10)
目前,我正在使用 ANTLR4s 树行走设施,通过使用侦听器将 Calc 转换为 TAM 程序集(及其工作)。现在我想中止树遍历,如果发生上下文错误(例如使用未定义的变量)。
我怎样才能做到这一点?