summaryrefslogtreecommitdiff
path: root/ipl/procs/opnames.icn
blob: 42aaac342612f6f6167045b8671fbe6300c89fb4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
############################################################################
#
#	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