0

手元のタスクを達成するための最良の方法に関するアドバイスを探しています。私は、ユーザーが14のアセンブリのような関数を表す16進オペコードのプログラムを作成できるようにしています。ユーザーのプログラムを「エラーチェック」して、ユーザーが入力するプログラムに、14個のオペコードリストの一部であるオペコードのみが含まれていることを確認する必要があります。このようなタスクを実行するためのベストプラクティスについて誰かにアドバイスしてもらえますか?

ありがとうございました!

4

1 に答える 1

1

ユーザーが作成している「プログラム」の形式に応じて、プログラムを解析してオペコードを決定する方法はたくさんあります。プログラムからのオペコードのリスト(つまり、それぞれが1つのオペコードを表す文字列のリスト)があると仮定すると、次の方法で各オペコードの有効性をすばやく確認できます。

is_valid_opcode = function(opcode) {
    var valid_opcodes = ["a023", "bcdd", ... ];
    return valid_opcodes.indexOf(opcode) > -1;
}

各プログラムの構文を実際に検証する必要がある場合は、パーサーの実装を検討できます。

于 2012-09-22T23:03:21.127 に答える