ズッキーニの味噌煮込みBlog版

コンピュータのこと、食べ物のこと、なんでもないこと、とんでもないこと。

変数名に悩む

2006年07月02日 17時03分25秒 | Kちゃん日記
 先頭の英字一文字が変数名として有効。それに続く英数字は無視される。これがGAME言語の特徴のひとつ。

 ところがこの子を78Kの制御に使おうとすると、この変数名の仕様がちょっと物足りなくなる。

 たとえばI/OポートはP12とかP13のようにPで始まるシンボル名。GAMEにとってこれはどちらもPという名前のおなじ変数だ。せっかくビット操作の拡張を実装して、ポート12の3ビット目をP=$FF0C P:0).3とC言語のビットフィールドのように扱えるようになったのに、これは残念。しかもポート関係ではポートモードレジスタがPM、ポートモードコントロールレジスタがPMCだ。

 これらが別々の変数名ならば、あらかじめそれぞれにアドレスを与えておくことで特殊レジスタをシンボル名で扱えるのだが…。

 長い変数名を扱えるような変更は可能だ。しかしこれではGAMEではなくなる。先頭に記号でも補って、長い変数名も同居できるような変更も可能だ。しかし、それでなくても読みやすいとは言えないGAMEのソースがさらにややこしくなりはしないか。そこまで無理して拡張して、果たしてそれをGAME言語と呼んでいいものか。

 先に作ったDFORTH32ならば、変数名はいくら長くても大丈夫。ローカル変数にも対応している、変態的に高機能なFORTHコンパイラなのだ。これにシリアル通信関係のワードを追加すれば使える。

 しかしこれはちょっと仕様的に重すぎて、8ビットマイコンを制御して遊ぶにはなじみが悪い。

 どうすべかな。ちょっと頭冷やそう。

最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
名前の混乱 (けいさん)
2006-07-02 18:48:31
そ~か、変数26種類しか使えなかったんだね。

マイコンを使い始めた頃のBASIC(フローティング・ポイントが使えるやつ)は、頭2文字しか認識しれくれませんでした。それが原因で変数がダブっている事になかなか気がつかず、思った動作をしてくれなかったんでした。



GAME-APPLEで、%で始まる拡張命令っていうのがあったけど、さすがに変数の拡張をやってしまうと、GAMEじゃなくなっちゃうしね~
返信する
どうせ同名 (かの)
2006-07-02 19:03:59
 2文字ってのはたぶん、8ビットマイコンにとってもレジスタペアで16ビットを扱えるから変数テーブルの検索が楽だったんでしょうね。もらろん省メモリの要請は厳しかっただろうし。



 拡張かぁ。アンダスコアで始まる変数名は…いや、ちょっとセコいな。^^;
返信する

コメントを投稿