括弧を省略できるa..b記法
30分プログラム、その224。昨日のa..b記法のバージョンアップ。
(0 .. 10)のように必ず括弧が必須だったが、0 .. 10のように括弧を省略できるようになった。
ただ..の両辺のスペースが省略できないのはしょうがない気がしてきた。パーサレベルでは浮動少数かどうかを区別できないから。
ところで、そもそも
let (..) a b = range a b
という定義ができればいいだけの話ということに今気がついた。残念ながら..は中置演算子に使えないのだけれども。
使い方
let _ = print_int @@ sum 1 .. 10; print_newline ()
ソースコード
expr1をsimpleに変更しただけ。
open Pcaml EXTEND expr: LEVEL "simple" [ [ e1 = expr; ".."; e2 = expr -> <:expr< range $e1$ $e2$>> ]]; END;;