jckのページ#1
(2) 構文をどうするか?
- [1] jckの構文は、2018年のときは
i = j + 3 ;
- みたいなものでした。しかし今、これでいいのかどうかを悩んでいます。
- アセンブラにはメモリアドレッシングがあって、 a[i] = b[i] + c[i]; みたいな記述をjckでも許したいのですが、しかしこれはパースが結構大変です。2018年の時は、すべてのトークンはスペース区切りでとても単純でした。しかし、メモリアドレッシングを考えると、 a[i + 1] みたいなのだって十分にあり得るので、これをパースするのはそれなりには大変です。
- しかしjckは基本的に言語が内部的に使うものであって、そんな人間的に便利かどうかよりは、「機械が解釈しやすいか」とか「機械が生成しやすいか」のほうが重要です。だからこんなにC言語っぽいことにこだわるメリットはあまりありません。
- [3] いや待て、なんか話が変な方向に進んでいる気がしてきた。まず普通のアセンブラを考えよう。普通のアセンブラはS式を使わなければいけないほどに複雑だろうか?No。・・・じゃあどうしてjckのアセンブラは複雑なんだ?キャストってなんだ?
- 結局のところ、C言語を真似すれば各CPU用のアセンブラの色が抜けていいかと思ってそうしたけど、C言語の複雑さもいっしょに導入してしまった気がする。まずもっとシンプルにしなければ。
|