我需要在Java中快速構建一個非常簡化的html-like標記語言版本的解析器。在python中,我會使用pyparsing庫來做到這一點。 Java有沒有類似的東西?請不要暗示圖書館已經在那裏進行HTML解析,我的應用程序是一個學校作業,它將演示如何使用訪問者模式來漫步對象樹和序列化文本,所以我在這裏沒有用現實世界的術語來思考。基本上我需要的是標籤,屬性和文本節點。是否有類似於Java中的pyparsing的庫?
7
A
回答
7
另一個好解析器發生器是ANTLR ,那可能就是你要找的東西。
1
在java中有很多字符串處理的選擇。 也許非常基本的java.util.Scanner
和java.util.StringTokenizer
課程對你有幫助嗎?
另一個不錯的選擇也許是the org.apache.commons.lang.text
庫。 http://commons.apache.org/lang/apidocs/org/apache/commons/lang/text/package-summary.html
3
可能會過度使用,但javacc是一款出色的工業級解析器生成器。我多次使用過這個程序/庫,它的可靠性和值得學習,特別是如果你要使用語言和編譯器。下面是程序的從網站上面列出的描述:
的Java編譯器編譯[TM](JavaCC的[TM])可以使用Java(TM)應用最流行的解析器生成。解析器生成器是一種讀取語法規範並將其轉換爲可識別語法匹配的Java程序的工具。除了解析器發電機本身,JavaCC的提供與解析器的生成其它的標準功能,如樹建築(通過附帶的JavaCC一個名爲JJTree的工具),行動,調試等
3
2
我喜歡JParsec(我剛剛發現由於託斯滕),因爲它不會生成代碼.. .--)也許效率較低,但對於小任務來說足夠了。
我找到一個相似的庫,JTopas。
有解析器(發電機與否)在Java Source一個良好的名單。
相關問題
- 1. Flex是否有類似於jQuery的庫?
- 2. 是否有類似於Java的lxml或nokogiri的庫?
- 3. 是否有類似於<stdio.h>的java庫/包?
- 4. asp.net中是否有類似java的servlet
- 5. 是否有.NET WPF中的控件類似於Java的javax.swing.Box Strut?
- 6. 在Python中是否有類似於Java IllegalStateException的錯誤?
- 7. 在Java中是否有類似於WebClient.DownloadString的東西?
- 8. 在.NET中是否有類似於Orekit的庫?
- 9. Scala/java是否有類似Python的StringIO?
- 10. 是否有類似rubygems.org的scala庫
- 11. Java中是否有RedBeanPHP ORM類似物?
- 12. 是否有類似於SMS的擴展?
- 13. 是否有類似於OnOrientationChanged的方法?
- 14. 是否有類似於Java/C++的for循環的Ruby版本?
- 15. Java中是否有類似android中的android.os.Handler的類?
- 16. 是否有類似於mysql的sqlsrv庫的函數mysql_real_escape_string?
- 17. 是否有類似於Android的Three20 Project的庫?
- 18. 是否有與C++類似的功能Java庫?
- 19. 是否有類似於appfuse的java web應用程序模板?
- 20. java世界是否有類似於芹菜的任務隊列?
- 21. 是否有類似於微軟CHESS的Java工具?
- 22. .NET是否有類似於Java的垃圾回收日誌?
- 23. 是否有類似於GroovyConsole的Java控制檯/編輯器?
- 24. 是否有一個類似於GNU readline的.Net庫?
- 25. 是否有類似於apache httpcomponents的C/C++庫?
- 26. 是否有一個簡單的Java圖像處理庫,類似於ImageMagick?
- 27. 是否有類似於mysql中的oracle rowtype的類型定義
- 28. slf4j中是否有類似org.apache.log4j.EnhancedPatternLayout的類?
- 29. 用於Java的類似readline的庫
- 30. 是否有類似XML豆在JAVA
JavaCC非常棒。另請參閱Tom Copeland(Centennial Books)的書 – 2012-02-22 18:01:50