#! /usr/bin/perl print< #include using namespace std; map opcode_map; string get_opcode_name(unsigned long opcode) { map::iterator itr;; return (itr=opcode_map.find(opcode))!=opcode_map.end() ? itr->second : "OP_Unknown"; } EOF printf("void load_opcode_names()\n{\n"); open(OPS,"$ARGV[0]") || die; while($_=) { if (/^#define\s+(\S+)\s+(\S+)/) { if ($2 ne "0x9999") { printf("\topcode_map[%s]=\"%s\";\n",$2,$1); } } } close(OPS); printf("}\n");