存在しない言語用のインタープリターを構築する
入力を取得し、解釈し、結果を数値の配列として出力する、偽のスタックベースの言語用のインタープリターを構築します。各バイトを反復処理し、この表に基づいて異なる機能を実行する必要があります。 0000(0):連結(スタック内の上位2つの数字を文字列であるかのように結合します。例:12,5-> 125) 0001(1):インクリメント(スタックの先頭の数字に1を加算) 0010 (2):デクリメント(スタックの先頭の数値から1を引く) 0011(3):乗算(スタックの上位2つの数値を乗算) 0100(4):除算(2番目から2番目の数値を除算スタックの一番上の番号) 0101(5):追加(スタックの一番上の2つの番号を追加) 0110(6):減算(スタックの一番上の番号をその下から減算) 0111(7):指数( 2番目から2番目の数値を1のべき乗で計算します) 1000(8):モジュラス:(2番目から2番目の数値をモジュロします) 1001(9):右に回転(スタックを1つ下にシフトします。下の数字が上になります) 1010(A):左に回転(スタックを1つ上にシフトします。上の数字が下になります) 1011(B):複製(先頭の数字を2回表示するようにコピーします。例:4,1は4,1,1になります) 1100(C):二重複製(スタックの先頭の2つの数字をコピーします。例:4 1,2は4,1,2,1,2になります) 1101(D):スワップ(スタックの上の2つの数字をスワップします。例:4,1,2は4,2,1になります) 1110(E):ダブルスワップ(下の2つの数字で2つの数字を入れ替えます。例:1,2,3,4,5は1,4,5,2,3になります) 1111(F):削除/ポップ(先頭の数字を削除しますスタック) たとえば、次を含むファイル 1 1 BC 5 C 5 B 9 5-入力(16進数) | | | | | | | | | | 1 2 2 2 4 4 6 6 2 …