stage4/generate_cc/generate_cc.cc
changeset 39 e08c65e27557
parent 32 289256ec66f1
child 40 873a5b60a7ea
equal deleted inserted replaced
38:6cce7d14647e 39:e08c65e27557
  1206       symbol->program_configuration_list->accept(*this);
  1206       symbol->program_configuration_list->accept(*this);
  1207       
  1207       
  1208       s4o.indent_left();
  1208       s4o.indent_left();
  1209       s4o.print("}\n\n");
  1209       s4o.print("}\n\n");
  1210       
  1210       
  1211       if (single_resource)
  1211       if (single_resource) {
  1212         delete current_resource_name;
  1212         delete current_resource_name;
       
  1213         current_resource_name = NULL;
       
  1214       }
  1213       return NULL;
  1215       return NULL;
  1214     }
  1216     }
  1215     
  1217     
  1216 /*  PROGRAM [RETAIN | NON_RETAIN] program_name [WITH task_name] ':' program_type_name ['(' prog_conf_elements ')'] */
  1218 /*  PROGRAM [RETAIN | NON_RETAIN] program_name [WITH task_name] ':' program_type_name ['(' prog_conf_elements ')'] */
  1217 //SYM_REF6(program_configuration_c, retain_option, program_name, task_name, program_type_name, prog_conf_elements, unused)
  1219 //SYM_REF6(program_configuration_c, retain_option, program_name, task_name, program_type_name, prog_conf_elements, unused)
  1240           s4o.print(" == 0) {\n");
  1242           s4o.print(" == 0) {\n");
  1241           s4o.indent_right(); 
  1243           s4o.indent_right(); 
  1242         }
  1244         }
  1243         
  1245         
  1244         wanted_assigntype = assign_at;
  1246         wanted_assigntype = assign_at;
  1245         symbol->prog_conf_elements->accept(*this);
  1247         if (symbol->prog_conf_elements != NULL)
       
  1248           symbol->prog_conf_elements->accept(*this);
  1246         
  1249         
  1247         s4o.print(s4o.indent_spaces);
  1250         s4o.print(s4o.indent_spaces);
  1248         symbol->program_type_name->accept(*this);
  1251         symbol->program_type_name->accept(*this);
  1249         s4o.print(FB_FUNCTION_SUFFIX);
  1252         s4o.print(FB_FUNCTION_SUFFIX);
  1250         s4o.print("(&");
  1253         s4o.print("(&");
  1251         symbol->program_name->accept(*this);
  1254         symbol->program_name->accept(*this);
  1252         s4o.print(");\n");
  1255         s4o.print(");\n");
  1253         
  1256         
  1254         wanted_assigntype = send_at;
  1257         wanted_assigntype = send_at;
  1255         symbol->prog_conf_elements->accept(*this);
  1258         if (symbol->prog_conf_elements != NULL)
       
  1259           symbol->prog_conf_elements->accept(*this);
  1256         
  1260         
  1257         if (symbol->task_name != NULL) {
  1261         if (symbol->task_name != NULL) {
  1258           s4o.indent_left();
  1262           s4o.indent_left();
  1259           s4o.print(s4o.indent_spaces + "}\n");
  1263           s4o.print(s4o.indent_spaces + "}\n");
  1260         }
  1264         }