使用antlr4(4.11.1)代码生成工具生成csharp代码,该工具在语法c#文件中生成一行java(有大量c#代码行)
throw new RuntimeException("UNEXPECTED_CHAR=" + (_localctx._UNEXPECTED_CHAR!=null?_localctx._UNEXPECTED_CHAR.Text:null));
'这会混淆。net编译器。
它很容易删除,但它是怎么来的?
使用
生成工具从grammar/lexer生成csharp代码antlr4 -Dlanguage=CSharp ./grammar/sql/sqlGrammar.g4 ./grammar/sql/sql_lexer.g4 -no-visitor
并期望生成有效的c#。
代码throw new RuntimeException("UNEXPECTED_CHAR=" + (_localctx._UNEXPECTED_CHAR!=null?_localctx._UNEXPECTED_CHAR.Text:null));
将在sqlGrammar.g4
或sql_lexer.g4
中。