終了命令を表すラベルです。用に使用されています。プログラムは以下のようになります。不自然な表記があるかもしれませんが、正規表現を変えるだけで対処できるのでこの文法は暫定的なものということで許してください。レジスタ3つと配列1つがあり、レジスタごとに使える命令が違うこともあります。(遠いので)値を交換できなかったりします。変換まずはメモリ上のレジスタや配列の位置を以下のように決めました。命令数を減らしています。数値を設定する方法は大きく分けて2通りあります。コードが102なので)。するだけではだめで、最初に現在地の0クリアをする必要があります。0で)得られて便利です。実装を見て、「未定義の文字は全てアルファベットと同様に扱われる」ということがわかりました。コマンドは現在地に12354を設定してくれます。これを利用して即値のコンバータを実装すると、多くの数値が1命令で表せ、出力が格段に縮みました。圧倒的多数の命令を要し、その度に命令を吐いていると出力が長くなりすぎてしまいます。処理専用にしてしまい、配列アクセスはこれらのIPにジャンプするようにしました。行から最後まで多くの命令が生成されています。配列アクセスの際にはもう一つ重要なことがあります。添字を即値で指定するとき、メモリ配置上どうしても0クリアに必要な命令が多くなってしまいます。そこで(0の場合は諦めて、1以上に有効な手として)添字は100倍したものを指定することにしました。100、200、300、...、1114100はマルチバイト文字を有効にすれば全て1命令で表すことができます(多分)。配列アクセスは2箇所にまとまったとはいえ、現状ではまだかなりスペースを取っています。ゴルフの際は基本的には配列は全く使わないことを目標としたいので、レジスタの数を9個ぐらいに増やすべきかなあという感じがします。Hexagonyまだ完成していないので何とも言えないですが、方針は2つあります。(具体的な仕様も後で追記しておきます)今実装を進めているのは後者の方法です。命令を埋めていって適当にビジュアライズします。コンバータを作成しました。プログラムを作れる理想の世界になります。ソースデバッグの方法」の予定です。月別アーカイブはてなブログをはじめよう!akouryyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。