khfdpl_result1
のバックアップ(No.1)
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
バックアップ一覧
差分
を表示
現在との差分
を表示
ソース
を表示
khfdpl_result1
へ行く。
1 (2016-10-25 (火) 13:08:29)
2 (2016-10-25 (火) 13:39:58)
3 (2016-10-25 (火) 20:14:57)
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)になりはしないか?
それを避けるには、どこで語が切れるのか、カッコは複数の語をひとかたまりにすることができることを、固定されたルールにする必要がある。