stage3/fill_candidate_datatypes.hh
changeset 552 3c39d80fdede
parent 502 a6211f73690b
child 603 a45a62dd6df9
equal deleted inserted replaced
551:a75e3aea98ff 552:3c39d80fdede
    28  * An IEC 61131-3 compiler.
    28  * An IEC 61131-3 compiler.
    29  *
    29  *
    30  * Based on the
    30  * Based on the
    31  * FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10)
    31  * FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10)
    32  *
    32  *
       
    33  */
       
    34 
       
    35 /* NOTE: The algorithm implemented here assumes that flow control analysis has already been completed!
       
    36  *       BEFORE running this visitor, be sure to CALL the flow_control_analysis_c visitor!
       
    37  */
       
    38 
       
    39 
       
    40 /*
       
    41  *  Fill the candidate datatype list for all symbols that may legally 'have' a data type (e.g. variables, literals, function calls, expressions, etc.)
       
    42  * 
       
    43  *  The candidate datatype list will be filled with a list of all the data types that expression may legally take.
       
    44  *  For example, the very simple literal '0' (as in foo := 0), may represent a:
       
    45  *    BOOL, BYTE, WORD, DWORD, LWORD, USINT, SINT, UINT, INT, UDINT, DINT, ULINT, LINT (as well as the SAFE versions of these data tyes too!)
    33  */
    46  */
    34 
    47 
    35 
    48 
    36 #include "../absyntax_utils/absyntax_utils.hh"
    49 #include "../absyntax_utils/absyntax_utils.hh"
    37 #include "datatype_functions.hh"
    50 #include "datatype_functions.hh"