stage1_2/stage1_2_priv.hh
changeset 20 81a06a308b7e
parent 15 0b472e25eb16
child 68 b0a43002dcac
equal deleted inserted replaced
19:cee3c4e5afe2 20:81a06a308b7e
    23  */
    23  */
    24 
    24 
    25 
    25 
    26 /*
    26 /*
    27  * The private interface to stage1_2.cc 
    27  * The private interface to stage1_2.cc 
       
    28  */
       
    29 
       
    30 
       
    31 
       
    32 /* !!! WARNING !!!
       
    33  *
       
    34  *       Whoever includes this file (stage1_2_priv.hh) will need
       
    35  *       to first inlcude iec.y.hh !!
       
    36  *
       
    37  *       Read other comments further down to understand why we don't
       
    38  *       include iec.y.hh in this file.
    28  */
    39  */
    29 
    40 
    30 
    41 
    31 
    42 
    32 /* file with the declarations of symbol tables... */
    43 /* file with the declarations of symbol tables... */
    87  *       through the function get_identifier_token()
    98  *       through the function get_identifier_token()
    88  */
    99  */
    89 /* NOTE: BOGUS_TOKEN_ID is defined in the bison generated file iec.y.hh.
   100 /* NOTE: BOGUS_TOKEN_ID is defined in the bison generated file iec.y.hh.
    90  *       We need this constant defined before we can declare the symbol tables.
   101  *       We need this constant defined before we can declare the symbol tables.
    91  *       However, we cannot #include "iec.y.hh" in this file (stage1_2_priv.hh) directly
   102  *       However, we cannot #include "iec.y.hh" in this file (stage1_2_priv.hh) directly
    92  *       because of the way bison ver. 3.2 is copying all declarations in the prologue
   103  *       because of the way bison ver. 2.3 is copying all declarations in the prologue
    93  *       of iec.y to the iec.y.hh file (including an #include stage1_2_priv.hh).
   104  *       of iec.y to the iec.y.hh file (including an #include stage1_2_priv.hh).
    94  *       So, if we were to include "iec.y.hh" here, we would get a circular include.
   105  *       So, if we were to include "iec.y.hh" here, we would get a circular include.
    95  *       All this means that whoever includes this file (stage1_2_priv.hh) will need
   106  *       All this means that whoever includes this file (stage1_2_priv.hh) will need
    96  *       to take care to first inlcude iec.y.hh !!
   107  *       to take care to first inlcude iec.y.hh !!
    97  */ 
   108  */