380 pt->symbol->accept(*this); |
380 pt->symbol->accept(*this); |
381 s4o.print("."); |
381 s4o.print("."); |
382 } |
382 } |
383 } |
383 } |
384 |
384 |
|
385 |
|
386 /********************************/ |
|
387 /* B 1.3.3 - Derived data types */ |
|
388 /********************************/ |
|
389 /* enumerated_type_name ':' enumerated_spec_init */ |
|
390 void *visit(enumerated_type_declaration_c *symbol) { |
|
391 this->current_var_type_name->accept(*this); |
|
392 return NULL; |
|
393 } |
|
394 |
|
395 /* enumerated_specification ASSIGN enumerated_value */ |
|
396 void *visit(enumerated_spec_init_c *symbol) { |
|
397 /* search_base_type_c now returns an enumerated_type_declaration_c as the base type of a non-anonymous enumerated type |
|
398 * (non-anonymous means it is declared inside a TYPE ... END_TYPE declaration, with a given name/identifier |
|
399 * unlike implicitly defined anonymous datatypes declared inside VAR ... END_VAR declarations!). |
|
400 * This means that this method should not get called. |
|
401 */ |
|
402 ERROR; |
|
403 this->current_var_type_name->accept(*this); |
|
404 return NULL; |
|
405 } |
|
406 |
|
407 /* enumerated_value_list ',' enumerated_value */ |
|
408 void *visit(enumerated_value_list_c *symbol) { |
|
409 /* search_base_type_c now returns an enumerated_type_declaration_c as the base type of a non-anonymous enumerated type |
|
410 * (non-anonymous means it is declared inside a TYPE ... END_TYPE declaration, with a given name/identifier |
|
411 * unlike implicitly defined anonymous datatypes declared inside VAR ... END_VAR declarations!). |
|
412 * This means that this method should not get called. |
|
413 */ |
|
414 ERROR; |
|
415 this->current_var_type_name->accept(*this); |
|
416 return NULL; |
|
417 } |
|
418 |
385 /********************************************/ |
419 /********************************************/ |
386 /* B.1.4.3 - Declaration and initialization */ |
420 /* B.1.4.3 - Declaration and initialization */ |
387 /********************************************/ |
421 /********************************************/ |
388 |
422 |
389 /* [variable_name] location ':' located_var_spec_init */ |
423 /* [variable_name] location ':' located_var_spec_init */ |
554 reset_var_type_symbol(); |
588 reset_var_type_symbol(); |
555 |
589 |
556 return NULL; |
590 return NULL; |
557 } |
591 } |
558 |
592 |
559 /* enumerated_value_list ',' enumerated_value */ |
593 |
560 void *visit(enumerated_value_list_c *symbol) { |
|
561 this->current_var_type_name->accept(*this); |
|
562 return NULL; |
|
563 } |
|
564 |
|
565 /* fb_name_list ':' function_block_type_name ASSIGN structure_initialization */ |
594 /* fb_name_list ':' function_block_type_name ASSIGN structure_initialization */ |
566 /* structure_initialization -> may be NULL ! */ |
595 /* structure_initialization -> may be NULL ! */ |
567 void *visit(fb_name_decl_c *symbol) { |
596 void *visit(fb_name_decl_c *symbol) { |
568 TRACE("fb_name_decl_c"); |
597 TRACE("fb_name_decl_c"); |
569 /* Please read the comments inside the var1_init_decl_c |
598 /* Please read the comments inside the var1_init_decl_c |