在antlr4中跳过代码块

时间:2018-04-30 01:56:06

标签: java antlr antlr4

例如,program:我有一个语法文件如下:

grammar fileName;

program : 'start' statements+ 'end';

statements : print;

print: 'output' STRING;

STRING : ["] ( ~["\r\n\\] | '\\' ~[\r\n] )* ["] | ['] ( ~['\r\n\\] | '\\' ~[\r\n] )* ['];

现在我有一个代码如下:

begin
  output "Hello World"
end

begin
  output "Hello World 2"
end

之后我想检查输出的字符串是否为Hello World 2,跳过它并且不解析'statement'块并继续。

是否可以让antlr4跳过解析侦听器类中的代码块?

PS:我问这个问题所以我可以用if,while,for和foreach语句实现它。比如当if语句返回false时跳过代码块,我只是以这段代码为例。谢谢!

0 个答案:

没有答案