acl4の開発ログ #03
ここまでのもくじ
2026.01.01(木) #0
- ずっと悩んでいました。機能的にやりたいことを実現するのは全然難しくないのです。
- しかしそれをカッコよく書くことができませんでした。どうやってもドンくさいのです。
- しかし今日になって、やっといい感じに書く方法を見つけました。
func(a, b, .c) → func(a, b, ADot1(c))
int func(int a, double b, .char *c) → int func(int a, double b, ADot1(char *c))
→ つまりドット1つから書き始めると、それはカッコ閉じか、次のコンマまでADot1(...) で囲われた形に置換されます。
..int d, e; → ADot2(int d, e;)
→ ドット2つから書き始めると、セミコロンまでを ADot2(...) で囲われた形に置換されます。
func(,a,,c) → func(a, c)
→ 関数呼び出しなどで、不要なコンマはすべて自動で削除されます。
- たったこれだけをやってくれる簡易プリプロセッサがあれば、私がやりたくてたまらないことは実現できそうなのです。