[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/devtools/kdevelop-pg-qt/kdev-pg
From: Jonathan Schmidt-Dominé <devel () the-user ! org>
Date: 2009-12-06 17:04:00
Message-ID: 1260119040.657560.9735.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1059445 by schmidt-domine:
Now you can use [: /* Code */ :] at the beginning of rules.
M +1 -0 kdev-pg-ast.h
M +1 -1 kdev-pg-clone-tree.cpp
M +2 -0 kdev-pg-code-gen.cpp
M +8 -8 kdev-pg-parser.yy
M +2 -1 kdev-pg.cpp
M +1 -1 kdev-pg.h
--- trunk/playground/devtools/kdevelop-pg-qt/kdev-pg/kdev-pg-ast.h #1059444:1059445
@@ -220,6 +220,7 @@
SymbolItem *mSymbol;
VariableDeclarationItem *mDeclarations;
QString mCode;
+ QString mPreCode;
};
} // namespace model
--- trunk/playground/devtools/kdevelop-pg-qt/kdev-pg/kdev-pg-clone-tree.cpp #1059444:1059445
@@ -111,7 +111,7 @@
Model::Node *item = mTemps.top();
mTemps.pop();
- mTemps.push(KDevPG::evolve(item, node->mSymbol, node->mDeclarations, node->mCode));
+ mTemps.push(KDevPG::evolve("", item, node->mSymbol, node->mDeclarations, node->mCode));
}
void CloneTree::visitTryCatch(Model::TryCatchItem *node)
--- trunk/playground/devtools/kdevelop-pg-qt/kdev-pg/kdev-pg-code-gen.cpp #1059444:1059445
@@ -290,6 +290,8 @@
void CodeGenerator::visitEvolve(Model::EvolveItem *node)
{
+ out << node->mPreCode;
+
out << "if (";
Model::ConditionItem *cond = nodeCast<Model::ConditionItem*>(node->mItem);
--- trunk/playground/devtools/kdevelop-pg-qt/kdev-pg/kdev-pg-parser.yy #1059444:1059445
@@ -190,18 +190,18 @@
;
item
- : option_item T_ARROW T_IDENTIFIER T_CODE '[' variableDeclarations ']'
+ : code_opt option_item T_ARROW T_IDENTIFIER T_CODE '[' variableDeclarations ']'
{
- $$ = KDevPG::evolve($1, KDevPG::globalSystem.pushSymbol($3),
- (KDevPG::Model::VariableDeclarationItem*) $6, $4);
+ $$ = KDevPG::evolve($1, $2, KDevPG::globalSystem.pushSymbol($4),
+ (KDevPG::Model::VariableDeclarationItem*) $7, $5);
}
- | option_item T_ARROW T_IDENTIFIER '[' variableDeclarations ']' code_opt
+ | code_opt option_item T_ARROW T_IDENTIFIER '[' variableDeclarations ']' code_opt
{
- $$ = KDevPG::evolve($1, KDevPG::globalSystem.pushSymbol($3),
- (KDevPG::Model::VariableDeclarationItem*) $5, $7);
+ $$ = KDevPG::evolve($1, $2, KDevPG::globalSystem.pushSymbol($4),
+ (KDevPG::Model::VariableDeclarationItem*) $6, $8);
}
- | option_item T_ARROW T_IDENTIFIER code_opt
- { $$ = KDevPG::evolve($1, KDevPG::globalSystem.pushSymbol($3), 0, $4); }
+ | code_opt option_item T_ARROW T_IDENTIFIER code_opt
+ { $$ = KDevPG::evolve($1, $2, KDevPG::globalSystem.pushSymbol($4), 0, $5); }
;
code_opt
--- trunk/playground/devtools/kdevelop-pg-qt/kdev-pg/kdev-pg.cpp #1059444:1059445
@@ -81,7 +81,7 @@
}
Model::EvolveItem *evolve(
- Model::Node *item, Model::SymbolItem *symbol,
+ const QString& preCode, Model::Node *item, Model::SymbolItem *symbol,
Model::VariableDeclarationItem *declarations, const QString& code)
{
Model::EvolveItem *node = createNode<Model::EvolveItem>();
@@ -89,6 +89,7 @@
node->mSymbol = symbol;
node->mDeclarations = declarations;
node->mCode = code;
+ node->mPreCode = preCode;
return node;
}
--- trunk/playground/devtools/kdevelop-pg-qt/kdev-pg/kdev-pg.h #1059444:1059445
@@ -43,7 +43,7 @@
Model::AlternativeItem *alternative(Model::Node *left, Model::Node *right);
Model::ConsItem *cons(Model::Node *left, Model::Node *right);
Model::EvolveItem *evolve(
- Model::Node *item, Model::SymbolItem *symbol,
+ const QString& preCode, Model::Node *item, Model::SymbolItem *symbol,
Model::VariableDeclarationItem *declarations, const QString& code
);
Model::TryCatchItem *tryCatch(Model::Node *try_item, Model::Node *catch_item);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic