0

したがって、空の文字列を含む文法があります。文法は次のようなものです。

S->ε

S->式 ;; S

パーサーを実行すると「破棄する状態はもうありません」というエラーが表示されるので、空の文字列を正しく表現していないと思います。では、具体的には lexer .mll ファイルでどのように表現すればよいのでしょうか?

ルールを作る必要があることはわかっているので、それを書き留めていると思います。これは、表現のためのものを除いて、パーサー .mly ファイルのように見えるべきだと私が思うものです。

s:
| EMPTY_STRING            { [] }
| expression SEMICOLON s  { $1::$3 }
4

1 に答える 1