Java 令牌无法识别'&';和单引号

Java 令牌无法识别'&';和单引号,java,antlr,antlr4,antlr4cs,Java,Antlr,Antlr4,Antlr4cs,我试着把括号里的所有东西都匹配起来。我遇到一个错误,它无法识别'&'和'''。但是,在IntelliJ antlr预览中,它工作正常。请帮我纠正这个错误。非常感谢你 第1行:0处的令牌识别错误:“&” 第3行:23处的令牌识别错误:“&” 第3行:30处的令牌识别错误:“” //测试用例 & "" {“模式”:“\\:(\\s+”[&\\\“\\']”“}用ANTLR 4.9测试 守则: 字符串源= “&\n”+ “\”\“\n”+ “{\'pattern\':\”:(\\\\s+[&\\\\

我试着把括号里的所有东西都匹配起来。我遇到一个错误,它无法识别'&'和'''。但是,在IntelliJ antlr预览中,它工作正常。请帮我纠正这个错误。非常感谢你

第1行:0处的令牌识别错误:“&”

第3行:23处的令牌识别错误:“&”

第3行:30处的令牌识别错误:“”

//测试用例
&
""
{“模式”:“\\:(\\s+”[&\\\“\\']”“}
用ANTLR 4.9测试

守则:

字符串源=
“&\n”+
“\”\“\n”+
“{\'pattern\':\”:(\\\\s+[&\\\\\\'']\”}”;
gLexer lexer=新的gLexer(CharStreams.fromString(source));
gParser parser=newgparser(newcommontokenstream(lexer));
ParseTree root=parser.start();
System.out.println(root.toString树(解析器));
印刷品:

(start (root (expr (atom &))) (root (expr (atom \n))) (root (expr (atom ""))) (root (expr (atom \n))) (root (expr (atom {))) (root (expr (atom "))) (root (expr (atom pattern))) (root (expr (atom "))) (root (expr (atom :))) (root (expr (atom  ))) (root (expr (atom "))) (root (expr (atom \\:))) (root (expr (list ( (expr (atom \\s+)) )))) (root (expr (atom [))) (root (expr (atom &))) (root (expr (atom \\\))) (root (expr (atom "))) (root (expr (atom \\))) (root (expr (atom '))) (root (expr (atom ]))) (root (expr (atom "))) (root (expr (atom }))) <EOF>)
(start(root(expr(atom&))(root(expr(atom)))(root(expr(atom)”))(root(expr(atom)))(root(expr(atom{))(root(expr(atom)))(root(expr(atom模式))(root(expr(atom)))(root(expr(atom:))(root(expr(atom))(root(expr(atom)))(root(expr(atom))))(root(expr(atom)))(root(expr(atom))))(root(expr(atom\ \ \ \))(root(expr(atom\ \))))(root(expr(list+)))(expr(atom\)))))))(root(词根(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)(词根)
没有任何错误消息


如果出现错误mssages,很可能是因为您没有根据(新)语法重新生成词法和语法分析器类。每次更新语法时,您都必须重新生成词法和语法分析器类。

我编辑了我的问题。您运行它吗?它在antlr预览中工作。您的jdk和antlr版本是什么?