equal
deleted
inserted
replaced
40 * - check SFC code |
40 * - check SFC code |
41 * - must fix S and R IL functions (includes potientialy fixing stage4 code!) |
41 * - must fix S and R IL functions (includes potientialy fixing stage4 code!) |
42 */ |
42 */ |
43 |
43 |
44 |
44 |
|
45 /* NOTE: The algorithm implemented here assumes that flow control analysis has already been completed! |
|
46 * BEFORE running this visitor, be sure to CALL the flow_control_analysis_c visitor! |
|
47 */ |
|
48 |
|
49 |
45 /* |
50 /* |
46 * Fill candidate list of data types for all symbols |
51 * Fill the candidate datatype list for all symbols that may legally 'have' a data type (e.g. variables, literals, function calls, expressions, etc.) |
|
52 * |
|
53 * The candidate datatype list will be filled with a list of all the data types that expression may legally take. |
|
54 * For example, the very simple literal '0' (as in foo := 0), may represent a: |
|
55 * BOOL, BYTE, WORD, DWORD, LWORD, USINT, SINT, UINT, INT, UDINT, DINT, ULINT, LINT (as well as the SAFE versions of these data tyes too!) |
47 */ |
56 */ |
48 |
57 |
49 #include "fill_candidate_datatypes.hh" |
58 #include "fill_candidate_datatypes.hh" |
50 #include "datatype_functions.hh" |
59 #include "datatype_functions.hh" |
51 #include <typeinfo> |
60 #include <typeinfo> |