diff options
Diffstat (limited to 'jam-files/engine/parse.h')
-rw-r--r-- | jam-files/engine/parse.h | 59 |
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 |