1

BNFC定義で空白をどのように使用しますか?

たとえば、変数のリストを抽象化できるラムダ計算用のパーサーを作成したいとします。

\x y z.x z (y z)

「明らかな」ことは、次のようなラベル付きルールを使用することです。

ListAbs . Exp ::= "\\" [Ident] "." Exp ;
separator Ident " "

ただし、BNFC はデフォルトで空白を削除するため、機能しません。機能するのは、コンマ区切りを使用することです。少し醜いですが、私はそれで暮らすことができました... それでも、スペースで区切ることができるといいでしょう.

BNFC に空白文字クラスはありますか?

4

1 に答える 1