fixed the for tag.
This commit is contained in:
parent
ebb6dc4ca9
commit
83321a2f43
3
Tag.cpp
3
Tag.cpp
@ -442,6 +442,9 @@ 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"))
|
||||
|
1
Tag.h
1
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:
|
||||
|
20
__for.cpp
20
__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.");
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user