diff options
Diffstat (limited to 'lrparser/org.eclipse.cdt.core.lrparser/src/org')
17 files changed, 181 insertions, 33 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java index 61da983fc95..364aee71da3 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -35,6 +35,7 @@ import org.eclipse.cdt.core.dom.ast.IASTDeclarator; import org.eclipse.cdt.core.dom.ast.IASTDefaultStatement; import org.eclipse.cdt.core.dom.ast.IASTDoStatement; import org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier; +import org.eclipse.cdt.core.dom.ast.IASTEqualsInitializer; import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.ast.IASTExpressionList; import org.eclipse.cdt.core.dom.ast.IASTExpressionStatement; @@ -44,7 +45,7 @@ import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator; import org.eclipse.cdt.core.dom.ast.IASTGotoStatement; import org.eclipse.cdt.core.dom.ast.IASTIdExpression; import org.eclipse.cdt.core.dom.ast.IASTInitializer; -import org.eclipse.cdt.core.dom.ast.IASTInitializerExpression; +import org.eclipse.cdt.core.dom.ast.IASTInitializerClause; import org.eclipse.cdt.core.dom.ast.IASTInitializerList; import org.eclipse.cdt.core.dom.ast.IASTLabelStatement; import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; @@ -128,7 +129,7 @@ public abstract class BuildASTParserAction extends AbstractParserAction { public void initializeTranslationUnit(IScanner scanner, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index) { - tu = nodeFactory.newTranslationUnit(); + tu = nodeFactory.newTranslationUnit(scanner); tu.setIndex(index); // add built-in names to the scope @@ -1006,13 +1007,17 @@ public abstract class BuildASTParserAction extends AbstractParserAction { * initializer ::= assignment_expression */ public void consumeInitializer() { - IASTExpression expr = (IASTExpression) astStack.pop(); - if(discardInitializer(expr)) { - astStack.push(null); - return; + //CDT_70_FIX_FROM_50-#4 + IASTInitializerClause initClause = (IASTInitializerClause) astStack.pop(); + if(initClause instanceof IASTExpression){ + if(discardInitializer((IASTExpression)initClause)) { + astStack.push(null); + return; + } } - - IASTInitializerExpression initializer = nodeFactory.newInitializerExpression(expr); + //CDT_70_FIX_FROM_50-#2 + //IASTInitializerExpression initializer = nodeFactory.newInitializerExpression(expr); + IASTEqualsInitializer initializer = nodeFactory.newEqualsInitializer(initClause); setOffsetAndLength(initializer); astStack.push(initializer); } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java index b9922fa0141..a7ca0726c84 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -28,11 +28,14 @@ import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier; import org.eclipse.cdt.core.dom.ast.IASTDeclaration; import org.eclipse.cdt.core.dom.ast.IASTDeclarator; import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; +import org.eclipse.cdt.core.dom.ast.IASTEqualsInitializer; import org.eclipse.cdt.core.dom.ast.IASTExpression; +import org.eclipse.cdt.core.dom.ast.IASTExpressionList; import org.eclipse.cdt.core.dom.ast.IASTForStatement; import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator; import org.eclipse.cdt.core.dom.ast.IASTIdExpression; import org.eclipse.cdt.core.dom.ast.IASTIfStatement; +import org.eclipse.cdt.core.dom.ast.IASTInitializerClause; import org.eclipse.cdt.core.dom.ast.IASTInitializerExpression; import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; import org.eclipse.cdt.core.dom.ast.IASTName; @@ -48,6 +51,7 @@ import org.eclipse.cdt.core.dom.ast.IASTSwitchStatement; import org.eclipse.cdt.core.dom.ast.IASTTypeId; import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; import org.eclipse.cdt.core.dom.ast.IASTWhileStatement; +import org.eclipse.cdt.core.dom.ast.IBasicType.Kind; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTAmbiguousTemplateArgument; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCatchHandler; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier; @@ -97,6 +101,7 @@ import org.eclipse.cdt.core.dom.lrparser.action.ParserUtil; import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym; +import org.eclipse.cdt.internal.core.dom.parser.ASTNode; import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent; import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousExpression; import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousStatement; @@ -104,6 +109,7 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTAmbiguousDeclarator; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTAmbiguousExpression; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTAmbiguousStatement; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTAmbiguousTemplateArgument; +import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTConstructorInitializer; import org.eclipse.cdt.internal.core.dom.parser.cpp.OverloadableOperator; /** @@ -296,9 +302,17 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { public void consumeExpressionSimpleTypeConstructor() { IASTExpression expression = (IASTExpression) astStack.pop(); IToken token = (IToken) astStack.pop(); - - int type = asICPPASTSimpleTypeConstructorExpressionType(token); - ICPPASTSimpleTypeConstructorExpression typeConstructor = nodeFactory.newSimpleTypeConstructorExpression(type, expression); + ////CDT_70_FIX_FROM_50-#3 + //int type = asICPPASTSimpleTypeConstructorExpressionType(token); + ICPPASTConstructorInitializer init=null; + if(expression!=null){ + init = new CPPASTConstructorInitializer(); + init.setExpression(expression); + + ((ASTNode)init).setOffsetAndLength(((ASTNode)expression).getOffset(),((ASTNode)expression).getLength()); + } + ICPPASTDeclSpecifier declspec = transformIntoSimpleTypeSpecifier(token); + ICPPASTSimpleTypeConstructorExpression typeConstructor = nodeFactory.newSimpleTypeConstructorExpression(declspec, init); setOffsetAndLength(typeConstructor); astStack.push(typeConstructor); @@ -327,6 +341,35 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { } } + private ICPPASTDeclSpecifier transformIntoSimpleTypeSpecifier(IToken token){ + ICPPASTSimpleDeclSpecifier declspec= nodeFactory.newSimpleDeclSpecifier(); + switch(baseKind(token)) { + case TK_char : declspec.setType(Kind.eChar); break; + case TK_wchar_t : declspec.setType(Kind.eWChar); break; + case TK_bool : declspec.setType(Kind.eBoolean);break; + case TK_short : declspec.setShort(true); break; + case TK_int : declspec.setType(Kind.eInt); break; + case TK_long : declspec.setLong(true); break; + case TK_signed : declspec.setSigned(true); break; + case TK_unsigned : declspec.setUnsigned(true); break; + case TK_float : declspec.setType(Kind.eFloat); break; + case TK_double : declspec.setType(Kind.eDouble); break; + case TK_void : declspec.setType(Kind.eVoid); break; + + default: + assert false : "type parsed wrong"; //$NON-NLS-1$ + declspec.setType(Kind.eUnspecified); + break; + } + ((ASTNode) declspec).setOffset(token.getStartOffset()); + int ruleLength = token.getEndOffset() - token.getStartOffset(); + ((ASTNode) declspec).setLength(ruleLength < 0 ? 0 : ruleLength); + + return declspec; + + + } + /** * postfix_expression @@ -362,8 +405,9 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { IASTExpression expr = (IASTExpression) astStack.pop(); IASTDeclarator declarator = (IASTDeclarator) astStack.pop(); IASTDeclSpecifier declSpec = (IASTDeclSpecifier) astStack.pop(); - - IASTInitializerExpression initializer = nodeFactory.newInitializerExpression(expr); + //CDT_70_FIX_FROM_50-#2 + //IASTInitializerExpression initializer = nodeFactory.newInitializerExpression(expr); + IASTEqualsInitializer initializer = nodeFactory.newEqualsInitializer(expr); ParserUtil.setOffsetAndLength(initializer, offset(expr), length(expr)); declarator.setInitializer(initializer); @@ -1029,7 +1073,8 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { case TK_signed: n.setSigned(true); return; case TK_unsigned: n.setUnsigned(true); return; - case TK_long: n.setLong(true); return; + //if it is a longlong, donot set long, CDT_70_FIX_FROM_50-#8 + case TK_long: if(!n.isLongLong()) n.setLong(true); return; case TK_short: n.setShort(true); return; } } @@ -1474,8 +1519,16 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { * ::= '(' expression_list ')' */ public void consumeInitializerConstructor() { - IASTExpression expression = (IASTExpression) astStack.pop(); - ICPPASTConstructorInitializer initializer = nodeFactory.newConstructorInitializer(expression); + //CDT_70_FIX_FROM_50-#5 + Object o = astStack.pop(); + IASTInitializerClause[] initClauseList =null; + if(o instanceof IASTExpressionList){ + initClauseList = ((IASTExpressionList) o).getExpressions(); + }else if(o instanceof IASTInitializerClause){ + initClauseList = new IASTInitializerClause[]{(IASTInitializerClause)o}; + } + + ICPPASTConstructorInitializer initializer = nodeFactory.newConstructorInitializer(initClauseList); setOffsetAndLength(initializer); astStack.push(initializer); } @@ -1566,8 +1619,10 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { List<Object> handlers = isTryBlockDeclarator ? astStack.closeScope() : Collections.emptyList(); IASTCompoundStatement body = (IASTCompoundStatement) astStack.pop(); List<Object> initializers = astStack.closeScope(); - IASTFunctionDeclarator declarator = (IASTFunctionDeclarator) astStack.pop(); - IASTDeclSpecifier declSpec = (IASTDeclSpecifier) astStack.pop(); // may be null + Object o = astStack.pop(); + IASTFunctionDeclarator declarator = (IASTFunctionDeclarator) o; + Object o2 = astStack.pop(); + IASTDeclSpecifier declSpec = (IASTDeclSpecifier) o2; // may be null if(declSpec == null) { // can happen if implicit int is used declSpec = nodeFactory.newSimpleDeclSpecifier(); @@ -1620,12 +1675,15 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { */ public void consumeMemberDeclaratorWithInitializer() { - IASTInitializerExpression initializer = (IASTInitializerExpression) astStack.pop(); + + //CDT_70_FIX_FROM_50-#2 + //IASTInitializerExpression initializer = (IASTInitializerExpression) astStack.pop(); + IASTEqualsInitializer initializer = (IASTEqualsInitializer) astStack.pop(); IASTDeclarator declarator = (IASTDeclarator) astStack.peek(); setOffsetAndLength(declarator); if(declarator instanceof ICPPASTFunctionDeclarator) { - IASTExpression expr = initializer.getExpression(); + IASTExpression expr = (IASTExpression)initializer.getInitializerClause(); if(expr instanceof IASTLiteralExpression && "0".equals(expr.toString())) { //$NON-NLS-1$ ((ICPPASTFunctionDeclarator)declarator).setPureVirtual(true); return; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPBuildASTParserAction.java index a108a0c7a6d..a4d777a2912 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPBuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPBuildASTParserAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. + * Copyright (c) 2009, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -68,8 +68,9 @@ public class GPPBuildASTParserAction extends CPPBuildASTParserAction { // There's an expression somewhere on the stack, find it IASTExpression expr = findFirstAndRemove(topScope, IASTExpression.class); - IGPPASTSimpleDeclSpecifier declSpec = nodeFactory.newSimpleDeclSpecifierGPP(); - declSpec.setTypeofExpression(expr); + //CDT_70_FIX_FROM_50-#7 + ICPPASTSimpleDeclSpecifier declSpec = nodeFactory.newSimpleDeclSpecifier(); + declSpec.setDeclTypeExpression(expr); // now apply the rest of the specifiers for(Object token : topScope) { @@ -102,15 +103,15 @@ public class GPPBuildASTParserAction extends CPPBuildASTParserAction { } } } - - ICPPASTSimpleDeclSpecifier declSpec; + //CDT_70_FIX_FROM_50-#7 + ICPPASTSimpleDeclSpecifier declSpec = nodeFactory.newSimpleDeclSpecifier(); if(isComplex || isImaginary || numLong > 1) { - IGPPASTSimpleDeclSpecifier gppDeclSpec = nodeFactory.newSimpleDeclSpecifierGPP(); - gppDeclSpec.setComplex(isComplex); - gppDeclSpec.setImaginary(isImaginary); - gppDeclSpec.setLongLong(numLong > 1); - gppDeclSpec.setLong(numLong == 1); - declSpec = gppDeclSpec; + // IGPPASTSimpleDeclSpecifier gppDeclSpec = nodeFactory.newSimpleDeclSpecifierGPP(); + declSpec.setComplex(isComplex); + declSpec.setImaginary(isImaginary); + declSpec.setLongLong(numLong > 1); + declSpec.setLong(numLong == 1); + //declSpec = gppDeclSpec; } else { declSpec = nodeFactory.newSimpleDeclSpecifier(); diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java index 2bf14923a4e..ff4a7f527b9 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java @@ -1168,6 +1168,12 @@ public C99ExpressionParser(ITokenStream stream, Map<String,String> properties) { } // + // Rule 283: initializer ::= initializer_list + // + case 283: { action. consumeInitializer(); break; + } + + // // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // case 284: { action. consumeInitializerList(); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java index 1e62f182263..b6b22f2f66d 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java @@ -1162,6 +1162,12 @@ public C99NoCastExpressionParser(ITokenStream stream, Map<String,String> propert } // + // Rule 282: initializer ::= initializer_list + // + case 282: { action. consumeInitializer(); break; + } + + // // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // case 283: { action. consumeInitializerList(); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java index d2ce4a2f297..731f2441e01 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java @@ -1145,6 +1145,12 @@ public String getName() { } // + // Rule 283: initializer ::= initializer_list + // + case 283: { action. consumeInitializer(); break; + } + + // // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // case 284: { action. consumeInitializerList(); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java index 8f420627cdc..7b47fc69402 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java @@ -1162,6 +1162,12 @@ public C99SizeofExpressionParser(ITokenStream stream, Map<String,String> propert } // + // Rule 282: initializer ::= initializer_list + // + case 282: { action. consumeInitializer(); break; + } + + // // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // case 283: { action. consumeInitializerList(); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java index 238e9170c18..71bae636f81 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java @@ -1565,6 +1565,12 @@ public CPPExpressionParser(ITokenStream stream, Map<String,String> properties) { } // + // Rule 383: initializer_clause ::= initializer_list + // + case 383: { action. consumeInitializer(); break; + } + + // // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 384: { action. consumeInitializerList(); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java index 1b3191f7878..abf24e58f61 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java @@ -1559,6 +1559,12 @@ public CPPNoCastExpressionParser(ITokenStream stream, Map<String,String> propert } // + // Rule 382: initializer_clause ::= initializer_list + // + case 382: { action. consumeInitializer(); break; + } + + // // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 383: { action. consumeInitializerList(); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java index c574bbaae44..f0a60677a10 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java @@ -1559,6 +1559,12 @@ public CPPNoFunctionDeclaratorParser(ITokenStream stream, Map<String,String> pro } // + // Rule 381: initializer_clause ::= initializer_list + // + case 381: { action. consumeInitializer(); break; + } + + // // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 382: { action. consumeInitializerList(); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java index 294716a05fa..e9cf17ad71d 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java @@ -1542,6 +1542,12 @@ public String getName() { } // + // Rule 383: initializer_clause ::= initializer_list + // + case 383: { action. consumeInitializer(); break; + } + + // // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 384: { action. consumeInitializerList(); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java index 2ecad34fb15..2065a0c2ea5 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java @@ -1553,6 +1553,12 @@ public CPPSizeofExpressionParser(ITokenStream stream, Map<String,String> propert } // + // Rule 381: initializer_clause ::= initializer_list + // + case 381: { action. consumeInitializer(); break; + } + + // // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 382: { action. consumeInitializerList(); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java index b25f22e30a8..cab084cfdee 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java @@ -1567,6 +1567,12 @@ public CPPTemplateTypeParameterParser(ITokenStream stream, Map<String,String> pr } // + // Rule 383: initializer_clause ::= initializer_list + // + case 383: { action. consumeInitializer(); break; + } + + // // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 384: { action. consumeInitializerList(); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java index 8d1c3a1b063..bec33272dca 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java @@ -1156,6 +1156,12 @@ private GNUBuildASTParserAction gnuAction; } // + // Rule 283: initializer ::= initializer_list + // + case 283: { action. consumeInitializer(); break; + } + + // // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // case 284: { action. consumeInitializerList(); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java index b5dd789571d..c48b02c0862 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java @@ -1173,6 +1173,12 @@ private GNUBuildASTParserAction gnuAction; } // + // Rule 282: initializer ::= initializer_list + // + case 282: { action. consumeInitializer(); break; + } + + // // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // case 283: { action. consumeInitializerList(); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java index 2eb08594c13..3e5b024fc4c 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java @@ -1548,6 +1548,12 @@ private GNUBuildASTParserAction gnuAction; } // + // Rule 382: initializer_clause ::= initializer_list + // + case 382: { action. consumeInitializer(); break; + } + + // // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 383: { action. consumeInitializerList(); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java index 225b31b8b91..191564d2313 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java @@ -1559,6 +1559,12 @@ private GNUBuildASTParserAction gnuAction; } // + // Rule 380: initializer_clause ::= initializer_list + // + case 380: { action. consumeInitializer(); break; + } + + // // Rule 381: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 381: { action. consumeInitializerList(); break; |