diff --git a/Tag.cpp b/Tag.cpp index 407f6a7..0feb989 100644 --- a/Tag.cpp +++ b/Tag.cpp @@ -441,7 +441,10 @@ namespace jet { } return; } - + + void Tag::storeVariable(coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) { + } + void Tag::storeVariable(coreutils::ZString variable) { if(keywordDefined("expr")) { if(!keywordDefined("scope") || (resolveKeyword("scope") == "global")) diff --git a/Tag.h b/Tag.h index e4247c4..cb86fba 100644 --- a/Tag.h +++ b/Tag.h @@ -45,6 +45,7 @@ namespace jet { bool cleanWhitespace = false; void renderVariableName(coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier); + void storeVariable(coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope); void storeVariable(coreutils::ZString variable); private: diff --git a/__for.cpp b/__for.cpp index 84cd8bc..a1bdb01 100644 --- a/__for.cpp +++ b/__for.cpp @@ -8,23 +8,23 @@ namespace jet { double counter = 0.0f; bool nameDefined = keywordDefined("name"); if(keywordDefined("start")) { - counter = keywords[resolveKeyword("start")].asDouble(); + counter = resolveKeyword("start").asDouble(); keywords["start"].reset(); } if(!keywordDefined("end")) throw coreutils::Exception("for tag requires end keyword."); if(!keywordDefined("step")) throw coreutils::Exception("for tag requires step keyword."); - for(double ix = counter; ix <= variables[resolveKeyword("end")].asDouble(); ix += variables[resolveKeyword("step")].asDouble()) { - keywords[resolveKeyword("end")].reset(); - keywords[resolveKeyword("step")].reset(); + for(double ix = counter; ix <= resolveKeyword("end").asDouble(); ix += resolveKeyword("step").asDouble()) { + resolveKeyword("end").reset(); + resolveKeyword("step").reset(); if(nameDefined) { - if(!keywordDefined("scope") || (keywords[resolveKeyword("scope")] == "global")) - global.variables[keywords[resolveKeyword("name")]] = ix; - else if(keywords[resolveKeyword("scope")] == "local") - this->local->variables[keywords[resolveKeyword("name")]] = ix; - else if(keywords[resolveKeyword("scope")] == "parent") - parent->local->variables[keywords[resolveKeyword("name")]] = ix; + if(!keywordDefined("scope") || (resolveKeyword("scope") == "global")) + global.variables[resolveKeyword("name")] = ix; + else if(resolveKeyword("scope") == "local") + this->local->variables[resolveKeyword("name")] = ix; + else if(resolveKeyword("scope") == "parent") + parent->local->variables[resolveKeyword("name")] = ix; else throw coreutils::Exception("scope value is not valid."); }