我正在尋找用JavaScript語言編寫的Java源代碼解析器的實現。你知道任何?用JavaScript編寫的Java解析器
回答
看一看ANTLR可以了Javascript爲目標,與Java 1.5的語法在http://www.antlr.org/grammar/1152141644268/Java.g
編輯:鏈接停止工作 - 嘗試https://github.com/antlr/grammars-v4/blob/master/java/Java.g4 :)
嗯......好主意!謝謝你,克里斯。但是,我不確定這種解析器的性能足以解析大量的源代碼。 – 2011-05-13 15:38:28
好的。這不是我所期望的解決方案,但目前它只是解決這個問題的解決方案。 – 2011-05-13 16:47:39
@Eliah:「......不確定......大量的源代碼」ANTLR總體上產生了非常高效的解析器。 (我個人的選擇是爲了它,而不是反對它。)我懷疑唯一能找到的方法是生成這樣一個解析器並嘗試它。如果你擔心,爲什麼不使用Java或C++來做到這一點? – 2015-09-08 08:19:05
試試Rhino引擎?
OP正在尋找其他方法。 – 2011-05-13 15:01:01
Rhino解決了相反的問題:它在Java環境中解析JavaScript。 – 2011-05-13 15:11:44
我不知道一個Java解析器本身的,但這裏有一些Java腳本解析器生成:
- http://jscc.jmksf.com/
- http://code.google.com/p/cruiser/wiki/Parse
- http://pegjs.majda.cz/
- http://zaach.github.com/jison/
- 和更多的列表here包括PGS的寫在其他語言和目標Javascript ...
如果其中一個準備黃金時間,您應該能夠將Java語法翻譯成必需的形式,然後使用PGS生成Java解析器的JavaScript。
當然,這隻會給你一個解析器。如果你想做類型分析(正如你的評論似乎在說),那不是解析器所做的。
謝謝您的回覆,斯蒂芬。我正在使用其中一些解析器生成器。我認爲它的性能不足以用C++語法(比如Java)解析大量的代碼,不幸的是。 – 2011-05-13 15:25:58
@Eliah - 這看起來可能與直覺相反,但生成的解析器往往比手寫解析器更快,特別是在PGS成熟的情況下。 – 2011-05-13 15:35:11
我注意到ANTLR也會在Javascript中生成解析器。 – 2011-05-13 16:10:07
下面是一個使用Java的PEG解析器1.7 http://mazko.github.io/jsjavaparser/ grammar by Roman R Redziejowski http://www.romanredz.se/Mouse/Java.1.7.peg
- 1. 用JavaScript編寫的JavaScript解析器
- 2. 用JAVA編寫的COBOL解析器
- 3. 用Wisent編寫解析器
- 4. 爲javascript代碼編寫解析器
- 5. 如何在java中編寫JavaScript解析器
- 6. 用java編寫的java解釋器
- 7. 編寫序言解析器
- 8. 試圖編寫解析器
- 9. 用PHP編寫的SSI解析器?
- 10. 用Prolog編寫的RegEx解析器
- 11. 使用Javascript編寫解析器的教程
- 12. 是否有任何用Javascript編寫的開源JSDoc解析器?
- 13. 用javascript編寫的搜索表達式解析器
- 14. 是否有任何用Java編寫的ADA解析器?
- 15. 在Haskell中使用解析器組合器庫編寫的分析解析器
- 16. 用Java解析JavaScript
- 17. 用pyparsing編寫遞歸解析器
- 18. 編寫通用XML解析器
- 19. 使用Text.ParserCombinators編寫解析器
- 20. 技術用於在JavaScript編寫XML解析器
- 21. 解析JavaScript的使用Java
- 22. PL/SQL源代碼解析器(用Java編寫)
- 23. 如何使用opencsv編寫java csv解析器
- 24. 使用java解析器編寫else if語句
- 25. 爲GUI調試器編寫解析器
- 26. 如何編寫java解釋器/詞法分析器
- 27. 編寫我自己的float解析器
- 28. 編寫一個簡單的解析器
- 29. 爲haskell中的人編寫解析器
- 30. 如何寫解析器解析字符串中的Java
爲了什麼目的?解釋代碼並運行它?用HTML着色它?將其映射到JSON對象? – Jeff 2011-05-13 14:57:54
你究竟想要做什麼? – 2011-05-13 14:58:00
@Jeff在結果中,我希望有某種抽象語法樹。 – 2011-05-13 15:03:04