Tôi đang làm việc trên cùng một điều.
Tôi nên có một vài thư viện trình phân tích cú pháp có thể mở rộng mà mọi người có thể sử dụng sớm. Tôi đã thực hiện lexer và tôi đang bận rộn với việc phân tích cú pháp.
Thư viện đầu tiên được viết bằng Ruby và tôi dự định dịch nó sang Java khi hoàn thành. Tôi đã thử một phiên bản Java đầu tiên, nhưng tôi đã bị sa lầy trong các chi tiết ngu ngốc vì vậy tôi chuyển sang Ruby để ngôn ngữ sẽ không nhận được theo cách của tôi trong khi tôi vẫn còn suy nghĩ.
Tôi hài lòng với cách tiếp cận của mình cho phép chuyển đổi giữa nhiều lexers và nhiều loại biểu thức với toán tử distfix. Các lexers chỉ là một chuỗi các biểu thức regex.
Việc phân tích cú pháp là ưu tiên toán tử đơn giản bên ngoài các phần distfix của sản phẩm và LL (1) bên trong. Chúng tôi sẽ xem nếu tôi thấy tôi muốn bất cứ điều gì mạnh mẽ hơn.
Nguồn
2012-10-04 03:20:55
Bạn có nghĩa là ngôn ngữ mà bạn chỉ có thể xác định cấu trúc điều khiển mới khi đang di chuyển? Đó là loại kỳ lạ. Bạn có một ví dụ về các loại điều bạn muốn làm mà bạn nghĩ rằng bạn cần loại chức năng này? – Welbog
Lisp có phù hợp với mô tả của bạn không? – Starkey
Vì tất cả các trình biên dịch đều được xây dựng với các công cụ (như Yacc và Lex và Bison) hơn tất cả các ngôn ngữ được biên dịch là "thích nghi" theo định nghĩa này. Câu hỏi này quá mơ hồ để trả lời. –