38 |
38 |
39 |
39 |
40 /* !!! WARNING !!! |
40 /* !!! WARNING !!! |
41 * |
41 * |
42 * Whoever includes this file (stage1_2_priv.hh) will need |
42 * Whoever includes this file (stage1_2_priv.hh) will need |
43 * to first inlcude iec.y.hh !! |
43 * to first inlcude iec_bison.h !! |
44 * |
44 * |
45 * Read other comments further down to understand why we don't |
45 * Read other comments further down to understand why we don't |
46 * include iec.y.hh in this file. |
46 * include iec_bison.h in this file. |
47 */ |
47 */ |
48 |
48 |
49 |
49 |
50 |
50 |
51 /* file with the declarations of symbol tables... */ |
51 /* file with the declarations of symbol tables... */ |
184 * |
184 * |
185 * Bison accesses these data structures directly. |
185 * Bison accesses these data structures directly. |
186 * |
186 * |
187 * In essence, they are a data passing mechanism between Bison and Flex. |
187 * In essence, they are a data passing mechanism between Bison and Flex. |
188 */ |
188 */ |
189 /* NOTE: BOGUS_TOKEN_ID is defined in the bison generated file iec.y.hh. |
189 /* NOTE: BOGUS_TOKEN_ID is defined in the bison generated file iec_bison.h. |
190 * We need this constant defined before we can declare the symbol tables. |
190 * We need this constant defined before we can declare the symbol tables. |
191 * However, we cannot #include "iec.y.hh" in this file (stage1_2_priv.hh) directly |
191 * However, we cannot #include "iec_bison.h" in this file (stage1_2_priv.hh) directly |
192 * because of the way bison ver. 2.3 is copying all declarations in the prologue |
192 * because of the way bison ver. 2.3 is copying all declarations in the prologue |
193 * of iec.y to the iec.y.hh file (including an #include stage1_2_priv.hh). |
193 * of iec.y to the iec_bison.h file (including an #include stage1_2_priv.hh). |
194 * So, if we were to include "iec.y.hh" here, we would get a circular include. |
194 * So, if we were to include "iec_bison.h" here, we would get a circular include. |
195 * All this means that whoever includes this file (stage1_2_priv.hh) will need |
195 * All this means that whoever includes this file (stage1_2_priv.hh) will need |
196 * to take care to first inlcude iec.y.hh !! |
196 * to take care to first inlcude iec_bison.h !! |
197 */ |
197 */ |
198 /* A symbol table to store all the library elements */ |
198 /* A symbol table to store all the library elements */ |
199 /* e.g.: <function_name , function_decl> |
199 /* e.g.: <function_name , function_decl> |
200 * <fb_name , fb_decl> |
200 * <fb_name , fb_decl> |
201 * <type_name , type_decl> |
201 * <type_name , type_decl> |