169 } |
169 } |
170 ERROR; /* should never occur */ |
170 ERROR; /* should never occur */ |
171 return NULL; |
171 return NULL; |
172 } |
172 } |
173 |
173 |
|
174 |
|
175 /* ref_spec: REF_TO (non_generic_type_name | function_block_type_name) */ |
|
176 // SYM_REF1(ref_spec_c, type_name) |
|
177 void *spec_init_sperator_c::visit(ref_spec_c *symbol) { |
|
178 TRACE("spec_init_sperator_c::ref_spec_c"); |
|
179 /* This visitor should never really be called, but there is no harm in including it... */ |
|
180 switch (search_what) { |
|
181 case search_spec: return symbol; |
|
182 case search_init: return NULL; /* should never occur */ |
|
183 } |
|
184 ERROR; /* should never occur */ |
|
185 return NULL; |
|
186 } |
|
187 |
|
188 |
|
189 /* For the moment, we do not support initialising reference data types */ |
|
190 /* ref_spec_init: ref_spec [ ASSIGN ref_initialization ] */ |
|
191 /* NOTE: ref_initialization may be NULL!! */ |
|
192 // SYM_REF2(ref_spec_init_c, ref_spec, ref_initialization) |
|
193 void *spec_init_sperator_c::visit(ref_spec_init_c *symbol) { |
|
194 TRACE("spec_init_sperator_c::ref_spec_init_c"); |
|
195 switch (search_what) { |
|
196 case search_spec: return symbol->ref_spec; |
|
197 case search_init: return symbol->ref_initialization; |
|
198 } |
|
199 ERROR; /* should never occur */ |
|
200 return NULL; |
|
201 } |
|
202 |
|
203 |
|
204 |
174 /******************************************/ |
205 /******************************************/ |
175 /* B 1.4.3 - Declaration & Initialisation */ |
206 /* B 1.4.3 - Declaration & Initialisation */ |
176 /******************************************/ |
207 /******************************************/ |
177 |
208 |
178 /* STRING '[' integer ']' |
209 /* STRING '[' integer ']' |