BNFC定義で空白をどのように使用しますか?
たとえば、変数のリストを抽象化できるラムダ計算用のパーサーを作成したいとします。
\x y z.x z (y z)
「明らかな」ことは、次のようなラベル付きルールを使用することです。
ListAbs . Exp ::= "\\" [Ident] "." Exp ;
separator Ident " "
ただし、BNFC はデフォルトで空白を削除するため、機能しません。機能するのは、コンマ区切りを使用することです。少し醜いですが、私はそれで暮らすことができました... それでも、スペースで区切ることができるといいでしょう.
BNFC に空白文字クラスはありますか?