stage1_2/stage1_2_priv.hh
changeset 822 a7d9e0b8636b
parent 761 7b52623a2f37
child 870 9c6c588fd708
equal deleted inserted replaced
821:fa4569bf1538 822:a7d9e0b8636b
    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>