From 44907e70565784664cf3c4ab07a658682ff63d96 Mon Sep 17 00:00:00 2001 From: Mike Kucera Date: Fri, 30 Jan 2009 13:31:43 +0000 Subject: [PATCH] added support to LR parsers for GNU extensions typeof and alignof, added ISecondaryParserFactory --- .../grammar/build.xml | 8 +- .../grammar/c99/C99Grammar.g | 12 +- .../grammar/c99/C99NoCastExpressionParser.g | 4 +- .../grammar/c99/C99SizeofExpressionParser.g | 8 +- .../grammar/cpp/CPPGrammar.g | 6 +- .../grammar/cpp/CPPSizeofExpressionParser.g | 6 +- .../grammar/gcc/GCCGrammar.g | 106 + .../grammar/gcc/GCCParser.g | 88 +- .../grammar/gcc/GCCSizeofExpressionParser.g | 40 + .../grammar/gnu/GNUExtensions.g | 17 +- .../grammar/gpp/GPPGrammar.g | 89 + .../grammar/gpp/GPPParser.g | 79 +- .../grammar/gpp/GPPSizeofExpressionParser.g | 42 + .../grammar/template/FixedBtParserTemplateD.g | 11 +- .../cdt/core/dom/lrparser/IParser.java | 4 +- .../lrparser/action/BuildASTParserAction.java | 37 +- .../action/ISecondaryParserFactory.java | 46 + .../action/c99/C99BuildASTParserAction.java | 25 +- .../action/c99/C99SecondaryParserFactory.java | 40 + .../action/cpp/CPPBuildASTParserAction.java | 42 +- .../action/cpp/CPPSecondaryParserFactory.java | 51 + .../cpp/ICPPSecondaryParserFactory.java | 29 + .../action/gnu/GCCBuildASTParserAction.java | 14 +- .../action/gnu/GCCSecondaryParserFactory.java | 40 + .../action/gnu/GNUBuildASTParserAction.java | 12 +- .../action/gnu/GPPSecondaryParserFactory.java | 52 + .../dom/lrparser/c99/C99ExpressionParser.java | 17 +- .../lrparser/c99/C99ExpressionParserprs.java | 2 +- .../c99/C99NoCastExpressionParser.java | 15 +- .../c99/C99NoCastExpressionParserprs.java | 2 +- .../core/dom/lrparser/c99/C99Parser.java | 17 +- .../core/dom/lrparser/c99/C99Parserprs.java | 2 +- .../c99/C99SizeofExpressionParser.java | 581 +- .../c99/C99SizeofExpressionParserprs.java | 1287 ++--- .../c99/C99SizeofExpressionParsersym.java | 18 +- .../dom/lrparser/cpp/CPPExpressionParser.java | 1081 ++-- .../lrparser/cpp/CPPExpressionParserprs.java | 3740 +++++++------ .../lrparser/cpp/CPPExpressionParsersym.java | 138 +- .../cpp/CPPNoCastExpressionParser.java | 1077 ++-- .../cpp/CPPNoCastExpressionParserprs.java | 3708 +++++++------ .../cpp/CPPNoCastExpressionParsersym.java | 138 +- .../cpp/CPPNoFunctionDeclaratorParser.java | 1077 ++-- .../cpp/CPPNoFunctionDeclaratorParserprs.java | 3722 +++++++------ .../cpp/CPPNoFunctionDeclaratorParsersym.java | 136 +- .../core/dom/lrparser/cpp/CPPParser.java | 1077 ++-- .../core/dom/lrparser/cpp/CPPParserprs.java | 3790 +++++++------ .../core/dom/lrparser/cpp/CPPParsersym.java | 130 +- .../cpp/CPPSizeofExpressionParser.java | 1073 ++-- .../cpp/CPPSizeofExpressionParserprs.java | 3720 +++++++------ .../cpp/CPPSizeofExpressionParsersym.java | 138 +- .../cpp/CPPTemplateTypeParameterParser.java | 1081 ++-- .../CPPTemplateTypeParameterParserprs.java | 3770 ++++++------- .../CPPTemplateTypeParameterParsersym.java | 136 +- .../core/dom/lrparser/gcc/GCCParser.java | 58 +- .../core/dom/lrparser/gcc/GCCParserprs.java | 2405 +++++---- .../core/dom/lrparser/gcc/GCCParsersym.java | 170 +- .../gcc/GCCSizeofExpressionParser.java | 1322 +++++ .../gcc/GCCSizeofExpressionParserprs.java | 1369 +++++ .../gcc/GCCSizeofExpressionParsersym.java | 224 + .../core/dom/lrparser/gpp/GPPParser.java | 1112 ++-- .../core/dom/lrparser/gpp/GPPParserprs.java | 4797 +++++++++-------- .../core/dom/lrparser/gpp/GPPParsersym.java | 214 +- .../gpp/GPPSizeofExpressionParser.java | 2007 +++++++ .../gpp/GPPSizeofExpressionParserprs.java | 3039 +++++++++++ .../gpp/GPPSizeofExpressionParsersym.java | 280 + .../grammar/upc/UPCGrammarExtensions.g | 10 +- .../grammar/upc/UPCSizeofExpressionParser.g | 8 +- .../core/dom/parser/upc/UPCParserAction.java | 26 +- .../parser/upc/UPCSecondaryParserFactory.java | 41 + .../dom/parser/upc/UPCExpressionParser.java | 24 +- .../parser/upc/UPCExpressionParserprs.java | 2 +- .../parser/upc/UPCNoCastExpressionParser.java | 22 +- .../upc/UPCNoCastExpressionParserprs.java | 2 +- .../core/dom/parser/upc/UPCParser.java | 24 +- .../core/dom/parser/upc/UPCParserprs.java | 2 +- .../parser/upc/UPCSizeofExpressionParser.java | 18 +- .../upc/UPCSizeofExpressionParserprs.java | 4 +- 77 files changed, 29230 insertions(+), 20531 deletions(-) create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCGrammar.g create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCSizeofExpressionParser.g create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPGrammar.g create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPSizeofExpressionParser.g create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ISecondaryParserFactory.java create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99SecondaryParserFactory.java create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPSecondaryParserFactory.java create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPSecondaryParserFactory.java create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCSecondaryParserFactory.java create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPSecondaryParserFactory.java create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParsersym.java create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParsersym.java create mode 100644 upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCSecondaryParserFactory.java diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml b/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml index 98ca77680a5..f1a71b9c8de 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml @@ -1,5 +1,5 @@