我正在使用Java編譯器設計項目。詞彙分析完成(使用jflex),我想知道哪種類似yacc的工具最適合做語法分析和原因分析(效率最高,最容易使用等)。Yacc等效於Java
回答
在過去,我已經將ANLTR用於詞法分析器和解析器,而JFlex主頁表示它可以與ANTLR進行互操作。我不會說ANTLR的在線文檔非常棒。我最終投資於'The Definitive ANTLR reference',這對我有很大的幫助。
在我的經驗以及接口,ANTLR是迄今爲止詞法/解析最流行的Java工具。 – 2009-10-28 19:40:43
GNU野牛有一個Java接口,
http://www.gnu.org/software/bison/manual/html_node/Java-Bison-Interface.html
你可以用它去生成Java代碼。
你有什麼經驗呢?它工作正常嗎? – 2009-10-28 20:28:01
另一種選擇是GOLD Parser。
與許多替代方案不同,GOLD解析器從語法生成解析表並將它們放置在二進制,不可執行的文件中。然後,每種受支持的語言都有一個引擎,它讀取二進制表並分析源文件。
我沒有專門使用Java實現,但使用了相當不錯的Delphi結果。
- 1. java等效於nsdate
- 2. 等效於Java的
- 3. 等效於Java的
- 4. #ifdef等效於Java?
- 5. DebugBreak等效於Java?
- 6. arc4random等效於Java?
- 7. doesNotRecognizeSelector等效於Java
- 8. Exceldna等效於Java
- 9. Java SHA1等效於C#
- 10. PHP等效於Java Servlet
- 11. TPL等效於Java/Android
- 12. 等效於Java的C++庫?
- 13. KeyStorage .Net等效於Java?
- 14. Javascript等效於StringEscapeUtils.escape java
- 15. C++等效於Java Collection.frequency?
- 16. Swift等效於Java .toString()
- 17. jdeps等效於Java 7
- 18. C#Uri.EscapeDatastring()等效於Java
- 19. 等效於Java中的memcmp()?
- 20. Java MAX_PATH等效?
- 21. 等效於JavaScript的Java的的getBytes的
- 22. Java中的getBytes()等效於C#
- 23. 用於Java的GNU Readline等效項
- 24. Java RMI InitialContext:等效於LocateRegistry.createRegistry(int)?
- 25. Worklow Foundation(.NET)等效於Python,Java,C++嗎?
- 26. 等效於Java ScheduledExecutorService的C語言庫?
- 27. 甲骨文等效於java的System.nanoTime()
- 28. 對於Java(Android)的GUID等效
- 29. 等效於來自PHP中的Java
- 30. BufferedReader.readNext()用於Java中ObjectInputStream的等效
難度:CUP不再維持,[CUP 2](http://www2.in.tum.de/cup2)爲測試版。它還好嗎? – minopret 2012-12-27 16:20:04
@minopret - 十多年來我一直沒有使用過CUP,但除非有一個重大的未修正的bug,否則即使沒有積極維護也應該可以。但是,除非你需要YACC的行爲,否則我會看ANTLR。 – kdgregory 2012-12-29 23:30:48
我正在研究一個GitHub markdown文件(.md)創建器,該創建器需要使用任何語言編寫的代碼文件併爲其生成.md文件。我在Java中這樣做。這些軟件可以處理*任何*語言或只是Java? – 2017-02-11 00:02:49