我正在使用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. Exceldna等效于Java
- 2. 等效于Java的
- 3. C#Uri.EscapeDatastring()等效于Java
- 4. 等效于Java中的memcmp()?
- 5. Java SHA1等效于C#
- 6. jdeps等效于Java 7
- 7. opencv cvCaptureFromFile(“url”)等效于java?
- 8. Worklow Foundation(.NET)等效于Python,Java,C++吗?
- 9. 等效于Java的JFileChooser.FILES_AND_DIRECTORIES的WinForms
- 10. Java RMI InitialContext:等效于LocateRegistry.createRegistry(int)?
- 11. 用于Java Streams API的Javascript等效
- 12. BufferedReader.readNext()用于Java中ObjectInputStream的等效
- 13. 等效于JavaScript的Java的的getBytes的
- 14. 等效于Java ScheduledExecutorService的C语言库?
- 15. 等效于来自PHP中的Java
- 16. 用于Java的GNU Readline等效项
- 17. 用于Android的AJAX等效Java
- 18. 甲骨文等效于java的System.nanoTime()
- 19. 目标C等效于intern()in java
- 20. Python中的“事件”等效于Java?
- 21. JavaScript等效于Java的URLEncoder.encode(“String”,“UTF-8”)
- 22. Swift等效于Java中的Enum.ordinal()
- 23. 等效于WM_MOVE
- 24. php checkdnsrr java等效
- 25. Java`json_decode`(PHP)等效
- 26. Tiff等效于UIImage.AsPNG()
- 27. IsNan等效于C
- 28. ifdef等效于TCL
- 29. fgets等效于C++
- 30. // @ sourceURL等效于CSS
难度: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