source: IOIPSL/trunk/tools/tkparse.h @ 2310

Last change on this file since 2310 was 16, checked in by bellier, 15 years ago

JB: add Id (ommited !)

  • Property svn:keywords set to Id
File size: 1.2 KB
Line 
1
2enum 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
23enum 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
39union var
40{
41  char * str;
42  struct kconfig * cfg;
43};
44
45struct 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
56struct 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
74extern struct kconfig * config;
75extern struct kconfig * clast;
76extern struct kconfig * koption;
77
78/*
79 * Prototypes
80 */
81void fix_conditionals(struct kconfig * scfg);   /* tkcond.c */
82void dump_tk_script(struct kconfig *scfg);      /* tkgen.c  */
Note: See TracBrowser for help on using the repository browser.