PEG_PEG

がっ

>>> e.Expression.match("A / B / C")
Sequence(Ref('A'), ReMatcher(' B '), Ref('C'))/7

当たり前だけどその通りだった。

どうすべきか。

  • Orを縦棒に変更してしまう
    • 超楽ちんだけど。
  • 正規表現リテラルの表現を/〜/ではなくする
    • まぁ。Perlでもサスペンダー型には限定されてないしなぁ
  • 文法頑張る
    • どう頑張ったらいいんだろう。上のような場合に正規表現リテラルじゃなくてOrだと判定されるには…。無理か??
      • とりあえずあんまりエレガントじゃないけど「/の直後にスペースがある場合正規表現リテラルではない」ということにした。