absyntax_utils/function_param_iterator.cc
changeset 235 ed66dc50f31a
parent 233 3d23a68183d3
child 237 cece842c7417
equal deleted inserted replaced
234:e4d31cd0e6d8 235:ed66dc50f31a
   243   return handle_single_param(symbol->name);
   243   return handle_single_param(symbol->name);
   244 }
   244 }
   245 
   245 
   246 /* var1_list ':' array_spec_init */
   246 /* var1_list ':' array_spec_init */
   247 //SYM_REF2(array_var_init_decl_c, var1_list, array_spec_init)
   247 //SYM_REF2(array_var_init_decl_c, var1_list, array_spec_init)
   248 void *function_param_iterator_c::visit(array_var_init_decl_c *symbol) {TRACE("array_var_init_decl_c"); return symbol->var1_list->accept(*this);}
   248 void *function_param_iterator_c::visit(array_var_init_decl_c *symbol) {
       
   249   TRACE("array_var_init_decl_c");
       
   250 
       
   251   current_param_default_value = spec_init_sperator_c::get_init(symbol->array_spec_init);
       
   252   current_param_type = spec_init_sperator_c::get_spec(symbol->array_spec_init);
       
   253 
       
   254   return symbol->var1_list->accept(*this);
       
   255 }
   249 
   256 
   250 /*  var1_list ':' initialized_structure */
   257 /*  var1_list ':' initialized_structure */
   251 //SYM_REF2(structured_var_init_decl_c, var1_list, initialized_structure)
   258 //SYM_REF2(structured_var_init_decl_c, var1_list, initialized_structure)
   252 void *function_param_iterator_c::visit(structured_var_init_decl_c *symbol) {TRACE("structured_var_init_decl_c"); return symbol->var1_list->accept(*this);}
   259 void *function_param_iterator_c::visit(structured_var_init_decl_c *symbol) {
       
   260   TRACE("structured_var_init_decl_c");
       
   261 
       
   262   current_param_default_value = spec_init_sperator_c::get_init(symbol->initialized_structure);
       
   263   current_param_type = spec_init_sperator_c::get_spec(symbol->initialized_structure);
       
   264 
       
   265   return symbol->var1_list->accept(*this);
       
   266 }
   253 
   267 
   254 void *function_param_iterator_c::visit(output_declarations_c *symbol) {
   268 void *function_param_iterator_c::visit(output_declarations_c *symbol) {
   255   TRACE("output_declarations_c");
   269   TRACE("output_declarations_c");
   256   current_param_direction = direction_out;
   270   current_param_direction = direction_out;
   257   return symbol->var_init_decl_list->accept(*this);
   271   return symbol->var_init_decl_list->accept(*this);
   282 //SYM_REF2(array_var_declaration_c, var1_list, array_specification)
   296 //SYM_REF2(array_var_declaration_c, var1_list, array_specification)
   283 void *function_param_iterator_c::visit(array_var_declaration_c *symbol) {TRACE("array_var_declaration_c"); return symbol->var1_list->accept(*this);}
   297 void *function_param_iterator_c::visit(array_var_declaration_c *symbol) {TRACE("array_var_declaration_c"); return symbol->var1_list->accept(*this);}
   284 
   298 
   285 /*  var1_list ':' structure_type_name */
   299 /*  var1_list ':' structure_type_name */
   286 //SYM_REF2(structured_var_declaration_c, var1_list, structure_type_name)
   300 //SYM_REF2(structured_var_declaration_c, var1_list, structure_type_name)
   287 void *function_param_iterator_c::visit(structured_var_declaration_c *symbol) {TRACE("structured_var_declaration_c"); return symbol->var1_list->accept(*this);}
   301 void *function_param_iterator_c::visit(structured_var_declaration_c *symbol) {
       
   302   TRACE("structured_var_declaration_c");
       
   303 
       
   304   current_param_default_value = NULL;
       
   305   current_param_type = symbol->structure_type_name;
       
   306 
       
   307   return symbol->var1_list->accept(*this);
       
   308 }
   288 
   309 
   289 /* VAR [CONSTANT] var_init_decl_list END_VAR */
   310 /* VAR [CONSTANT] var_init_decl_list END_VAR */
   290 void *function_param_iterator_c::visit(var_declarations_c *symbol) {TRACE("var_declarations_c"); return NULL;}
   311 void *function_param_iterator_c::visit(var_declarations_c *symbol) {TRACE("var_declarations_c"); return NULL;}
   291 
   312 
   292 /*| VAR_EXTERNAL [CONSTANT] external_declaration_list END_VAR */
   313 /*| VAR_EXTERNAL [CONSTANT] external_declaration_list END_VAR */