aboutsummaryrefslogtreecommitdiff
path: root/pkg/tbtables/selector/trs.h
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
commitfa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch)
treebdda434976bc09c864f2e4fa6f16ba1952b1e555 /pkg/tbtables/selector/trs.h
downloadiraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz
Initial commit
Diffstat (limited to 'pkg/tbtables/selector/trs.h')
-rw-r--r--pkg/tbtables/selector/trs.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/pkg/tbtables/selector/trs.h b/pkg/tbtables/selector/trs.h
new file mode 100644
index 00000000..325b967f
--- /dev/null
+++ b/pkg/tbtables/selector/trs.h
@@ -0,0 +1,55 @@
+# TRS.H -- Constants used by trs procedures
+
+define TRS_MAGIC 5526099
+
+define MAXDEPTH 32
+define MAXSTACK 8
+
+define SZ_BUFFER 600
+define SZ_INSTR 6
+define SZ_NODE 5
+define SZ_TOKEN 32
+
+define LEN_TRSBUF 4
+
+define TRS_IDENT Memi[$1] # Structure identifier
+define TRS_CODE Memi[$1+1] # Code buffer
+define TRS_VALUE Memi[$1+2] # Value buffer
+define TRS_ROWS Memi[$1+3] # Row set
+
+define OCODE 0
+define OCOLUMN 1
+define OTJUMP 2
+define OFJUMP 3
+define OLOVAL 4
+define OHIVAL 5
+
+define CODE Memi[$1+OCODE]
+define COLUMN Memi[$1+OCOLUMN]
+define TJUMP Memi[$1+OTJUMP]
+define FJUMP Memi[$1+OFJUMP]
+define LOVAL Memi[$1+OLOVAL]
+define HIVAL Memi[$1+OHIVAL]
+
+define TREE_OPER Memi[$1] # operation to be performed
+define TREE_INST Memi[$1+1] # index of op in code buffer
+define TREE_LEFT Memi[$1+2] # first argument of op
+define TREE_RIGHT Memi[$1+3] # second argument of op
+define TREE_UP Memi[$1+4] # back link in tree
+
+define YDONE 1
+define YRANGE 2
+define YAND 3
+define YOR 4
+define YNOT 5
+define YEQN 6
+define YEQS 7
+define YLEN 8
+define YLES 9
+define YINN 10
+define YINS 11
+define YGEN 12
+define YGES 13
+define YMSK 14
+
+define YLOGICAL ($1 <= YNOT)