Antlr 使用ParseTreeWalker中止树遍历

Antlr 使用ParseTreeWalker中止树遍历,antlr,antlr4,Antlr,Antlr4,我的任务是为编写一个“Calc”-编译器,将Calc源文件转换为TAM程序集 Calc语言由变量声明(仅支持整数)组成 任务 someID = 1+5-8+someID; 和打印功能 print(someID-10) 目前,我正在使用ANTLR4s树行走工具,使用侦听器将Calc转换为TAM部件(及其工作状态)。 现在,如果出现上下文错误(例如使用未定义的变量),我想中止树遍历 我该怎么做呢?你可以扔一个。当出现语法错误时,in ANTLR 4会通过抛出一个从CancellationExce

我的任务是为编写一个“Calc”-编译器,将Calc源文件转换为TAM程序集

Calc语言由变量声明(仅支持整数)组成

任务

someID = 1+5-8+someID;
和打印功能

print(someID-10)
目前,我正在使用ANTLR4s树行走工具,使用侦听器将Calc转换为TAM部件(及其工作状态)。 现在,如果出现上下文错误(例如使用未定义的变量),我想中止树遍历

我该怎么做呢?

你可以扔一个。当出现语法错误时,in ANTLR 4会通过抛出一个从
CancellationException
派生的来中止解析

print(someID-10)