Tôi đang cố gắng tìm hiểu cách sử dụng Parsec
để viết trình phân tích cú pháp Delphi, nhưng tôi gặp khó khăn khi xác định LanguageDef.Cách xác định nhiều loại khối chú thích trong Parsec
Trong Delphi, có hai loại khối nhận xét, (* comments *)
và { comments }
. Nhưng các loại bình luậnBắt đầu & nhận xétEnd của LanguageDef là String, không phải [String], vì vậy tôi chỉ có thể đặt trong một hoặc khác.
Vì vậy, tôi đã cố gắng tạo trình phân tích cú pháp không gian trắng của riêng mình, nhưng tôi không chắc chắn tôi có thể chuyển nó vào makeTokenParser
hay không.
Mọi trợ giúp sẽ được đánh giá cao.
Cảm ơn
John và Chris đã giúp tôi hiểu và nhận được xung quanh vấn đề này, nhưng các giải pháp liên quan đến việc thay thế một số lượng lớn các phân tích cú pháp mà makeTokenParser
cung cấp, vì vậy nó không chính xác mong muốn.
Tôi sẽ đăng lại nếu tôi có thể tìm được giải pháp tốt hơn.
Tôi biết điều này không trả lời câu hỏi của bạn, nhưng Mike Lischke thực hiện một phân tích cú pháp nguồn delphi mở và lexer, được gọi là [DCC] (http://www.soft-gems.net/index.php?option=com_content&task=view&id=25&Itemid=33). –