stage1_2/stage1_2_priv.hh
changeset 881 e05d69c1ccb3
parent 873 dea39ef02847
parent 870 9c6c588fd708
child 934 2a42a68f4b59
equal deleted inserted replaced
880:599e88d12f9a 881:e05d69c1ccb3
    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>