parse.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 1993, 2000 Christopher Seiwald.
00003  *
00004  * This file is part of Jam - see jam.c for Copyright information.
00005  */
00006 
00007 /*
00008  * parse.h - make and destroy parse trees as driven by the parser
00009  *
00010  * Changes:
00011  *
00012  * 11/04/02 (seiwald) - const-ing for string literals
00013  * 10/22/02 (seiwald) - working return/break/continue statements
00014  */
00015 
00016 /*
00017  * parse tree node
00018  */
00019 
00020 typedef struct _PARSE PARSE;
00021 
00022 struct _PARSE {
00023     LIST        *(*func)( PARSE *p, LOL *args, int *jmp );
00024     PARSE       *left;
00025     PARSE       *right;
00026     PARSE       *third;
00027     const char  *string;
00028     const char  *string1;
00029     int     num;
00030     int     refs;
00031 } ;
00032 
00033 void    parse_file( const char *f );
00034 void    parse_save( PARSE *p );
00035 
00036 PARSE * parse_make( 
00037     LIST        *(*func)( PARSE *p, LOL *args, int *jmp ),
00038     PARSE       *left,
00039     PARSE       *right,
00040     PARSE       *third,
00041     const char  *string,
00042     const char  *string1,
00043     int     num );
00044 
00045 void    parse_refer( PARSE *p );
00046 void    parse_free( PARSE *p );

Generated on Thu Aug 17 15:54:32 2006 for MaJam by  doxygen 1.4.7