私は節約を使用していくつかの解析を行っていますが、最初の文字を順序付けられていない離れた場所で共有する代替を適切に解析する方法を理解するのに苦労しています:
例えば:
文章:
2 > 3
2 >= 3
文法:
expr = ~"[0-9]+" space operator space ~"[0-9]+"
operator = ">" / "==" / "<" / ">=" / "<="
space = ~"[\\s]*"
テキストの 1 行目は正しく解析されますが、2 行目は正しく解析されません。">" に一致するように見えますが、"=" が表示されるためスタックします。全体として ">=" に一致することはありません。これらを慎重な順序で指定することなく、どうすればそれを行うことができますか? 先読みマッチングに「&」を使用してみましたが、うまくいかないようです。