2016-10-03 63 views
0

我想用antlr4包在Python中爲Java構建抽象語法樹。 我已經從 下載Java語法https://github.com/antlr/grammars-v4/blob/master/java8/Java8.g4ANTLR錯誤134

我想使用該語法文件爲Python2生成JavaLexer和JavaParser。

當我說

"$ antlr4 -Dlanguage=Python2 Java8.g4" 

錯誤occured.That錯誤是

錯誤(134):Java8.g4:73:0:與所生成的代碼符號類型衝突在目標語言或運行時間

注意:我已用Character.isJavaIdentifierPart()刪除了部件。因爲這些行不適合python,我只會使用ASCII。

回答

2

Python內置了函數type。 Antlr4打印錯誤的語法線73:

type 
    : primitiveType 
    | referenceType 
    ; 

貌似有一個名稱衝突,你必須重新命名type到別人在你的語法東西。

+0

謝謝。這樣可行。 ** type **關鍵字在語法中使用一次,並用typeType替換類型。 – Alperen