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