mirror of
https://github.com/boostorg/build.git
synced 2026-02-13 12:22:17 +00:00
60 lines
1.2 KiB
C
60 lines
1.2 KiB
C
/*
|
|
* 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
|