summaryrefslogtreecommitdiff
path: root/jam-files/engine/parse.h
diff options
context:
space:
mode:
Diffstat (limited to 'jam-files/engine/parse.h')
-rw-r--r--jam-files/engine/parse.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/jam-files/engine/parse.h b/jam-files/engine/parse.h
new file mode 100644
index 00000000..e324972f
--- /dev/null
+++ b/jam-files/engine/parse.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright 1993, 2000 Christopher Seiwald.
+ *
+ * This file is part of Jam - see jam.c for Copyright information.
+ */
+
+/* This file is ALSO:
+ * Copyright 2001-2004 David Abrahams.
+ * Distributed under the Boost Software License, Version 1.0.
+ * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+ */
+
+#ifndef PARSE_DWA20011020_H
+#define PARSE_DWA20011020_H
+
+#include "frames.h"
+#include "modules.h"
+#include "lists.h"
+
+/*
+ * parse.h - make and destroy parse trees as driven by the parser.
+ */
+
+/*
+ * Parse tree node.
+ */
+
+struct _PARSE {
+ LIST * (* func)( PARSE *, FRAME * );
+ PARSE * left;
+ PARSE * right;
+ PARSE * third;
+ char * string;
+ char * string1;
+ int num;
+ int refs;
+/* module * module; */
+ char * rulename;
+ char * file;
+ int line;
+};
+
+void parse_file( char *, FRAME * );
+void parse_save( PARSE * );
+
+PARSE * parse_make(
+ LIST * (* func)( PARSE *, FRAME * ),
+ PARSE * left,
+ PARSE * right,
+ PARSE * third,
+ char * string,
+ char * string1,
+ int num );
+
+void parse_refer ( PARSE * );
+void parse_free ( PARSE * );
+LIST * parse_evaluate( PARSE *, FRAME * );
+
+#endif