0

次の単純な pegjs 文法は正常に機能します。

start
  = sentence

sentence
  = word ws sentence
  / word

word
  = [a-z]*

ws
  = " "

http://jsfiddle.net/4V3Zt/で入手できます 。文法はhttp://pegjs.majda.cz/onlineに貼り付けることもできます。

空白に任意のスペースを許可するように ws ルールを変更すると、次のようになります。

ws
  = " "*    // add an asterisk to allow " ", "  ", "   ", ...

最大呼び出しスタック例外がスローされ、解析が失敗します。(jsfiddle を使用している場合、ブラウザー ツールで例外が表示されます。例外は node.js 環境でも発生するため、これは pegjs に関連していることは確かです)。

この ws ルールの * の何が問題になっていますか?

4

1 に答える 1