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_bison.h !! |
43 * to first inlcude iec_bison.hh !! |
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_bison.h in this file. |
46 * include iec_bison.hh 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... */ |
182 * |
182 * |
183 * Bison accesses these data structures directly. |
183 * Bison accesses these data structures directly. |
184 * |
184 * |
185 * In essence, they are a data passing mechanism between Bison and Flex. |
185 * In essence, they are a data passing mechanism between Bison and Flex. |
186 */ |
186 */ |
187 /* NOTE: BOGUS_TOKEN_ID is defined in the bison generated file iec_bison.h. |
187 /* NOTE: BOGUS_TOKEN_ID is defined in the bison generated file iec_bison.hh. |
188 * We need this constant defined before we can declare the symbol tables. |
188 * We need this constant defined before we can declare the symbol tables. |
189 * However, we cannot #include "iec_bison.h" in this file (stage1_2_priv.hh) directly |
189 * However, we cannot #include "iec_bison.hh" in this file (stage1_2_priv.hh) directly |
190 * because of the way bison ver. 2.3 is copying all declarations in the prologue |
190 * because of the way bison ver. 2.3 is copying all declarations in the prologue |
191 * of iec.y to the iec_bison.h file (including an #include stage1_2_priv.hh). |
191 * of iec.y to the iec_bison.hh file (including an #include stage1_2_priv.hh). |
192 * So, if we were to include "iec_bison.h" here, we would get a circular include. |
192 * So, if we were to include "iec_bison.hh" here, we would get a circular include. |
193 * All this means that whoever includes this file (stage1_2_priv.hh) will need |
193 * All this means that whoever includes this file (stage1_2_priv.hh) will need |
194 * to take care to first inlcude iec_bison.h !! |
194 * to take care to first inlcude iec_bison.hh !! |
195 */ |
195 */ |
196 /* A symbol table to store all the library elements */ |
196 /* A symbol table to store all the library elements */ |
197 /* e.g.: <function_name , function_decl> |
197 /* e.g.: <function_name , function_decl> |
198 * <fb_name , fb_decl> |
198 * <fb_name , fb_decl> |
199 * <type_name , type_decl> |
199 * <type_name , type_decl> |