summaryrefslogtreecommitdiff
path: root/jam-files/engine/parse.h
diff options
context:
space:
mode:
authorKenneth Heafield <github@kheafield.com>2012-05-12 14:01:52 -0400
committerKenneth Heafield <github@kheafield.com>2012-05-12 14:01:52 -0400
commit3faecf9a00512dcbc8712c4bca9adae72fb64410 (patch)
tree9761b50d12f81a675fb7cbc663ceebad15079f78 /jam-files/engine/parse.h
parentc806a8fff63043f63773874986301f2822a2b552 (diff)
Give in and copy bjam into cdec source code
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