- 追加された行はこの色です。
- 削除された行はこの色です。
* KH-FDPL の結論
-(by [[K]], 2016.10.25)
** (1)
-KH-FDPLはいわば#defineだけで機械語(とはいわないまでも、単純なアセンブラみたいな言語)に置換することを目指していた。
-しかし#defineでは以下みたいなことができる。
#define FOR(a, b, c) for (a = b; a < c; a++) {
#define NEXT }
-こういうことをされると、中カッコの入れ子関係は処理系には容易にはわからなくなってしまう。それでいいのか。
-正常に動く場合はいいかもしれないけど、エラーがある場合はどうなのか。もはや要領を得ないエラーしか出せないのではないか?
#define a + b ADD(a, b)
-たとえばこういう記述ルールを書きたいのだけど、果たしてこれは可能なのか。例えばこういうのを考えてみる。
(1+2)+3
-もしカッコを特別扱いしないのであればこれは、ADD((1,2)+3)になりはしないか?
-それを避けるには、どこで語が切れるのか、カッコは複数の語をひとかたまりにすることができることを、固定されたルールにする必要がある。