簡體   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