【发布时间】:2011-07-09 06:55:06
【问题描述】:
我正在编写一个简单的 Perl 脚本,将汇编指令字符串转换为 32 位二进制代码。
我决定按类型处理翻译分组指令(ADD 和 SUB 是 R-Type 指令等等......)所以在我的代码中我正在做这样的事情:
my $bin = &r_type($instruction) if $instruction =~ /^(?:add|s(?:ub|lt|gt))\s/;
因为我想以同样的方式处理add、sub、slt 和sgt。
但我意识到,对于我应该做的任务来说,使用该正则表达式可能是“矫枉过正”……模式可以吗
/^(?:add|sub|slt|sgt)\s/
表示在这种情况下更好地使用正则表达式?
非常感谢。
【问题讨论】:
-
在这种情况下,列出操作码更便于阅读。使用交替。