[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:       2010-04-27 17:57:35
Message-ID: 20100427175735.B2A2DAC8A4 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1119722 by schmidt-domine:

Produce extra-errors in the expression-parser.


 M  +10 -0     kdev-pg-code-gen.cpp  


--- trunk/playground/devtools/kdevelop-pg-qt/kdev-pg/kdev-pg-code-gen.cpp #1119721:1119722
@@ -863,6 +863,16 @@
                "{"
                "olast = last;"
                "last = opStack.last().n;"
+               "bool fail = false;"
+               "if(last->kind == AstNode::Ternary" << sym->mCapitalizedName << "Kind)\n"
+               "fail = ((Ternary" << sym->mCapitalizedName << "Ast*)last)->third == 0;"
+               "else if(last->kind == AstNode::Binary" << sym->mCapitalizedName << "Kind)\n"
+               "fail = ((Binary" << sym->mCapitalizedName << "Ast*)last)->second == 0;"
+               "else\n"
+               "fail = ((Prefix" << sym->mCapitalizedName << "Ast*)last)->first == 0;"
+               "if(fail){"
+               "expectedSymbol(AstNode::" << sym->mCapitalizedName << "Kind"
+            << ", \"" << sym->mName << "\"" << ");return false;}"
                "if(olast)\n"
                "last->endToken = olast->endToken;"
                "opStack.pop_back();"
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic