mirror of
https://github.com/boostorg/build.git
synced 2026-02-13 00:12:11 +00:00
62 lines
1.3 KiB
C
62 lines
1.3 KiB
C
/*
|
|
* Copyright 1993, 2000 Christopher Seiwald.
|
|
*
|
|
* This file is part of Jam - see jam.c for Copyright information.
|
|
*/
|
|
|
|
/* This file is ALSO:
|
|
* (C) Copyright David Abrahams 2001. Permission to copy, use,
|
|
* modify, sell and distribute this software is granted provided this
|
|
* copyright notice appears in all copies. This software is provided
|
|
* "as is" without express or implied warranty, and with no claim as
|
|
* to its suitability for any purpose.
|
|
*/
|
|
|
|
#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 *p, FRAME *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 *f, FRAME* frame );
|
|
void parse_save( PARSE *p );
|
|
|
|
PARSE * parse_make(
|
|
LIST *(*func)( PARSE *p, FRAME* frame ),
|
|
PARSE *left,
|
|
PARSE *right,
|
|
PARSE *third,
|
|
char *string,
|
|
char *string1,
|
|
int num );
|
|
|
|
void parse_refer( PARSE *p );
|
|
void parse_free( PARSE *p );
|
|
LIST* parse_evaluate( PARSE *p, FRAME* frame );
|
|
|
|
#endif
|
|
|