equal
deleted
inserted
replaced
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" |