我正在寻找一些关于完成手头任务的最佳方式的建议。我允许用户编写一个十六进制操作码程序,代表 14 个类似汇编的函数。我需要“错误检查”我的用户程序,以确保他们输入的程序只包含我的 14 个操作码列表中的操作码。有人可以建议我完成这样的任务的最佳做法是什么?
谢谢!
我正在寻找一些关于完成手头任务的最佳方式的建议。我允许用户编写一个十六进制操作码程序,代表 14 个类似汇编的函数。我需要“错误检查”我的用户程序,以确保他们输入的程序只包含我的 14 个操作码列表中的操作码。有人可以建议我完成这样的任务的最佳做法是什么?
谢谢!
根据您的用户正在编写的“程序”的格式,有很多不同的方法可以解析程序并确定操作码。假设您只有他们程序中的操作码列表(即:字符串列表,每个代表一个操作码),您可以快速验证每个操作码的有效性:
is_valid_opcode = function(opcode) {
var valid_opcodes = ["a023", "bcdd", ... ];
return valid_opcodes.indexOf(opcode) > -1;
}
如果您确实需要验证每个程序的语法,您可以考虑实现一个parser。