rowlのコメント構文

コメント構文を

# ...

から

(% ...  %)

というものに変更した。一行コメントはないが入れ子可にすればあまり困らないはず。OCamlと同じく。

実を言うと、rowlのコメントは将来的に文字列リテラルになる予定である。
つまり

x = (%
foo
  bar
baz
%)

とか書けて、この場合

x = "\nfoo\n  bar\nbaz\n"

と同じ意味になる。これはPythonでブロックコメントの代わりに"""を使うのと同じ。
つまりrowlにはコメントというものが存在しなくて文字列リテラルで代用という事です。

こうした意図は

  • コメントをlexerで弾かないで、構文木に埋め込みたい。
  • JavaDocみたいなツールを内部的に実装できるようにしたい。
  • 他言語へのトランスレータなどを作る際など、生成コードにコメントも一緒に出力したい。

ということ。
欠点はいろいろあるんだけど暫くはこれでやってく。