absyntax_utils/function_param_iterator.cc
changeset 662 b1b11dd09a54
parent 596 4efb11e44065
child 805 b737cfc92614
equal deleted inserted replaced
661:f537c3315f83 662:b1b11dd09a54
   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;}