summaryrefslogtreecommitdiff
path: root/src/parser.y
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2013-04-19 17:56:27 (GMT)
committerMarius Kintel <marius@kintel.net>2013-04-26 21:43:40 (GMT)
commitb4568a09df8be0f212ba1c4fd1660459900e3cf0 (patch)
treebb8d909393a6c2e5bd7987f2e1dd13095507ff54 /src/parser.y
parent64ed1eb9fe00e287d84b18830df86cc0de6b122a (diff)
Refactored assignments and assignments_var into one component
Diffstat (limited to 'src/parser.y')
-rw-r--r--src/parser.y13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/parser.y b/src/parser.y
index fd6b164..096bb89 100644
--- a/src/parser.y
+++ b/src/parser.y
@@ -148,10 +148,15 @@ module_instantiation {
}
} |
TOK_ID '=' expr ';' {
- std::list<std::string>::iterator found = std::find(currmodule->assignments_var.begin(), currmodule->assignments_var.end(),$1);
- if (found != currmodule->assignments_var.end()) currmodule->assignments_var.erase(found);
- currmodule->assignments_var.push_back($1);
- currmodule->assignments[$1] = $3;
+ for (AssignmentList::iterator iter = currmodule->assignments.begin();
+ iter != currmodule->assignments.end();
+ iter++) {
+ if (iter->first == $1) {
+ currmodule->assignments.erase(iter);
+ break;
+ }
+ }
+ currmodule->assignments.push_back(Assignment($1, $3));
} |
TOK_MODULE TOK_ID '(' arguments_decl optional_commas ')' {
Module *p = currmodule;
contact: Jan Huwald // Impressum