靈活 LL(1) 分析器產生器 lelwel: Resilient LL(1) parser generator for Rust

https://github.com/0x2a-42/lelwel

Lelwel 是一個用於 Rust 語言的強韌的 LL(1) 解析器生成器。它支援直接左遞迴、運算符優先順序、語意斷言等語法,並生成保留空格和註解的同質、無損失的具體語法樹 (CST)。Lelwel 引用 Alex Kladov (matklad) 的”Resilient LL Parsing Tutorial”,並使用獨特的啟發式方法計算恢復集。它是作為一個庫寫成的,並被 llw CLI 工具、lelwel-ls 語言伺服器以及 Neovim 的插件所使用。LL(1) 解析器的使用具有類似手寫解析器的錯誤韌性、語法樹保留性、易於調試等優點。相對於其他更通用的 CFL 或 PEG 解析器,LL(1) 解析器更適合於從不完整源代碼生成有意義的語法樹。詳細使用說明和範例可參考 Lelwel Playground。

via Lobsters: rust – Rust programming

June 6, 2024 at 09:18PM

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *