如果您看到我的其他問題,您現在可以更好地實現我的目標。看看:https://stackoverflow.com/questions/19510039/from-regex-to-parser-generators。javacc測試Simple1.jj
由於我想成爲一個好孩子,我正在閱讀自述文件(請參閱https://java.net/projects/javacc/sources/svn/show/tags/release_60/examples/SimpleExamples?rev=555)。
的語法輸入文件運行JavaCC的生成一串實現分析器和詞法分析器(或令牌
經理)Java文件:的JavaCC Simple1.jj
現在編譯生成的Java程序:
javac * .java
解析器現在可以使用了。要運行分析程序,類型:
的Java Simple1
我嘗試:
D:\tests\javacc\simple1>javacc ..\Simple1.jj
Java Compiler Compiler Version 6.0_beta (Parser Generator)
(type "javacc" with no arguments for help)
Reading from file ..\Simple1.jj . . .
File "TokenMgrError.java" does not exist. Will create one.
File "ParseException.java" does not exist. Will create one.
File "Token.java" does not exist. Will create one.
File "SimpleCharStream.java" does not exist. Will create one.
Parser generated successfully.
D:\tests\javacc\simple1>javac *.java
SimpleCharStream.java:474: error: non-static variable this cannot be referenced from a static context
static void setTrackLineColumn(boolean trackLineColumn) { this.trackLineColumn = trackLineColumn; }
^
1 error
我的Java版本:
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) Client VM (build 24.45-b08, mixed mode, sharing)
我敢肯定,「這些「傢伙知道他們在做什麼,我確定我做錯了什麼,但是什麼?在使用javacc的第一個測試中獲得類似的簡單錯誤?
我該如何解決這個問題並繼續我的演講?
感謝您的幫助(您似乎是這個工具的開發者!太棒了!)。任何我嘗試5.0,再次感謝! :) – user2897090
經過進一步調查後,我發現這是JavaCC 6.0中的一個已知錯誤。我真的建議不要使用6.0。下一個版本無疑會修復這個和其他已知的錯誤。 –