いうプログラミング言語があります。配列とループがないのが特徴です。簡単に実装できそうです。ないものはないので、別の手段を考えます。レジスタには、ある種のトークンやトークン列を一時的に保存できます。番号」のような名前が付いています。この整数値を格納できるタイプのレジスタを使えば、番号をインデックスに見立てることで、バイト型の配列的なものが実現できますね。このインデックスの値をプログラムで足したり引いたりするには、やはりレジスタに収めるしかありません。レジスタを割り当てましょう。配列がゼロに初期化されます。仕様に従って処理を実装します。プログラムが実行されるようにしましょう。1つ取り込み、その種類に応じてインデックスを動かしたり整数レジスタの値を増減したりします。これをトークンがなくなるまで繰り返します。繰り返し処理がややトリッキーに見えるかもしれませんが、ループのための便利な構文もないし、末尾最適化もしてくれないので、自分で末尾再帰するように書くしかないからです。置いてしまうと、メモリがうまって止まります。素の定義がばらばらばらっと無限に繰り返し展開されてしまうからです。プログラミングにほかなりません。以外の各処理を実装しましょう。入出力がやや面倒ですが、ほかは素直に書けます。これだけは正直てこずりました。トークンを次々に置き換えていくだけなので、簡単には前に戻れない。引数として渡すといった処理ができない。週末、子供と科学博物館にいったりレゴでアンモナイトを作ったりしてあげている間、ずっと考えてました。字句解析をだます方法。っぽいものができました。入れ子の括弧も大丈夫。さんのページから、掛け算の例。」クヌース先生に言ってください。スタイルのほうではないでしょうか。ドキュメントの見た目を制御するときにワケワカなのと、プログラミングがワケワカなのは、違う話です。プログラミングをするだけなら楽しいですよ。割り当てられているグリフ(を再現したもの)です。プロンプトが出たらリターンを押してください。文が閉じてないとかそういうたぐいで、このエラーなしに再帰的なマクロを途中で抜ける方法を私は知りません。コードに動かないのがある」そうですね。1つごまかしているところがあります。1つしかない場合に対応していません。グループとして読み込んでいることによる制限です。書くことにすれば、この制限を回避して等価なコードが記述できます。プログラムも、そんなふうに改修すれば動くかもしれません。