mkjambase generates more compact jambase.c
[k8jam.git] / parse.h
blob3b7b53aff6d6197755df2f36d7d06f7745cf66e4
1 /*
2 * Copyright 1993, 2000 Christopher Seiwald.
4 * This file is part of Jam - see jam.c for Copyright information.
5 */
7 /*
8 * parse.h - make and destroy parse trees as driven by the parser
10 * 10/22/02 (seiwald) - working return/break/continue statements
11 * 11/04/02 (seiwald) - const-ing for string literals
15 * parse tree node
18 typedef struct _PARSE PARSE;
20 struct _PARSE {
21 LIST *(*func)(PARSE *p, LOL *args, int *jmp);
22 PARSE *left;
23 PARSE *right;
24 PARSE *third;
25 const char *string;
26 const char *string1;
27 int num;
28 int refs;
32 void parse_file (const char *f);
33 void parse_save (PARSE *p);
35 PARSE *parse_make (
36 LIST *(*func)(PARSE *p, LOL *args, int *jmp),
37 PARSE *left,
38 PARSE *right,
39 PARSE *third,
40 const char *string,
41 const char *string1,
42 int num
45 void parse_refer (PARSE *p);
46 void parse_free (PARSE *p);
49 const char *multiFormSfx (int cnt);