############################################################################ # # File: opnames.icn # # Subject: Procedure to produce opcode/names table # # Author: Ralph E. Griswold # # Date: December 2, 1991 # ############################################################################ # # This file is in the public domain. # ############################################################################ # # opnames() produces a table that maps virtual-machine instruction numbers # to instruction names. # ############################################################################ procedure opnames() local opmap initial { opmap := table("") opmap[1] := "Asgn" opmap[2] := "Bang" opmap[3] := "Cat" opmap[4] := "Compl" opmap[5] := "Diff" opmap[6] := "Div" opmap[7] := "Eqv" opmap[8] := "Inter" opmap[9] := "Lconcat" opmap[10] := "Lexeq" opmap[11] := "Lexge" opmap[12] := "Lexgt" opmap[13] := "Lexle" opmap[14] := "Lexlt" opmap[15] := "Lexne" opmap[16] := "Minus" opmap[17] := "Mod" opmap[18] := "Mult" opmap[19] := "Neg" opmap[20] := "Neqv" opmap[21] := "Nonnull" opmap[22] := "Null" opmap[23] := "Number" opmap[24] := "Numeq" opmap[25] := "Numge" opmap[26] := "Numgt" opmap[27] := "Numle" opmap[28] := "Numlt" opmap[29] := "Numne" opmap[30] := "Plus" opmap[31] := "Power" opmap[32] := "Random" opmap[33] := "Rasgn" opmap[34] := "Refresh" opmap[35] := "Rswap" opmap[36] := "Sect" opmap[37] := "Size" opmap[38] := "Subsc" opmap[39] := "Swap" opmap[40] := "Tabmat" opmap[41] := "Toby" opmap[42] := "Unions" opmap[43] := "Value" opmap[44] := "Bscan" opmap[45] := "Ccase" opmap[46] := "Chfail" opmap[47] := "Coact" opmap[48] := "Cofail" opmap[49] := "Coret" opmap[50] := "Create" opmap[51] := "Cset" opmap[52] := "Dup" opmap[53] := "Efail" opmap[54] := "Eret" opmap[55] := "Escan" opmap[56] := "Esusp" opmap[57] := "Field" opmap[58] := "Goto" opmap[59] := "Init" opmap[60] := "Int" opmap[61] := "Invoke" opmap[62] := "Keywd" opmap[63] := "Limit" opmap[64] := "Line" opmap[65] := "Llist" opmap[66] := "Lsusp" opmap[67] := "Mark" opmap[68] := "Pfail" opmap[69] := "Pnull" opmap[70] := "Pop" opmap[71] := "Pret" opmap[72] := "Psusp" opmap[73] := "Push1" opmap[74] := "Pushn1" opmap[75] := "Real" opmap[76] := "Sdup" opmap[77] := "Str" opmap[78] := "Unmark" opmap[80] := "Var" opmap[81] := "Arg" opmap[82] := "Static" opmap[83] := "Local" opmap[84] := "Global" opmap[85] := "Mark0" opmap[86] := "Quit" opmap[87] := "FQuit" opmap[88] := "Tally" opmap[89] := "Apply" opmap[90] := "Acset" opmap[91] := "Areal" opmap[92] := "Astr" opmap[93] := "Aglobal" opmap[94] := "Astatic" opmap[95] := "Agoto" opmap[96] := "Amark" opmap[98] := "Noop" opmap[100] := "SymEvents" opmap[108] := "Colm" } return opmap end