Tôi biết câu hỏi Lex and Yacc in PHP đã được hỏi trước nhưng cách đây 1 năm.Máy phát PHP và trình phân tích cú pháp PHP?
Hiện có trình tạo trình phân tích cú pháp PHP trưởng thành mới nào không? Tìm kiếm của tôi đã đưa tôi đến những điều sau đây, bạn nghĩ gì về họ, bạn nghĩ gì về họ?
- code.google.com/p/antlrphpruntime/: Phiên bản PHP ANTLR nhưng có vẻ như là phiên bản beta và tôi nghĩ có rất nhiều việc phải làm. Ưu điểm là tôi có thể viết ngữ pháp trong công cụ ANTLR Works.
- pear.php.net/package/PHP_ParserGenerator/docs/0.1.7/: Tôi đã thử nhưng có vẻ rất phức tạp, được sử dụng với PHP_LexerGenerator.
- sourceforge.net/projects/lime-php/: Tôi không cố gắng
- bitbucket.org/wez/lemon-php/downloads: Tôi không cố gắng
- bitbucket.org/wez/jlexphp/ tải: tôi không cố gắng
[trả lời:] Ai đó đã cho tôi liên kết tuyệt vời này để một câu hỏi cũ: Is there an alternative for flex/bison that is usable on 8-bit embedded systems?
bài viết này cho phép tôi hiểu hầu hết các mã ANTLR tạo ra. Vì vậy, sự lựa chọn của tôi vẫn giữ nguyên: ANTLR mặc dù dự án dường như đã chết. Tôi hy vọng tôi sẽ không phải thay đổi mã như tôi muốn giữ cho nó có thể duy trì được.
tôi sẽ chờ đợi một chút để xem nếu có một câu trả lời nếu không tôi sẽ chấp nhận lời khuyên của bạn để tiếp tục sử dụng ANTLR
Nếu bạn có ngữ pháp được phân bổ cho PHP, hãy thử CoCo/R (ssw.jku.at/coco/). Tôi đang sử dụng nó ngay bây giờ cho một dự án tại nơi làm việc và nó hoạt động khá tốt. – xbonez
Tôi sẽ không sử dụng code.google.com/p/antlrphpruntime: nó (AFAIK) không chủ động được phát triển, và nó chỉ hỗ trợ tối thiểu những gì mà hầu hết các mục tiêu ANTLR hỗ trợ khác. Đó là lý do tại sao nó không được bao gồm theo mặc định trong công cụ ANTLR. Cũng vậy với PHP_ParserGenerator: Tôi sẽ không đi cho nó (không nhiều tài liệu, và đó là một dự án bị bỏ rơi). 3 công cụ khác không quen thuộc với tôi: Tôi khuyên bạn nên thử. –
@xbonez: Tôi không chắc chắn 100% nhưng tôi không nghĩ rằng bạn hiểu nhu cầu của tôi. Tôi cần phải tạo một trình phân tích cú pháp được viết bằng PHP để phân tích một ngữ pháp cụ thể (không phân tích cú pháp ngôn ngữ php). CoCo/R có vẻ đẹp nhưng tôi không thể tìm thấy một máy phát php. –