83 * numeric literal '30' must then be considered a LINT so the ADD function may be called |
83 * numeric literal '30' must then be considered a LINT so the ADD function may be called |
84 * with all inputs of the same data type. |
84 * with all inputs of the same data type. |
85 * If 'x' were a SINT, then the '30' would have to be a SINT too! |
85 * If 'x' were a SINT, then the '30' would have to be a SINT too! |
86 */ |
86 */ |
87 void *search_base_type_c::visit(real_c *symbol) {return (void *)symbol;} |
87 void *search_base_type_c::visit(real_c *symbol) {return (void *)symbol;} |
|
88 void *search_base_type_c::visit(neg_real_c *symbol) {return (void *)symbol;} |
88 void *search_base_type_c::visit(integer_c *symbol) {return (void *)symbol;} |
89 void *search_base_type_c::visit(integer_c *symbol) {return (void *)symbol;} |
|
90 void *search_base_type_c::visit(neg_integer_c *symbol) {return (void *)symbol;} |
89 void *search_base_type_c::visit(binary_integer_c *symbol) {return (void *)symbol;} |
91 void *search_base_type_c::visit(binary_integer_c *symbol) {return (void *)symbol;} |
90 void *search_base_type_c::visit(octal_integer_c *symbol) {return (void *)symbol;} |
92 void *search_base_type_c::visit(octal_integer_c *symbol) {return (void *)symbol;} |
91 void *search_base_type_c::visit(hex_integer_c *symbol) {return (void *)symbol;} |
93 void *search_base_type_c::visit(hex_integer_c *symbol) {return (void *)symbol;} |
|
94 void *search_base_type_c::visit(boolean_true_c *symbol) {return (void *)symbol;} |
|
95 void *search_base_type_c::visit(boolean_false_c *symbol) {return (void *)symbol;} |
92 |
96 |
93 |
97 |
94 /***********************************/ |
98 /***********************************/ |
95 /* B 1.3.1 - Elementary Data Types */ |
99 /* B 1.3.1 - Elementary Data Types */ |
96 /***********************************/ |
100 /***********************************/ |
113 void *search_base_type_c::visit(word_type_name_c *symbol) {return (void *)symbol;} |
117 void *search_base_type_c::visit(word_type_name_c *symbol) {return (void *)symbol;} |
114 void *search_base_type_c::visit(dword_type_name_c *symbol) {return (void *)symbol;} |
118 void *search_base_type_c::visit(dword_type_name_c *symbol) {return (void *)symbol;} |
115 void *search_base_type_c::visit(lword_type_name_c *symbol) {return (void *)symbol;} |
119 void *search_base_type_c::visit(lword_type_name_c *symbol) {return (void *)symbol;} |
116 void *search_base_type_c::visit(string_type_name_c *symbol) {return (void *)symbol;} |
120 void *search_base_type_c::visit(string_type_name_c *symbol) {return (void *)symbol;} |
117 void *search_base_type_c::visit(wstring_type_name_c *symbol) {return (void *)symbol;} |
121 void *search_base_type_c::visit(wstring_type_name_c *symbol) {return (void *)symbol;} |
118 /* |
122 |
119 void *search_base_type_c::visit(constant_int_type_name_c *symbol) {return (void *)symbol;} |
123 |
120 void *search_base_type_c::visit(constant_real_type_name_c *symbol) {return (void *)symbol;} |
|
121 */ |
|
122 /******************************************************/ |
124 /******************************************************/ |
123 /* Extensions to the base standard as defined in */ |
125 /* Extensions to the base standard as defined in */ |
124 /* "Safety Software Technical Specification, */ |
126 /* "Safety Software Technical Specification, */ |
125 /* Part 1: Concepts and Function Blocks, */ |
127 /* Part 1: Concepts and Function Blocks, */ |
126 /* Version 1.0 – Official Release" */ |
128 /* Version 1.0 – Official Release" */ |
127 /* by PLCopen - Technical Committee 5 - 2006-01-31 */ |
129 /* by PLCopen - Technical Committee 5 - 2006-01-31 */ |
128 /******************************************************/ |
130 /******************************************************/ |
129 void *search_base_type_c::visit(safebool_type_name_c *symbol) {return (void *)symbol;} |
131 |
|
132 void *search_base_type_c::visit(safetime_type_name_c *symbol) {return (void *)symbol;} |
|
133 void *search_base_type_c::visit(safebool_type_name_c *symbol) {return (void *)symbol;} |
|
134 void *search_base_type_c::visit(safesint_type_name_c *symbol) {return (void *)symbol;} |
|
135 void *search_base_type_c::visit(safeint_type_name_c *symbol) {return (void *)symbol;} |
|
136 void *search_base_type_c::visit(safedint_type_name_c *symbol) {return (void *)symbol;} |
|
137 void *search_base_type_c::visit(safelint_type_name_c *symbol) {return (void *)symbol;} |
|
138 void *search_base_type_c::visit(safeusint_type_name_c *symbol) {return (void *)symbol;} |
|
139 void *search_base_type_c::visit(safeuint_type_name_c *symbol) {return (void *)symbol;} |
|
140 void *search_base_type_c::visit(safeudint_type_name_c *symbol) {return (void *)symbol;} |
|
141 void *search_base_type_c::visit(safeulint_type_name_c *symbol) {return (void *)symbol;} |
|
142 void *search_base_type_c::visit(safereal_type_name_c *symbol) {return (void *)symbol;} |
|
143 void *search_base_type_c::visit(safelreal_type_name_c *symbol) {return (void *)symbol;} |
|
144 void *search_base_type_c::visit(safedate_type_name_c *symbol) {return (void *)symbol;} |
|
145 void *search_base_type_c::visit(safetod_type_name_c *symbol) {return (void *)symbol;} |
|
146 void *search_base_type_c::visit(safedt_type_name_c *symbol) {return (void *)symbol;} |
|
147 void *search_base_type_c::visit(safebyte_type_name_c *symbol) {return (void *)symbol;} |
|
148 void *search_base_type_c::visit(safeword_type_name_c *symbol) {return (void *)symbol;} |
|
149 void *search_base_type_c::visit(safedword_type_name_c *symbol) {return (void *)symbol;} |
|
150 void *search_base_type_c::visit(safelword_type_name_c *symbol) {return (void *)symbol;} |
|
151 void *search_base_type_c::visit(safestring_type_name_c *symbol) {return (void *)symbol;} |
|
152 void *search_base_type_c::visit(safewstring_type_name_c *symbol) {return (void *)symbol;} |
130 |
153 |
131 /********************************/ |
154 /********************************/ |
132 /* B 1.3.3 - Derived data types */ |
155 /* B 1.3.3 - Derived data types */ |
133 /********************************/ |
156 /********************************/ |
134 /* simple_type_name ':' simple_spec_init */ |
157 /* simple_type_name ':' simple_spec_init */ |