aboutsummaryrefslogtreecommitdiff
path: root/lib/evvexpr.h
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /lib/evvexpr.h
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'lib/evvexpr.h')
-rw-r--r--lib/evvexpr.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/evvexpr.h b/lib/evvexpr.h
new file mode 100644
index 00000000..c37ded5f
--- /dev/null
+++ b/lib/evvexpr.h
@@ -0,0 +1,24 @@
+# EVVEXPR.H -- Expression evaluation definitions; operand structure.
+
+define LEN_OPERAND 6 # size of operand structure
+define NTYPES 7 # bcsilrd, bool stored as int
+define YYOPLEN LEN_OPERAND # for the parser
+
+define O_TYPE Memi[($1)] # operand type
+define O_LEN Memi[($1)+1] # operand length, if array
+define O_FLAGS Memi[($1)+2] # flag bits
+ # align
+define O_VALC Memc[Memi[($1)+4]] # string val (in string buffer)
+define O_VALS Mems[P2S(($1)+4)] # short int value
+define O_VALI Memi[($1)+4] # bool or int value
+define O_VALL Meml[P2L(($1)+4)] # long int value
+define O_VALR Memr[P2R(($1)+4)] # real value
+define O_VALD Memd[P2D(($1)+4)] # double value
+define O_VALP Memi[($1)+4] # pointer
+
+# Operand flags.
+define O_FREEVAL 000001 # free data vector
+define O_FREEOP 000002 # free operand struct
+
+# evvexpr flags.
+define EV_RNGCHK 000001 # divzero etc.