fixed the for tag.
This commit is contained in:
parent
ebb6dc4ca9
commit
83321a2f43
5
Tag.cpp
5
Tag.cpp
@ -441,7 +441,10 @@ namespace jet {
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Tag::storeVariable(coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) {
|
||||||
|
}
|
||||||
|
|
||||||
void Tag::storeVariable(coreutils::ZString variable) {
|
void Tag::storeVariable(coreutils::ZString variable) {
|
||||||
if(keywordDefined("expr")) {
|
if(keywordDefined("expr")) {
|
||||||
if(!keywordDefined("scope") || (resolveKeyword("scope") == "global"))
|
if(!keywordDefined("scope") || (resolveKeyword("scope") == "global"))
|
||||||
|
1
Tag.h
1
Tag.h
@ -45,6 +45,7 @@ namespace jet {
|
|||||||
bool cleanWhitespace = false;
|
bool cleanWhitespace = false;
|
||||||
|
|
||||||
void renderVariableName(coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier);
|
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);
|
void storeVariable(coreutils::ZString variable);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
20
__for.cpp
20
__for.cpp
@ -8,23 +8,23 @@ namespace jet {
|
|||||||
double counter = 0.0f;
|
double counter = 0.0f;
|
||||||
bool nameDefined = keywordDefined("name");
|
bool nameDefined = keywordDefined("name");
|
||||||
if(keywordDefined("start")) {
|
if(keywordDefined("start")) {
|
||||||
counter = keywords[resolveKeyword("start")].asDouble();
|
counter = resolveKeyword("start").asDouble();
|
||||||
keywords["start"].reset();
|
keywords["start"].reset();
|
||||||
}
|
}
|
||||||
if(!keywordDefined("end"))
|
if(!keywordDefined("end"))
|
||||||
throw coreutils::Exception("for tag requires end keyword.");
|
throw coreutils::Exception("for tag requires end keyword.");
|
||||||
if(!keywordDefined("step"))
|
if(!keywordDefined("step"))
|
||||||
throw coreutils::Exception("for tag requires step keyword.");
|
throw coreutils::Exception("for tag requires step keyword.");
|
||||||
for(double ix = counter; ix <= variables[resolveKeyword("end")].asDouble(); ix += variables[resolveKeyword("step")].asDouble()) {
|
for(double ix = counter; ix <= resolveKeyword("end").asDouble(); ix += resolveKeyword("step").asDouble()) {
|
||||||
keywords[resolveKeyword("end")].reset();
|
resolveKeyword("end").reset();
|
||||||
keywords[resolveKeyword("step")].reset();
|
resolveKeyword("step").reset();
|
||||||
if(nameDefined) {
|
if(nameDefined) {
|
||||||
if(!keywordDefined("scope") || (keywords[resolveKeyword("scope")] == "global"))
|
if(!keywordDefined("scope") || (resolveKeyword("scope") == "global"))
|
||||||
global.variables[keywords[resolveKeyword("name")]] = ix;
|
global.variables[resolveKeyword("name")] = ix;
|
||||||
else if(keywords[resolveKeyword("scope")] == "local")
|
else if(resolveKeyword("scope") == "local")
|
||||||
this->local->variables[keywords[resolveKeyword("name")]] = ix;
|
this->local->variables[resolveKeyword("name")] = ix;
|
||||||
else if(keywords[resolveKeyword("scope")] == "parent")
|
else if(resolveKeyword("scope") == "parent")
|
||||||
parent->local->variables[keywords[resolveKeyword("name")]] = ix;
|
parent->local->variables[resolveKeyword("name")] = ix;
|
||||||
else
|
else
|
||||||
throw coreutils::Exception("scope value is not valid.");
|
throw coreutils::Exception("scope value is not valid.");
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user