diff options
Diffstat (limited to 'ipl/procs/opsyms.icn')
-rw-r--r-- | ipl/procs/opsyms.icn | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/ipl/procs/opsyms.icn b/ipl/procs/opsyms.icn new file mode 100644 index 0000000..ba49d8e --- /dev/null +++ b/ipl/procs/opsyms.icn @@ -0,0 +1,82 @@ +############################################################################ +# +# File: opsyms.icn +# +# Subject: Procedures to produce table to map opcodes to symbols +# +# Author: Ralph E. Griswold +# +# Date: July 10, 1992 +# +############################################################################ +# +# This file is in the public domain. +# +############################################################################ +# +# opsyms() produces a table that maps virtual-machine instruction numbers +# for operators to operator symbols. The suffixes 1 and 2 are used +# for symbols that have both a unary and binary meaning. +# +############################################################################ + +procedure opsyms() + local opmap + + initial { + opmap := table() + + opmap[1] := ":=" + opmap[2] := "!1" + opmap[3] := "||" + opmap[4] := "~" + opmap[5] := "--" + opmap[6] := "/1" + opmap[7] := "===" + opmap[8] := "**" + opmap[9] := "|||" + opmap[10] := "==" + opmap[11] := ">==" + opmap[12] := ">>" + opmap[13] := "<==" + opmap[14] := "<<" + opmap[15] := "~==" + opmap[16] := "-2" + opmap[17] := "%" + opmap[18] := "*2" + opmap[19] := "-1" + opmap[20] := "~===" + opmap[21] := "\\1" + opmap[22] := "/1" + opmap[23] := "+1" + opmap[24] := "=2" + opmap[25] := ">=" + opmap[26] := ">" + opmap[27] := "<=" + opmap[28] := "<" + opmap[29] := "~=" + opmap[30] := "+2" + opmap[31] := "^2" + opmap[32] := "?1" + opmap[33] := "<-" + opmap[34] := "^1" + opmap[35] := "<->" + opmap[36] := "[:]" + opmap[37] := "*1" + opmap[38] := "[]" + opmap[39] := ":=:" + opmap[40] := "=1" + opmap[41] := "..." + opmap[42] := "++" + opmap[43] := ".1" + opmap[44] := "?2" + opmap[47] := "@" + opmap[57] := ".2" + opmap[62] := "&" + opmap[63] := "\\2" + opmap[65] := "[...]" + } + + return opmap + +end |