440 |
440 |
441 /* var1_list ':' array_spec_init */ |
441 /* var1_list ':' array_spec_init */ |
442 //SYM_REF2(array_var_init_decl_c, var1_list, array_spec_init) |
442 //SYM_REF2(array_var_init_decl_c, var1_list, array_spec_init) |
443 void *function_param_iterator_c::visit(array_var_init_decl_c *symbol) { |
443 void *function_param_iterator_c::visit(array_var_init_decl_c *symbol) { |
444 TRACE("array_var_init_decl_c"); |
444 TRACE("array_var_init_decl_c"); |
445 |
|
446 current_param_default_value = spec_init_sperator_c::get_init(symbol->array_spec_init); |
445 current_param_default_value = spec_init_sperator_c::get_init(symbol->array_spec_init); |
447 current_param_type = spec_init_sperator_c::get_spec(symbol->array_spec_init); |
446 current_param_type = spec_init_sperator_c::get_spec(symbol->array_spec_init); |
448 |
447 |
449 return symbol->var1_list->accept(*this); |
448 return symbol->var1_list->accept(*this); |
450 } |
449 } |
457 current_param_default_value = spec_init_sperator_c::get_init(symbol->initialized_structure); |
456 current_param_default_value = spec_init_sperator_c::get_init(symbol->initialized_structure); |
458 current_param_type = spec_init_sperator_c::get_spec(symbol->initialized_structure); |
457 current_param_type = spec_init_sperator_c::get_spec(symbol->initialized_structure); |
459 |
458 |
460 return symbol->var1_list->accept(*this); |
459 return symbol->var1_list->accept(*this); |
461 } |
460 } |
|
461 |
|
462 |
|
463 |
|
464 |
|
465 /* fb_name_list ':' function_block_type_name ASSIGN structure_initialization */ |
|
466 /* structure_initialization -> may be NULL ! */ |
|
467 // SYM_REF3(fb_name_decl_c, fb_name_list, function_block_type_name, structure_initialization) |
|
468 void *function_param_iterator_c::visit(fb_name_decl_c *symbol) { |
|
469 TRACE("structured_var_init_decl_c"); |
|
470 current_param_default_value = symbol->structure_initialization ; |
|
471 current_param_type = symbol->function_block_type_name ; |
|
472 |
|
473 return symbol->fb_name_list->accept(*this); |
|
474 } |
|
475 |
|
476 |
|
477 /* fb_name_list ',' fb_name */ |
|
478 // SYM_LIST(fb_name_list_c) |
|
479 void *function_param_iterator_c::visit(fb_name_list_c *symbol) {TRACE("fb_name_list_c"); return handle_param_list(symbol);} |
|
480 |
462 |
481 |
463 void *function_param_iterator_c::visit(output_declarations_c *symbol) { |
482 void *function_param_iterator_c::visit(output_declarations_c *symbol) { |
464 TRACE("output_declarations_c"); |
483 TRACE("output_declarations_c"); |
465 current_param_direction = direction_out; |
484 current_param_direction = direction_out; |
466 return symbol->var_init_decl_list->accept(*this); |
485 return symbol->var_init_decl_list->accept(*this); |
494 void *function_param_iterator_c::visit(var_declaration_list_c *symbol) {TRACE("var_declaration_list_c"); return iterate_list(symbol);} |
513 void *function_param_iterator_c::visit(var_declaration_list_c *symbol) {TRACE("var_declaration_list_c"); return iterate_list(symbol);} |
495 |
514 |
496 /* var1_list ':' array_specification */ |
515 /* var1_list ':' array_specification */ |
497 //SYM_REF2(array_var_declaration_c, var1_list, array_specification) |
516 //SYM_REF2(array_var_declaration_c, var1_list, array_specification) |
498 void *function_param_iterator_c::visit(array_var_declaration_c *symbol) { |
517 void *function_param_iterator_c::visit(array_var_declaration_c *symbol) { |
499 TRACE("array_var_declaration_c"); |
518 TRACE("array_var_declaration_c"); |
500 |
519 current_param_default_value = NULL; |
501 current_param_default_value = NULL; |
520 current_param_type = symbol->array_specification; |
502 current_param_type = symbol->array_specification; |
521 return symbol->var1_list->accept(*this); |
503 |
|
504 return symbol->var1_list->accept(*this); |
|
505 } |
522 } |
506 |
523 |
507 /* var1_list ':' structure_type_name */ |
524 /* var1_list ':' structure_type_name */ |
508 //SYM_REF2(structured_var_declaration_c, var1_list, structure_type_name) |
525 //SYM_REF2(structured_var_declaration_c, var1_list, structure_type_name) |
509 void *function_param_iterator_c::visit(structured_var_declaration_c *symbol) { |
526 void *function_param_iterator_c::visit(structured_var_declaration_c *symbol) { |
510 TRACE("structured_var_declaration_c"); |
527 TRACE("structured_var_declaration_c"); |
511 |
|
512 current_param_default_value = NULL; |
528 current_param_default_value = NULL; |
513 current_param_type = symbol->structure_type_name; |
529 current_param_type = symbol->structure_type_name; |
514 |
|
515 return symbol->var1_list->accept(*this); |
530 return symbol->var1_list->accept(*this); |
516 } |
531 } |
517 |
532 |
518 /* VAR [CONSTANT] var_init_decl_list END_VAR */ |
533 /* VAR [CONSTANT] var_init_decl_list END_VAR */ |
519 void *function_param_iterator_c::visit(var_declarations_c *symbol) {TRACE("var_declarations_c"); return NULL;} |
534 void *function_param_iterator_c::visit(var_declarations_c *symbol) {TRACE("var_declarations_c"); return NULL;} |