source:
branches/UKMO/r8395_cpl_tauwav/NEMOGCM/EXTERNAL/IOIPSL/tools/tkparse.h
@
12286
Last change on this file since 12286 was 12286, checked in by jcastill, 5 years ago | |
---|---|
File size: 1.2 KB |
Line | |
---|---|
1 | |
2 | enum token { |
3 | tok_menuname, |
4 | tok_menuoption, |
5 | tok_comment, |
6 | tok_bool, |
7 | tok_tristate, |
8 | tok_dep_tristate, |
9 | tok_nop, |
10 | tok_if, |
11 | tok_else, |
12 | tok_fi, |
13 | tok_int, |
14 | tok_hex, |
15 | tok_make, |
16 | tok_define, |
17 | tok_choose, |
18 | tok_choice, |
19 | tok_endmenu, |
20 | tok_unknown |
21 | }; |
22 | |
23 | enum operator { |
24 | op_eq, |
25 | op_neq, |
26 | op_and, |
27 | op_and1, |
28 | op_or, |
29 | op_bang, |
30 | op_lparen, |
31 | op_rparen, |
32 | op_variable, |
33 | op_kvariable, |
34 | op_shellcmd, |
35 | op_constant, |
36 | op_nuked |
37 | }; |
38 | |
39 | union var |
40 | { |
41 | char * str; |
42 | struct kconfig * cfg; |
43 | }; |
44 | |
45 | struct condition |
46 | { |
47 | struct condition * next; |
48 | enum operator op; |
49 | union var variable; |
50 | }; |
51 | |
52 | #define GLOBAL_WRITTEN 1 |
53 | #define CFG_DUP 2 |
54 | #define UNSAFE 4 |
55 | |
56 | struct kconfig |
57 | { |
58 | struct kconfig * next; |
59 | int flags; |
60 | enum token tok; |
61 | char menu_number; |
62 | char menu_line; |
63 | char submenu_start; |
64 | char submenu_end; |
65 | char * optionname; |
66 | char * label; |
67 | char * value; |
68 | int choice_value; |
69 | struct kconfig * choice_label; |
70 | union var depend; |
71 | struct condition * cond; |
72 | }; |
73 | |
74 | extern struct kconfig * config; |
75 | extern struct kconfig * clast; |
76 | extern struct kconfig * koption; |
77 | |
78 | /* |
79 | * Prototypes |
80 | */ |
81 | void fix_conditionals(struct kconfig * scfg); /* tkcond.c */ |
82 | void dump_tk_script(struct kconfig *scfg); /* tkgen.c */ |
Note: See TracBrowser
for help on using the repository browser.