mirror of
https://review.haiku-os.org/buildtools
synced 2024-11-23 07:18:49 +01:00
ecc89c9a6a
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@15729 a95241bf-73f2-0310-859d-f6bbb57e9c96
45 lines
863 B
C
45 lines
863 B
C
/*
|
|
* Copyright 1993, 2000 Christopher Seiwald.
|
|
*
|
|
* This file is part of Jam - see jam.c for Copyright information.
|
|
*/
|
|
|
|
/*
|
|
* parse.h - make and destroy parse trees as driven by the parser
|
|
*
|
|
* 10/22/02 (seiwald) - working return/break/continue statements
|
|
* 11/04/02 (seiwald) - const-ing for string literals
|
|
*/
|
|
|
|
/*
|
|
* parse tree node
|
|
*/
|
|
|
|
typedef struct _PARSE PARSE;
|
|
|
|
struct _PARSE {
|
|
LIST *(*func)( PARSE *p, LOL *args, int *jmp );
|
|
PARSE *left;
|
|
PARSE *right;
|
|
PARSE *third;
|
|
const char *string;
|
|
const char *string1;
|
|
int num;
|
|
int refs;
|
|
} ;
|
|
|
|
void parse_file( const char *f );
|
|
void parse_save( PARSE *p );
|
|
|
|
PARSE * parse_make(
|
|
LIST *(*func)( PARSE *p, LOL *args, int *jmp ),
|
|
PARSE *left,
|
|
PARSE *right,
|
|
PARSE *third,
|
|
const char *string,
|
|
const char *string1,
|
|
int num );
|
|
|
|
void parse_refer( PARSE *p );
|
|
void parse_free( PARSE *p );
|