added '-configure-pkg-config-var-' rule
[k8jam.git] / src / parse.h
blob50fc314a9f33baff9b061de189532b1f853c03b4
1 /*
2 * Copyright 1993, 2000 Christopher Seiwald.
3 * This file is part of Jam - see jam.c for Copyright information.
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 * parse.h - make and destroy parse trees as driven by the parser
21 #ifndef JAMH_PARSE_H
22 #define JAMH_PARSE_H
25 /* parse tree node */
26 typedef struct _PARSE PARSE;
27 struct _PARSE {
28 LIST *(*func) (PARSE *p, LOL *args, int *jmp);
29 PARSE *left;
30 PARSE *right;
31 PARSE *third;
32 const char *string;
33 const char *string1;
34 int num;
35 int refs;
39 extern void parse_file (const char *f);
40 extern void parse_save (PARSE *p);
42 PARSE *parse_make (
43 LIST *(*func) (PARSE *p, LOL *args, int *jmp),
44 PARSE *left,
45 PARSE *right,
46 PARSE *third,
47 const char *string,
48 const char *string1,
49 int num
52 extern void parse_refer (PARSE *p);
53 extern void parse_free (PARSE *p);
56 extern const char *multiform_suffix (int cnt) JAMFA_CONST;
59 #endif