2009-06-16 36 views
11

Tôi đang tìm cách hỗ trợ Flex/Bison (hoặc Lex/Yacc, et al.) Trong PHP. Cụ thể, tôi đang triển khai trình phân tích cú pháp truy vấn boolean trong một giao diện người dùng web và muốn giữ tất cả các hoạt động bên trong PHP (trái ngược với việc gọi một trình phân tích cú pháp C hoặc chuyển các thứ sang Python, v.v.).Chức năng giống như Flex/Bison trong PHP

Trả lời

11

LIME Parser Generator cho PHP:

Hoàn LALR (1) phân tích cú pháp máy phát điện và động cơ (như BISON hoặc YACC) nhưng nó tất cả được thực hiện trong PHP, và đầu vào ngữ pháp là dễ dàng hơn và dễ bảo trì hơn . Viết hành động của bạn bằng PHP. Tạo mã sản phẩm PHP . Thúc đẩy trình phân tích cú pháp của bạn với PHP. Muốn tạo một ngôn ngữ?


update:

Kể từ khi tôi đã viết ở trên, tôi thấy rằng có một số công cụ khác để tạo phân tích cú pháp, công bố ở đây:

http://wezfurlong.org/blog/2006/nov/parser-and-lexer-generators-for-php/

Không chắc nếu đây là những bất kỳ tốt hơn được duy trì vào năm 2014, nhưng tôi biết Wez Furlong, ông là nhà phát triển ban đầu của PDO, và ông là một nhà phát triển rất tốt.

+1

Bạn đã từng sử dụng cái này chưa? Nó đã không được cập nhật trong gần hai năm nay, và nó không có lỗi được đệ trình, mở hay đóng, vì vậy tôi do dự để tin tưởng rằng nó đã được thử nghiệm hoặc thực sự được sử dụng, bao giờ hết. – Wang

+1

Không, tôi chưa bao giờ cần phải triển khai trình phân tích cú pháp đầy đủ trong PHP. Thực tế là nó bị bỏ rơi, và không có công cụ nào khác tồn tại, có thể là một đầu mối rằng PHP không phải là công cụ thích hợp để phân tích công việc. –

+0

Có người dường như đang cố gắng cập nhật nó: https://github.com/rvanvelzen/lime (chưa được xúc động trong 2 năm, nhưng đó là một sự khởi đầu!) – Andrea

Các vấn đề liên quan