Macro PEG 0.0.10 リリース
かなり久しぶりのリリースです。主な変更点は、
を修正した点でしょうか。これで、
STRING = STRING_MACRO("\"") / STRING_MACRO("'"); STRING_MACRO(Q) = Q (!(Q / "\\") . / "\\" .)* Q;
のようなPEGにおいて、Q (!(Q / "\\")
が正しく Q
と (!(Q / "\\")
の連接として解釈されます(今までは
Q
の呼び出しと解釈されていた)。修正方法としては、マクロ名につづいてスペースが続かずに引数の括弧が続く場合はマクロ呼出し、スペースが挟まれている場合は連接として解釈するようにしました。当初、グルーピングは[
と]
という別の記号を使おうと思いましたが、記述として気持ち悪いので、現状のシンタックスをあまり変えないようにしました。