字句解析・構文解析
有名なパーサジェネレーターライブラリを用いて字句解析と構文解析を実装しました.現在それぞれplex
, lalrpop
しかメンテナンスされていませんが,今後複数のバックエンドをサポートする可能性があります.
対応予定/済のバックエンド:
クレート名 | 対応状況 |
---|---|
lexer: plex | 対応済み |
lexer: logos | 未対応 |
parser: lalrpop | 対応済み |
parser: peg | 対応遅れ |
parser: parol | 未対応 |
構文解析の時点では,Set
の左辺には任意の式が来て良いものとしています.これにより,ref <- 0
のような入力に対して専用のエラーメッセージを発行できる他,パーサジェネレーターの定義を簡単に保つことができます.
.mli
ファイルを構文解析する機能も同じクレートに含まれています.