2008-09-17 50 views
18

Tôi thấy mình bị lôi cuốn vào hình thức ngữ pháp biểu thức phân tích cú pháp để mô tả ngôn ngữ cụ thể của miền, nhưng cho đến nay mã thực hiện tôi đã tìm thấy đã được viết bằng các ngôn ngữ như Java và Haskell không thân thiện với máy chủ web trong môi trường lưu trữ được chia sẻ tổ chức của tôi phải sống với.Có thư viện ngữ pháp phân tích cú pháp (PEG) nào cho Javascript hoặc PHP không?

Có ai biết về bất kỳ thư viện PEG hoặc trình tạo phân tích cú pháp PackRat nào cho Javascript hoặc PHP không? Tất nhiên các trình tạo mã trong bất kỳ ngôn ngữ nào có thể tạo ra mã nguồn Javascript hoặc PHP sẽ thực hiện thủ thuật.

Trả lời

-3

Bạn đã nhìn ANTLR? Nó tạo mã lexer và phân tích cú pháp, xử lý các cây cú pháp trừu tượng, cho phép bạn chèn mã ngữ pháp được chèn vào mã lexer/parser và sẵn có cho nhiều ngôn ngữ!

+0

ANTLR thực hiện rất nhiều việc nhưng không thực hiện PEG. – Allen

0

xem https://github.com/leblancmeneses/NPEG có thể dễ dàng được chuyển đổi thành php. Cây phân tích cú pháp được tạo bằng các hàm ẩn danh.

+0

Dự án đã được chuyển đến https://github.com/leblancmeneses/NPEG –

1

Ngoài ra còn có Kouprey cho JavaScript, một trình tạo/thư viện PEG rất dễ sử dụng.

17

Gần đây, tôi đã viết PEG.js, trình tạo trình phân tích cú pháp dựa trên PEG cho JavaScript. Nó có thể được sử dụng từ một dòng lệnh hoặc bạn có thể thử nó từ trình duyệt của bạn.

2

Language.js:

Language.js là một mã nguồn mở thử nghiệm mới phân tích cú pháp dựa trên PEG (Phân tích ngữ pháp phân tích cú pháp), với sự bổ sung đặc biệt của toán tử "nghịch ngợm HOẶC" để xử lý các lỗi theo một cách mới độc đáo. Nó sử dụng tính năng ghi nhớ để đạt được tốc độ phân tích cú pháp thời gian tuyến tính

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