繁体   English   中英

Antlr中Java语法的Python目标

[英]Python target for Java grammar in antlr

我想使用Antlr在Python中运行Lexer for Java

对于Antlr4,我正在使用https://github.com/antlr/grammars-v4/tree/master/java8中的Java8语法。

我正在使用生成解析器

java -jar antlr-4.5.2-complete.jar -Dlanguage=Python2 ./Java8.g4

现在,如果我查看生成的Java8Lexer.py,它包含

return Character.isJavaIdentifierStart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1)))

我认为类型转换不是有效的python,在使用它时会引发语法错误。

我在使用antlr3 java 1.6语法使用antlr3时遇到了类似的问题。 它产生了

boolean isSomething = something

这也是无效的Python。

我想念什么吗? 有什么方法可以使用antlr在Python中使用Java Lexer吗?

只需从Java8语法中删除以Character.isJavaIdentifierStart开头的字符串即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM