次の架空の文法があるとします。句の再帰的な定義があります。
sentence := clause +
subject := (qualifier *) subjectiveNoun
objects := object +
object := nothing | (qualifier *) objectiveNoun
clause := subject objects verb
qualifier := adjective | clause
他のすべてが非再帰的な定義を持っていると仮定すると、「節」の JavaScript 文法を書くにはどうすればよいでしょうか? 誰かがこれを行う XRegExp ライブラリに精通している場合、それは追加のプラスになります。