浪漫しかない(実用性無視の)魔法陣プログラミング言語「Grm」5
プログラム言語づくりも再開のめどが立ったところで、
IDE、この言語の開発環境的なレイアウトを考えてみました。
基本はマウスやキー操作等で魔法円を配置していく形になると思うのですが、
製作中のプログラムを他のプログラム言語(javaとかに)翻訳して表示する窓を右サイドにつけます。
そして、文字変数の中身や関数名など一部文章入力が必要な箇所のために、入力窓を下に設置します。
その上で、現在編集してる箇所は四角で文字の反転表示をさせます。
入力箇所に直接カーソルを設置しないのは、仕事でよく使ってるExcel的なイメージ。
あれは文字を打ち込む個所と別に上のほうに入力窓があるんだけど、正直入力窓だけ有ればいいなと思ってるし、
あんま複雑な実装すると経験上バグ取りだけで飽きそうな気が。
要望があれば今後付け足すみたいな感じで作ろうと思いますよっと。
浪漫しかない(実用性無視の)魔法陣プログラミング言語「Grm」4
の方に、1から9までの魔法円を作ってみましたが
以前書いた
https://grandseacrow.hatenablog.com/entry/2020/06/28/062520
と、いくつかデザインが変わってます。
参考にしたサイトは以前も紹介した
https://qiita.com/yomogenium/items/789f9d35cefa54e97b31
さて、今日中に命令文の魔法円サンプル作りたいぞと
ほんのちょこっとだけ進展
仕事が多忙で最近自宅でパソコン触れなかったんだけども、
ようやく魔法陣言語の準備サイト作成
で、
をもとに魔法陣を書いた。
こっからちょこっとづつ完成形に近づけたらいいかなーと
浪漫しかない(実用性無視の)魔法陣プログラミング言語「Grm」3
前回の魔法陣は6パターンまでだったけど、追加して9パターンに。
これにより魔法円を数字として管理できるようになって幅が広がった、はず。
とりあえず帰宅後はforとかifのような命令文をまとめる予定
つっても昨日まで夜勤で午前中空いてたから色々出来たが
今日から通常勤務に戻るので自由になる時間は夕方からなのよね・・・
浪漫しかない(実用性無視の)魔法陣プログラミング言語「Grm」2
いや魔法円といえばコレでしょう。でも、これをGrmのどこ使うの、と言われそうなので解説。
今後プログラムを作るにおいて関数の階層化が必要になって来ると思うんです。
その際に魔法円の中にさらに円を組み込むという形を取ると思うわけですが、その円がどの階層なのかを明示するのが冒頭の図になります。
図の上部が1、2、3
下部が4,5、6です。
もっと数字を増やしてもいいのですが、あまり階層が深くなりすぎるとゴチャゴチャ見づらくなるので、とりあえずこのあたりまでにしとこうかと。
ちなみに階層ゼロ(メイン)は◎で表現します。
これを配置すると例えば
例えばこんな感じ。
さすがにここまでゴチャゴチャだと見づらいので、実際は一個の魔法円に収めず分割することになると思うんだけど、その際に考えてるのが、パソコンフォルダのショートカットに当たる「反転」という表記。
文字通り色を反転した魔法円を置くことで、それは参照だよ、と暗に明示させる書き方で、例えば
こんなふうに、subと名前をつけた魔法円を分割して処理すると。
ただなー、今さっくり書いては見たが階層深くなるほどサイズが小さくなるわけで、それがだんだん複雑な図形になるのは見栄え的によろしくないような。
この辺が今後の課題ですかねぇ。
もうひとつやってること
ただこっちはねー、もっと早く進めたかったのが時間がなくて、ある程度形になった頃にはアマビエ合体ブームが下火になってきたのでモチベーションが落ち始めてる。
知り合いに見せても反応イマイチだし。
今は魔法陣プログラム言語の方に力入れてるので、そっちメインになったら自然消滅の可能性も。元来飽きっぽい人間なので。
浪漫しかない(実用性無視の)魔法陣プログラミング言語「Grm」1
前回、魔法陣プログラミン言語「Grm」の概要というかさわりを話しましたけども、
具体的にどうプログラミングしてくか、実物見たほうが早いだろうということで図をのっけます。※現在あくまで試作なので変更になる可能性も大ということで
これはGrmで表記した、”Hello world!”を表示するプログラムです。
この♐の部分がプログラム言語で言うLet、代入になってます。
で下の♉マークが画面表示という感じです。
てな感じで、丸に関数の丸を重ねていくことでプログラムを作るというのが基本コンセプトです。
命令文は星占いでおなじみの十二宮で、♐や♉以外にも
♎・・・If(分岐)
♋・・・For(ループ)
あたりまでは確定してます。
将来的にはHello worldの文字部分をルーン文字に変換するとよりそれっぽくなるかなーと思ってます。数字もローマ数字使ったりね。
具体的にどうやって魔法円を配置したり文字や数値を入力するかは検討中ですが、早い段階でそれも確定出来たらなぁと思っています。