Commits

camlspotter committed 7890fba

update

Comments (0)

Files changed (1)

 注意すべき点として、 OCaml コード以外のパートでのコメントは (\* ... \*) ではなく、 /\* ... \*/ であることが挙げられる。
 \*.mly の例は OCaml コンパイラソースの parsing/parser.mly を参考に。
 
-ocamllex, ocamlyacc は色々と古臭い部分もあり、イライラすることもあるが、
+ocamllex/ulex, ocamlyacc/Menhir は色々と古臭い部分もあり、イライラすることもあるが、
 ほとんどアップデートもなく、非常に良く枯れているツールであるともいえる。
 
 Camlp4 pre-processor and pretty printer
 複雑ではあるが非常に重要なツールである。
 文法拡張記述には OCaml の通常の文法 (original syntax) と
 OCaml 文法拡張を書く際、 ambiguity が少なくなる改良文法 (revised syntax) の二つの文法を
-選ぶことができる。これに対応して Camlp4 コマンドも camlp4* から始まる複数のコマンド群からなる。
+選ぶことができる。これに対応して Camlp4 コマンドも camlp4\* から始まる複数のコマンド群からなる。
 
 問題は、非常に複雑なツールであるため、 OCaml 本体の正式文法が拡張された場合、それへの追随が遅れることがあること
 (よって、新機能と P4 の組み合わせが使えなかったりする)、そして、ドキュメントがほとんど整備されていないこと、である。
 既存の P4 で書かれた文法拡張を使うだけの場合は P4 でのパーサルールの書き方などを理解する必要はない
 とはいえ改善が望まれる。 
 
-以下は 3.10系 Camlp4 を開発した人が書いた情報。残念ながら不十分
+以下は 3.10系 Camlp4 を開発した人が書いた情報。残念ながら全く不十分
 
 * Camlp4: Major changes : http://nicolaspouillard.fr/camlp4-changes.html
 * Using Camlp4: http://brion.inria.fr/gallium/index.php/Using_Camlp4
 
 Camlp5 は OCaml version 3.09 まで同梱されていた Camlp4 が引継がれたもので、
 Version 3.10 以降の OCaml 同梱の Camlp4 はリライトされ、その際に大幅に refactoring されている。
-そのため、コードベースとしては 3.09 までの P4 および P5 は似ており、 3.10系 P4 は
-それらから少し離れている。 P5 が P4 より数字が多いため、優れているとか、その逆、という関係ではない。
+そのため、コードベースとしては 「3.09 までの P4」 および P5 は似ている。 3.10系 P4 は
+それらからかなり離れている。 P5 が P4 より数字が多いため、優れているとか、その逆、という関係ではない。
 なお、 P5 は Coq theorem prover でよく使用されている。
 
 基本的にこれら P4, P5 のアイデアは同じなので 古い P4 および P5 のドキュメントを読んで 3.10系 P4