]>
Commit | Line | Data |
---|---|---|
885824d3 | 1 | /* |
28bf4b0b | 2 | ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001. |
885824d3 | 3 | ** See ../LICENSE for license information. |
4 | ** | |
5 | */ | |
6 | ||
7 | typedef enum { | |
8 | OPF_IF, OPF_ANYOP, OPF_MANYOP, OPF_ANYOPM, OPF_MANYOPM, | |
9 | OPF_MIDDLE, OPF_MMIDDLE, OPF_MIDDLEM, OPF_MMIDDLEM, | |
10 | OPF_BMIDDLE, OPF_BMMIDDLE, | |
11 | OPF_BMIDDLEM, OPF_BMMIDDLEM, | |
12 | OPF_SELECT, OPF_MAP, | |
13 | OPF_MSELECT, OPF_MMAP | |
28bf4b0b | 14 | } opFormKind; |
885824d3 | 15 | |
16 | typedef union { | |
17 | int middle; | |
18 | ltoken anyop; | |
19 | ltoken id; | |
20 | } opFormUnion; | |
21 | ||
28bf4b0b | 22 | struct s_opFormNode { |
885824d3 | 23 | ltoken tok; /* keeps the openSym token */ |
24 | opFormKind kind; | |
25 | opFormUnion content; | |
26 | unsigned int key; | |
27 | ltoken close; /* keeps the closeSym token */ | |
28bf4b0b | 28 | } ; |
885824d3 | 29 | |
30 | extern /*@unused@*/ /*@only@*/ cstring | |
31 | opFormNode_unparse (/*@null@*/ opFormNode p_n) /*@*/ ; |