From b96af395b9af2ff9df94b3e82213171f30827c8d Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Tue, 5 May 2015 21:17:24 -0700 Subject: 1276 - make C++ version the default I've tried to update the Readme, but there are at least a couple of issues. --- cpp/012transform.cc | 55 ----------------------------------------------------- 1 file changed, 55 deletions(-) delete mode 100644 cpp/012transform.cc (limited to 'cpp/012transform.cc') diff --git a/cpp/012transform.cc b/cpp/012transform.cc deleted file mode 100644 index 2c1e4610..00000000 --- a/cpp/012transform.cc +++ /dev/null @@ -1,55 +0,0 @@ -//: Phase 2: Filter loaded recipes through an extensible list of 'transforms'. -//: -//: The hope is that this framework of transform tools will provide a -//: deconstructed alternative to conventional compilers. - -:(before "End recipe Fields") -index_t transformed_until; - recipe() :transformed_until(-1) {} - -:(before "End Types") -typedef void (*transform_fn)(recipe_number); - -:(before "End Globals") -vector Transform; - -:(code) -void transform_all() { -//? cout << "AAA transform_all\n"; //? 1 - for (index_t t = 0; t < Transform.size(); ++t) { - for (map::iterator p = Recipe.begin(); p != Recipe.end(); ++p) { - recipe& r = p->second; - if (r.steps.empty()) continue; - if (r.transformed_until != t-1) continue; - (*Transform[t])(/*recipe_number*/p->first); - r.transformed_until = t; - } - } - parse_int_reagents(); // do this after all other transforms have run -} - -void parse_int_reagents() { -//? cout << "parse_int_reagents\n"; //? 1 - for (map::iterator p = Recipe.begin(); p != Recipe.end(); ++p) { - recipe& r = p->second; - if (r.steps.empty()) continue; - for (index_t index = 0; index < r.steps.size(); ++index) { - instruction& inst = r.steps[index]; - for (index_t i = 0; i < inst.ingredients.size(); ++i) { - populate_value(inst.ingredients[i]); - } - for (index_t i = 0; i < inst.products.size(); ++i) { - populate_value(inst.products[i]); - } - } - } -} - -void populate_value(reagent& r) { - if (r.initialized) return; - char* end = NULL; - int result = strtol(r.name.c_str(), &end, /*any base*/0); - if (*end != '\0') return; -//? cout << "setting value\n"; //? 1 - r.set_value(result); -} -- cgit 1.4.1-2-gfad0