Tôi đang tìm cách triển khai trình phân tích cú pháp mã nguồn Java được viết bằng ngôn ngữ JavaScript. Bạn có biết gì không?Trình phân tích cú pháp Java được viết bằng JavaScript
Trả lời
Có một cái nhìn tại ANTLR có thể có Javascript như một mục tiêu, với Java 1.5 ngữ pháp tại http://www.antlr.org/grammar/1152141644268/Java.g
Chỉnh sửa: liên kết ngừng làm việc - thử https://github.com/antlr/grammars-v4/blob/master/java/Java.g4 :)
Hm ... Ý tưởng hay! Cảm ơn, Chris.Tuy nhiên, tôi không chắc chắn rằng hiệu suất của trình phân tích cú pháp như vậy sẽ đủ để phân tích cú pháp một lượng lớn mã nguồn. –
ok. Đây không phải là giải pháp mà tôi mong đợi, nhưng hiện tại nó chỉ là giải pháp giải quyết vấn đề này. –
@Eliah: "... không chắc ... số lượng lớn mã nguồn" ANTLR tạo ra các trình phân tích cú pháp khá hiệu quả nói chung. (Cá nhân của tôi cá cược sẽ được cho nó, chứ không phải là chống lại nó.) Tôi nghi ngờ cách duy nhất để thực sự tìm ra là sản xuất như một phân tích cú pháp và thử nó. Và nếu bạn đang quan tâm, tại sao không làm điều này bằng cách sử dụng Java hoặc C + +? –
Thử công cụ Rhino?
OP đang tìm cách khác. –
Tê giác giải quyết vấn đề ngược lại: nó phân tích cú pháp JavaScript trong môi trường Java. –
Tôi không biết của một phân tích cú pháp Java cho mỗi gia nhập, nhưng đây là một số máy phát điện phân tích cú pháp cho Javascript:
- http://jscc.jmksf.com/
- http://code.google.com/p/cruiser/wiki/Parse
- http://pegjs.majda.cz/
- http://zaach.github.com/jison/
- và nhiều hơn được liệt kê here bao gồm cả PGS được viết bằng ngôn ngữ và Javascript mục tiêu ...
Nếu một trong số này sẵn sàng cho thời gian chính, bạn có thể dịch ngữ pháp cho Java thành biểu mẫu cần thiết và sau đó sử dụng PGS để tạo trình phân tích cú pháp Java trong Javascript.
Tất nhiên, điều đó sẽ chỉ cung cấp cho bạn trình phân tích cú pháp. Nếu bạn muốn làm phân tích kiểu (như bình luận của bạn dường như đang nói), đó không phải là những gì một trình phân tích cú pháp làm.
Cảm ơn bạn đã trả lời, Stephen. Tôi đã làm việc với một số trình tạo trình phân tích cú pháp này. Tôi nghĩ hiệu suất của nó không đủ tốt để phân tích cú pháp một lượng lớn mã với cú pháp C++ giống như Java, không may. –
@Eliah - nó có vẻ phản trực giác, nhưng các trình phân tích cú pháp được tạo ra có khuynh hướng nhanh hơn các trình phân tích cú pháp viết tay, đặc biệt nếu PGS trưởng thành. –
Tôi nhận thấy rằng ANTLR cũng sẽ tạo các trình phân tích cú pháp trong Javascript. –
Đây là Java 1.7 phân tích cú pháp http://mazko.github.io/jsjavaparser/ sử dụng PEG ngữ pháp của Roman R Redziejowski http://www.romanredz.se/Mouse/Java.1.7.peg
- 1. Trình phân tích cú pháp SSI được viết bằng PHP?
- 2. Có trình phân tích cú pháp JSDoc nguồn mở nào được viết bằng Javascript không?
- 3. Trình phân tích cú pháp email Java?
- 4. Kết hợp phân tích cú pháp phân tích cú pháp, phân tích cú pháp và phân tích cú pháp rừng
- 5. Có trình phân tích cú pháp GEDCOM được viết bằng Python không?
- 6. Trình phân tích cú pháp JavaScript trong Python
- 7. Trình phân tích cú pháp JavaScript cho DOM
- 8. Phân tích cú pháp Javascript bằng mã Ruby
- 9. Trình tạo trình phân tích cú pháp và trình phân tích cú pháp cho Common Lisp
- 10. Chuỗi JavaScript phân tích cú pháp trong Java
- 11. Phân tích cú pháp tài liệu RTF bằng Java/JavaCC
- 12. Trình phân tích cú pháp Wiki nào?
- 13. Phân tích cú pháp ID Vimeo bằng JavaScript?
- 14. Trình phân tích cú pháp phân tích cú pháp Haskell để gặp phải [...]
- 15. Thư viện trình phân tích cú pháp toán học Javascript
- 16. Trình phân tích cú pháp Markdown trong Javascript
- 17. Phân tích html với trình phân tích cú pháp SAX
- 18. Trình phân tích cú pháp Java Java Jsoup: Thực thi các sự kiện javascript
- 19. Trình phân tích cú pháp địa chỉ bưu điện Java
- 20. Trình phân tích cú pháp SVG Python
- 21. Viết phân tích cú pháp đệ quy với pyparsing
- 22. Các phương pháp hay nhất để viết trình phân tích cú pháp ngôn ngữ lập trình
- 23. Cần trình phân tích cú pháp C++
- 24. Sự khác biệt giữa trình phân tích cú pháp SAX XML, Kéo trình phân tích cú pháp & Trình phân tích cú pháp DOM trong android
- 25. Chọn trình phân tích cú pháp Haskell
- 26. Trình phân tích và phân tích cú pháp JavaScript trong C# .NET 4.5
- 27. Phân tích cú pháp xml bằng powershell
- 28. Trình phân tích cú pháp HTML
- 29. Tại sao không thể phân tích cú pháp C++ bằng trình phân tích cú pháp LR (1)?
- 30. Phân tích cú pháp XML bằng Python
Vì mục đích gì? Giải thích mã và chạy nó? Colorize nó trong HTML? Ánh xạ nó vào một đối tượng JSON? – Jeff
Chính xác thì bạn đang cố gắng làm gì? –
@ Jeff Trong kết quả tôi muốn có một số loại cây cú pháp trừu tượng. –