57 |
57 |
58 |
58 |
59 public: |
59 public: |
60 static symbol_c *get_id (symbol_c *datatype); /* get the identifier (name) of the datatype); returns NULL if anonymous datatype! Does not work for elementary datatypes!*/ |
60 static symbol_c *get_id (symbol_c *datatype); /* get the identifier (name) of the datatype); returns NULL if anonymous datatype! Does not work for elementary datatypes!*/ |
61 static const char *get_id_str(symbol_c *datatype); /* get the identifier (name) of the datatype); returns NULL if anonymous datatype! */ |
61 static const char *get_id_str(symbol_c *datatype); /* get the identifier (name) of the datatype); returns NULL if anonymous datatype! */ |
62 |
62 |
|
63 static symbol_c *get_ref_to (symbol_c *type_symbol); // Defined in IEC 61131-3 v3 (returns the type that is being referenced/pointed to) |
|
64 |
63 static bool is_type_equal(symbol_c *first_type, symbol_c *second_type); |
65 static bool is_type_equal(symbol_c *first_type, symbol_c *second_type); |
64 static bool is_type_valid(symbol_c *type); |
66 static bool is_type_valid(symbol_c *type); |
65 |
67 |
66 static bool is_ANY_REAL_literal(symbol_c *type_symbol); /* Can't we do away with this?? */ |
68 static bool is_ref_to (symbol_c *type_symbol); // Defined in IEC 61131-3 v3 |
67 static bool is_ANY_INT_literal (symbol_c *type_symbol); /* Can't we do away with this?? */ |
|
68 |
|
69 static bool is_sfc_initstep (symbol_c *type_symbol); |
69 static bool is_sfc_initstep (symbol_c *type_symbol); |
70 static bool is_sfc_step (symbol_c *type_symbol); |
70 static bool is_sfc_step (symbol_c *type_symbol); |
71 static bool is_function_block (symbol_c *type_symbol); |
71 static bool is_function_block (symbol_c *type_symbol); |
72 static bool is_subrange (symbol_c *type_symbol); |
72 static bool is_subrange (symbol_c *type_symbol); |
73 static bool is_enumerated (symbol_c *type_symbol); |
73 static bool is_enumerated (symbol_c *type_symbol); |
74 static bool is_array (symbol_c *type_symbol); |
74 static bool is_array (symbol_c *type_symbol); |
75 static bool is_structure (symbol_c *type_symbol); |
75 static bool is_structure (symbol_c *type_symbol); |
76 |
|
77 |
76 |
|
77 static bool is_ANY_REAL_literal(symbol_c *type_symbol); /* Can't we do away with this?? */ |
|
78 static bool is_ANY_INT_literal (symbol_c *type_symbol); /* Can't we do away with this?? */ |
|
79 |
78 static bool is_ANY_ELEMENTARY (symbol_c *type_symbol); |
80 static bool is_ANY_ELEMENTARY (symbol_c *type_symbol); |
79 static bool is_ANY_SAFEELEMENTARY (symbol_c *type_symbol); |
81 static bool is_ANY_SAFEELEMENTARY (symbol_c *type_symbol); |
80 static bool is_ANY_ELEMENTARY_compatible (symbol_c *type_symbol); |
82 static bool is_ANY_ELEMENTARY_compatible (symbol_c *type_symbol); |
81 |
83 |
82 static bool is_ANY_MAGNITUDE (symbol_c *type_symbol); |
84 static bool is_ANY_MAGNITUDE (symbol_c *type_symbol); |