aboutsummaryrefslogtreecommitdiff
path: root/pkg/vocl/construct.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 /pkg/vocl/construct.h
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'pkg/vocl/construct.h')
-rw-r--r--pkg/vocl/construct.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/pkg/vocl/construct.h b/pkg/vocl/construct.h
new file mode 100644
index 00000000..eeddfdb0
--- /dev/null
+++ b/pkg/vocl/construct.h
@@ -0,0 +1,44 @@
+/* Define variables used during compilation of loop constructs. */
+#define MAX_LOOP 50
+#define N_OPEN_ARR 15
+
+/* The LABEL structure is used to store the linked list of LABEL names.
+ */
+struct label {
+ char *l_name; /* Pointer to label name. */
+ int l_loc; /* Location of label. */
+ int l_defined; /* Has actual label been seen. */
+ struct label *l_next; /* Pointer to next in list. */
+ };
+
+/* Pointers to the names of the parameters in a PROCEDURE statement.
+ * These are used in positional references to params within a script.
+ */
+
+#define MAX_PROC_PARAMS 100
+
+extern int nextdest[MAX_LOOP]; /* Destinations for NEXT's */
+extern int brkdest[MAX_LOOP]; /* Destinations for BREAK's */
+
+extern int nestlevel; /* Loop nesting level */
+extern int ncaseval; /* Number of cases in switch */
+
+extern int n_oarr; /* Number of open array indices */
+extern int i_oarr; /* Current open array index */
+
+extern int oarr_beg[N_OPEN_ARR]; /* Open index limits. */
+extern int oarr_end[N_OPEN_ARR];
+extern int oarr_curr[N_OPEN_ARR]; /* Current value for index. */
+extern int imloopset; /* Loop inited at run time? */
+extern int n_indexes; /* Number of indexes on stack. */
+
+extern int maybeindex; /* Could last constant be index */
+ /* range? */
+
+extern struct label *label1; /* Pointer to first top of label list. */
+extern int igoto1; /* Head of list of indirect GOTO's */
+
+
+extern struct operand *parlist[MAX_PROC_PARAMS];
+extern struct param *last_parm;/* Last parameter before compilation. */
+extern int n_procpar; /* Number of params in proc stmt. */