mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-10 09:45:39 +02:00
added support for restrict to GNU C++
This commit is contained in:
parent
60aa52eccf
commit
caae636bc1
18 changed files with 5700 additions and 5575 deletions
|
@ -128,6 +128,14 @@ public class LRTests extends AST2Tests {
|
|||
} catch(Throwable _) { }
|
||||
}
|
||||
|
||||
@Override
|
||||
public void testBug75340() { // not legal c99
|
||||
try {
|
||||
super.testBug75340();
|
||||
fail();
|
||||
} catch(Throwable _) { }
|
||||
}
|
||||
|
||||
|
||||
// @Override
|
||||
// public void testBug93980() { // some wierd gcc extension I think
|
||||
|
|
|
@ -38,7 +38,7 @@ $End
|
|||
|
||||
$Define
|
||||
|
||||
$gnu_action_class /. GCCBuildASTParserAction ./
|
||||
$build_action_class /. GCCBuildASTParserAction ./
|
||||
$parser_factory_create_expression /. GCCSecondaryParserFactory.getDefault() ./
|
||||
|
||||
$End
|
||||
|
@ -91,11 +91,11 @@ designator_base
|
|||
|
||||
field_name_designator
|
||||
::= identifier_token ':'
|
||||
/. $BeginAction gnuAction.consumeDesignatorField(); $EndAction ./
|
||||
/. $Build consumeDesignatorFieldGCC(); $EndBuild ./
|
||||
|
||||
array_range_designator
|
||||
::= '[' constant_expression '...' constant_expression ']'
|
||||
/. $BeginAction gnuAction.consumeDesignatorArray(); $EndAction ./
|
||||
/. $Build consumeDesignatorArrayRange(); $EndBuild ./
|
||||
|
||||
designated_initializer
|
||||
::= <openscope-ast> field_name_designator initializer
|
||||
|
|
|
@ -30,22 +30,29 @@ $Terminals
|
|||
$End
|
||||
|
||||
|
||||
|
||||
$Headers
|
||||
/.
|
||||
private $gnu_action_class gnuAction;
|
||||
./
|
||||
$End
|
||||
|
||||
|
||||
$Globals
|
||||
/.
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.gnu.GNUBuildASTParserAction;
|
||||
./
|
||||
$End
|
||||
|
||||
|
||||
$Define
|
||||
|
||||
$gnu_action_class /. ./
|
||||
$gnu_action_class /. GNUBuildASTParserAction ./ -- overridable
|
||||
|
||||
$action_initializations /.
|
||||
|
||||
gnuAction = new $gnu_action_class (this, astStack, $node_factory_create_expression);
|
||||
gnuAction.setParserOptions(options);
|
||||
gnuAction.setBaseAction(action);
|
||||
//gnuAction.setBaseAction(action);
|
||||
./
|
||||
|
||||
$End
|
||||
|
@ -176,6 +183,12 @@ case_range_expression
|
|||
::= constant_expression '...' constant_expression
|
||||
/. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); $EndBuild ./
|
||||
|
||||
|
||||
typeof_declaration_specifiers
|
||||
::= typeof_type_specifier
|
||||
| no_type_declaration_specifiers typeof_type_specifier
|
||||
| typeof_declaration_specifiers no_type_declaration_specifier
|
||||
|
||||
|
||||
typeof_type_specifier
|
||||
::= 'typeof' unary_expression
|
||||
|
@ -183,15 +196,10 @@ typeof_type_specifier
|
|||
| 'typeof' '(' type_id ')'
|
||||
/. $Build consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); $EndBuild ./
|
||||
|
||||
typeof_declaration_specifiers
|
||||
::= typeof_type_specifier
|
||||
| no_type_declaration_specifiers typeof_type_specifier
|
||||
| typeof_declaration_specifiers no_type_declaration_specifier
|
||||
|
||||
|
||||
|
||||
declaration_specifiers
|
||||
::= <openscope-ast> typeof_declaration_specifiers
|
||||
/. $BeginAction gnuAction.consumeDeclarationSpecifiersTypeof(); $EndAction ./
|
||||
/. $Build consumeDeclarationSpecifiersTypeof(); $EndBuild ./
|
||||
|
||||
$End
|
||||
|
||||
|
|
|
@ -16,9 +16,11 @@
|
|||
|
||||
$Terminals
|
||||
|
||||
-- GCC allows these C99 keywords to be used in C++
|
||||
-- GCC allows these keywords to be used in C++
|
||||
|
||||
_Complex _Imaginary
|
||||
_Complex
|
||||
_Imaginary
|
||||
restrict
|
||||
|
||||
$End
|
||||
|
||||
|
@ -34,11 +36,6 @@ $DropRules
|
|||
asm_definition
|
||||
::= 'asm' '(' 'stringlit' ')' ';'
|
||||
|
||||
-- need to replace the action associated with this rule with one that supports _Complex and _Imaginary
|
||||
declaration_specifiers
|
||||
::= <openscope-ast> simple_declaration_specifiers
|
||||
|
||||
|
||||
$End
|
||||
|
||||
|
||||
|
@ -55,7 +52,7 @@ $End
|
|||
|
||||
$Define
|
||||
|
||||
$gnu_action_class /. GPPBuildASTParserAction ./
|
||||
$build_action_class /. GPPBuildASTParserAction ./
|
||||
$parser_factory_create_expression /. GPPSecondaryParserFactory.getDefault() ./
|
||||
|
||||
$End
|
||||
|
@ -106,8 +103,9 @@ simple_type_specifier
|
|||
| '_Imaginary'
|
||||
/. $Build consumeToken(); $EndBuild ./
|
||||
|
||||
declaration_specifiers
|
||||
::= <openscope-ast> simple_declaration_specifiers
|
||||
/. $BeginAction gnuAction.consumeDeclarationSpecifiersSimple(); $EndAction ./
|
||||
cv_qualifier
|
||||
::= 'restrict'
|
||||
/. $Build consumeToken(); $EndBuild ./
|
||||
|
||||
|
||||
$End
|
|
@ -91,8 +91,8 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier.ICPPASTBas
|
|||
import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser;
|
||||
import org.eclipse.cdt.core.dom.lrparser.LPGTokenAdapter;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.BuildASTParserAction;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
|
||||
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;
|
||||
|
@ -1418,10 +1418,9 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
|
|||
}
|
||||
|
||||
|
||||
private void addCVQualifiersToPointer(IASTPointer pointer, List<Object> tokens) {
|
||||
protected void addCVQualifiersToPointer(IASTPointer pointer, List<Object> tokens) {
|
||||
for(Object t : tokens) {
|
||||
switch(baseKind((IToken) t)) {
|
||||
default : assert false;
|
||||
case TK_const: pointer.setConst(true); break;
|
||||
case TK_volatile: pointer.setVolatile(true); break;
|
||||
}
|
||||
|
|
|
@ -20,31 +20,27 @@ import org.eclipse.cdt.core.dom.ast.c.ICASTFieldDesignator;
|
|||
import org.eclipse.cdt.core.dom.ast.c.ICASTSimpleDeclSpecifier;
|
||||
import org.eclipse.cdt.core.dom.ast.c.ICNodeFactory;
|
||||
import org.eclipse.cdt.core.dom.ast.gnu.c.IGCCASTArrayRangeDesignator;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
|
||||
|
||||
public class GCCBuildASTParserAction extends GNUBuildASTParserAction {
|
||||
public class GCCBuildASTParserAction extends C99BuildASTParserAction {
|
||||
|
||||
private final ICNodeFactory nodeFactory;
|
||||
|
||||
private C99BuildASTParserAction baseAction;
|
||||
|
||||
public GCCBuildASTParserAction(ITokenStream parser, ScopedStack<Object> astStack, ICNodeFactory nodeFactory) {
|
||||
super(parser, astStack, nodeFactory);
|
||||
public GCCBuildASTParserAction(ITokenStream parser, ScopedStack<Object> astStack, ICNodeFactory nodeFactory, ISecondaryParserFactory parserFactory) {
|
||||
super(parser, astStack, nodeFactory, parserFactory);
|
||||
this.nodeFactory = nodeFactory;
|
||||
}
|
||||
|
||||
|
||||
public void setBaseAction(C99BuildASTParserAction baseAction) {
|
||||
this.baseAction = baseAction;
|
||||
}
|
||||
|
||||
/**
|
||||
* designator_base
|
||||
* ::= identifier_token ':'
|
||||
*/
|
||||
public void consumeDesignatorField() {
|
||||
public void consumeDesignatorFieldGCC() {
|
||||
IASTName name = createName(stream.getLeftIToken());
|
||||
ICASTFieldDesignator designator = nodeFactory.newFieldDesignator(name);
|
||||
setOffsetAndLength(designator);
|
||||
|
@ -54,7 +50,7 @@ public class GCCBuildASTParserAction extends GNUBuildASTParserAction {
|
|||
/**
|
||||
* designator ::= '[' constant_expression '...' constant_expression']'
|
||||
*/
|
||||
public void consumeDesignatorArray() {
|
||||
public void consumeDesignatorArrayRange() {
|
||||
IASTExpression ceiling = (IASTExpression) astStack.pop();
|
||||
IASTExpression floor = (IASTExpression) astStack.pop();
|
||||
IGCCASTArrayRangeDesignator designator = nodeFactory.newArrayRangeDesignatorGCC(floor, ceiling);
|
||||
|
@ -83,7 +79,7 @@ public class GCCBuildASTParserAction extends GNUBuildASTParserAction {
|
|||
|
||||
// now apply the rest of the specifiers
|
||||
for(Object token : topScope) {
|
||||
baseAction.setSpecifier(declSpec, token);
|
||||
setSpecifier(declSpec, token);
|
||||
}
|
||||
|
||||
setOffsetAndLength(declSpec);
|
||||
|
|
|
@ -17,29 +17,34 @@ import java.util.List;
|
|||
import lpg.lpgjavaruntime.IToken;
|
||||
|
||||
import org.eclipse.cdt.core.dom.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTPointer;
|
||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTPointerToMember;
|
||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleDeclSpecifier;
|
||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPNodeFactory;
|
||||
import org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTPointer;
|
||||
import org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTPointerToMember;
|
||||
import org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTSimpleDeclSpecifier;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
|
||||
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.core.dom.lrparser.action.cpp.CPPBuildASTParserAction;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.cpp.ICPPSecondaryParserFactory;
|
||||
import org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym;
|
||||
|
||||
public class GPPBuildASTParserAction extends GNUBuildASTParserAction {
|
||||
public class GPPBuildASTParserAction extends CPPBuildASTParserAction {
|
||||
|
||||
private final ICPPNodeFactory nodeFactory;
|
||||
|
||||
private CPPBuildASTParserAction baseAction;
|
||||
private final ITokenMap gppTokenMap;
|
||||
|
||||
|
||||
public GPPBuildASTParserAction(ITokenStream parser, ScopedStack<Object> astStack, ICPPNodeFactory nodeFactory) {
|
||||
super(parser, astStack, nodeFactory);
|
||||
public GPPBuildASTParserAction(ITokenStream stream, ScopedStack<Object> astStack, ICPPNodeFactory nodeFactory, ICPPSecondaryParserFactory parserFactory) {
|
||||
super(stream, astStack, nodeFactory, parserFactory);
|
||||
this.nodeFactory = nodeFactory;
|
||||
this.gppTokenMap = new TokenMap(GPPParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols());
|
||||
}
|
||||
|
||||
public void setBaseAction(CPPBuildASTParserAction baseAction) {
|
||||
this.baseAction = baseAction;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* typeof_type_specifier
|
||||
|
@ -63,7 +68,7 @@ public class GPPBuildASTParserAction extends GNUBuildASTParserAction {
|
|||
|
||||
// now apply the rest of the specifiers
|
||||
for(Object token : topScope) {
|
||||
baseAction.setSpecifier(declSpec, token);
|
||||
setSpecifier(declSpec, token);
|
||||
}
|
||||
|
||||
setOffsetAndLength(declSpec);
|
||||
|
@ -72,8 +77,9 @@ public class GPPBuildASTParserAction extends GNUBuildASTParserAction {
|
|||
|
||||
|
||||
/**
|
||||
* Replacement for the method same method in CPPBuildASTParserAction
|
||||
* Replacement for the same method in CPPBuildASTParserAction
|
||||
*/
|
||||
@Override
|
||||
public void consumeDeclarationSpecifiersSimple() {
|
||||
boolean isComplex = false;
|
||||
boolean isImaginary = false;
|
||||
|
@ -88,9 +94,9 @@ public class GPPBuildASTParserAction extends GNUBuildASTParserAction {
|
|||
case GPPParsersym.TK__Complex: isComplex = true; break;
|
||||
case GPPParsersym.TK__Imaginary: isImaginary = true; break;
|
||||
case GPPParsersym.TK_long : numLong++; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ICPPASTSimpleDeclSpecifier declSpec;
|
||||
if(isComplex || isImaginary || numLong > 1) {
|
||||
|
@ -106,12 +112,64 @@ public class GPPBuildASTParserAction extends GNUBuildASTParserAction {
|
|||
}
|
||||
|
||||
for(Object token : tokens) {
|
||||
baseAction.setSpecifier(declSpec, token);
|
||||
setSpecifier(declSpec, token);
|
||||
}
|
||||
|
||||
setOffsetAndLength(declSpec);
|
||||
astStack.push(declSpec);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private boolean hasRestrict(List<Object> tokens) {
|
||||
for(Object o : tokens) {
|
||||
IToken t = (IToken)o;
|
||||
if(gppTokenMap.mapKind(t.getKind()) == GPPParsersym.TK_restrict) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Restrict is allowed as a keyword.
|
||||
*/
|
||||
@Override
|
||||
public void consumePointer() {
|
||||
boolean hasRestrict = hasRestrict(astStack.topScope());
|
||||
super.consumePointer();
|
||||
|
||||
if(hasRestrict) {
|
||||
IGPPASTPointer gppPointer = nodeFactory.newPointerGPP();
|
||||
initializeGPPPointer((IASTPointer)astStack.pop(), gppPointer);
|
||||
astStack.push(gppPointer);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static void initializeGPPPointer(IASTPointer pointer, IGPPASTPointer gppPointer) {
|
||||
gppPointer.setConst(pointer.isConst());
|
||||
gppPointer.setVolatile(pointer.isVolatile());
|
||||
gppPointer.setRestrict(true);
|
||||
ParserUtil.setOffsetAndLength(gppPointer, pointer);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void consumePointerToMember() {
|
||||
boolean hasRestrict = hasRestrict(astStack.topScope());
|
||||
super.consumePointerToMember();
|
||||
|
||||
if(hasRestrict) {
|
||||
ICPPASTPointerToMember pointer = (ICPPASTPointerToMember) astStack.pop();
|
||||
IGPPASTPointerToMember gppPointer = nodeFactory.newPointerToMemberGPP(pointer.getName());
|
||||
initializeGPPPointer(pointer, gppPointer);
|
||||
astStack.push(gppPointer);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -177,8 +177,9 @@ public class DOMToGPPTokenMap implements IDOMTokenMap {
|
|||
case IGCCToken.t__declspec : return TK___declspec;
|
||||
|
||||
// GNU supports these but they are not in the C++ spec
|
||||
case t__Complex : return TK__Complex;
|
||||
case t__Complex : return TK__Complex;
|
||||
case t__Imaginary : return TK__Imaginary;
|
||||
case t_restrict : return TK_restrict;
|
||||
|
||||
default:
|
||||
assert false : "token not recognized by the GPP parser: " + token.getType(); //$NON-NLS-1$
|
||||
|
|
|
@ -17,12 +17,12 @@ import lpg.lpgjavaruntime.*;
|
|||
|
||||
import java.util.*;
|
||||
import org.eclipse.cdt.core.dom.ast.*;
|
||||
import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter;
|
||||
import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
|
||||
import org.eclipse.cdt.core.dom.lrparser.IParser;
|
||||
import org.eclipse.cdt.core.dom.lrparser.ITokenCollector;
|
||||
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
|
||||
import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
|
||||
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
|
||||
import org.eclipse.cdt.core.parser.IScanner;
|
||||
import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider;
|
||||
|
@ -32,6 +32,8 @@ import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory;
|
|||
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory;
|
||||
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.gnu.GNUBuildASTParserAction;
|
||||
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCBuildASTParserAction;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCSecondaryParserFactory;
|
||||
|
||||
|
@ -172,7 +174,7 @@ public class GCCParser extends PrsStream implements RuleAction, ITokenStream,
|
|||
}
|
||||
|
||||
|
||||
private C99BuildASTParserAction action;
|
||||
private GCCBuildASTParserAction action;
|
||||
private IASTCompletionNode compNode;
|
||||
|
||||
|
||||
|
@ -185,14 +187,14 @@ public GCCParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvid
|
|||
private void initActions(Set<IParser.Options> options) {
|
||||
ScopedStack<Object> astStack = new ScopedStack<Object>();
|
||||
|
||||
action = new C99BuildASTParserAction (this, astStack, CNodeFactory.getDefault() , GCCSecondaryParserFactory.getDefault() );
|
||||
action = new GCCBuildASTParserAction (this, astStack, CNodeFactory.getDefault() , GCCSecondaryParserFactory.getDefault() );
|
||||
action.setParserOptions(options);
|
||||
|
||||
|
||||
|
||||
gnuAction = new GCCBuildASTParserAction (this, astStack, CNodeFactory.getDefault() );
|
||||
gnuAction = new GNUBuildASTParserAction (this, astStack, CNodeFactory.getDefault() );
|
||||
gnuAction.setParserOptions(options);
|
||||
gnuAction.setBaseAction(action);
|
||||
//gnuAction.setBaseAction(action);
|
||||
|
||||
}
|
||||
|
||||
|
@ -235,7 +237,7 @@ public String getName() {
|
|||
}
|
||||
|
||||
|
||||
private GCCBuildASTParserAction gnuAction;
|
||||
private GNUBuildASTParserAction gnuAction;
|
||||
|
||||
public void ruleAction(int ruleNumber)
|
||||
{
|
||||
|
@ -1329,34 +1331,34 @@ private GCCBuildASTParserAction gnuAction;
|
|||
}
|
||||
|
||||
//
|
||||
// Rule 360: typeof_type_specifier ::= typeof unary_expression
|
||||
// Rule 363: typeof_type_specifier ::= typeof unary_expression
|
||||
//
|
||||
case 360: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
|
||||
case 363: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
|
||||
}
|
||||
|
||||
//
|
||||
// Rule 361: typeof_type_specifier ::= typeof ( type_id )
|
||||
// Rule 364: typeof_type_specifier ::= typeof ( type_id )
|
||||
//
|
||||
case 361: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break;
|
||||
case 364: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Rule 365: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers
|
||||
//
|
||||
case 365: { gnuAction.consumeDeclarationSpecifiersTypeof(); break;
|
||||
}
|
||||
|
||||
case 365: { action. consumeDeclarationSpecifiersTypeof(); break;
|
||||
}
|
||||
|
||||
//
|
||||
// Rule 381: field_name_designator ::= identifier_token :
|
||||
//
|
||||
case 381: { gnuAction.consumeDesignatorField(); break;
|
||||
}
|
||||
|
||||
case 381: { action. consumeDesignatorFieldGCC(); break;
|
||||
}
|
||||
|
||||
//
|
||||
// Rule 382: array_range_designator ::= [ constant_expression ... constant_expression ]
|
||||
//
|
||||
case 382: { gnuAction.consumeDesignatorArray(); break;
|
||||
}
|
||||
case 382: { action. consumeDesignatorArrayRange(); break;
|
||||
}
|
||||
|
||||
//
|
||||
// Rule 383: designated_initializer ::= <openscope-ast> field_name_designator initializer
|
||||
|
|
|
@ -69,8 +69,8 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
3,1,4,0,1,1,1,3,1,0,
|
||||
4,3,1,2,1,3,4,4,6,1,
|
||||
0,1,3,1,3,0,1,4,5,2,
|
||||
4,2,4,3,3,5,3,4,3,2,
|
||||
4,1,2,2,2,1,1,2,2,3,
|
||||
4,2,4,3,3,5,3,4,3,1,
|
||||
2,2,2,4,2,1,1,2,2,3,
|
||||
2,2,3,1,1,1,1,1,1,1,
|
||||
2,5,3,-99,0,-2,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,
|
||||
|
@ -400,7 +400,7 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
117,14,14,139,139,118,118,118,15,59,
|
||||
140,140,141,141,119,119,119,98,98,98,
|
||||
7,7,7,7,16,16,24,4,36,142,
|
||||
84,84,99,99,99,29,58,51,92,92,
|
||||
99,99,99,84,84,29,58,51,92,92,
|
||||
92,107,107,107,126,123,124,44,93,133,
|
||||
133,143,144,97,329,1665,439,17,21,18,
|
||||
807,1572,45,1583,1585,1584,367,313,314,315,
|
||||
|
@ -410,7 +410,7 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
231,1118,612,1078,1877,137,134,136,90,160,
|
||||
331,1895,20,37,17,21,18,807,43,45,
|
||||
1583,1585,1584,319,180,139,166,1608,1607,1610,
|
||||
1972,143,146,149,152,2193,927,1336,362,2232,
|
||||
1972,143,146,149,152,2193,927,1336,360,2232,
|
||||
1140,2588,2598,2622,1106,1456,179,2782,2126,316,
|
||||
313,314,315,2632,961,31,1659,367,313,314,
|
||||
315,1241,2648,1895,20,2153,17,21,18,807,
|
||||
|
@ -419,14 +419,14 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
2133,1543,2543,227,321,1557,137,134,136,1634,
|
||||
160,317,313,314,315,1350,1521,179,334,128,
|
||||
231,316,313,314,315,309,139,166,367,313,
|
||||
314,315,143,146,149,152,2193,2033,712,362,
|
||||
314,315,143,146,149,152,2193,2033,712,360,
|
||||
2232,1140,2588,2598,2622,1106,325,1240,135,213,
|
||||
466,224,229,1151,2632,219,679,221,223,317,
|
||||
313,314,315,414,25,431,274,137,134,136,
|
||||
1082,160,961,186,269,1109,751,272,916,734,
|
||||
536,1798,316,313,314,315,823,139,166,2133,
|
||||
1647,2473,293,143,146,149,152,2193,2033,345,
|
||||
362,2232,1140,2588,2598,2622,1106,2026,169,278,
|
||||
360,2232,1140,2588,2598,2622,1106,2026,169,278,
|
||||
225,768,224,233,1151,2632,1703,20,1819,17,
|
||||
21,18,807,1572,45,1583,1585,1584,784,311,
|
||||
536,241,1608,1607,1610,1609,800,1632,1615,1633,
|
||||
|
@ -441,7 +441,7 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
1118,17,21,18,807,43,45,1583,1585,1584,
|
||||
105,1547,255,213,1608,1607,1610,1609,282,1945,
|
||||
961,188,287,961,1242,635,1444,1122,1013,1799,
|
||||
20,288,17,21,18,807,360,1690,975,435,
|
||||
20,288,17,21,18,807,363,1690,975,435,
|
||||
20,2460,17,21,18,807,1572,45,1583,1585,
|
||||
1584,127,417,961,1741,1608,1607,1610,1609,342,
|
||||
1632,1615,1633,75,408,289,606,2060,275,1643,
|
||||
|
@ -483,7 +483,7 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
755,160,22,466,224,823,276,917,218,679,
|
||||
221,874,135,213,1647,823,467,140,166,317,
|
||||
313,314,315,144,147,150,153,2193,255,213,
|
||||
363,145,134,136,1776,160,1902,1223,328,1390,
|
||||
361,145,134,136,1776,160,1902,1223,328,1390,
|
||||
1895,20,1418,17,21,18,807,1572,45,1583,
|
||||
1585,1584,1517,155,811,1347,1608,1607,1610,1609,
|
||||
243,1632,1615,1633,75,126,513,86,255,213,
|
||||
|
@ -632,7 +632,7 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
134,136,3356,160,135,213,3356,3356,3356,3356,
|
||||
316,313,314,315,135,213,2150,3356,3356,3356,
|
||||
1450,3356,3356,154,134,136,2248,160,317,313,
|
||||
314,315,3356,364,134,136,3356,160,1895,20,
|
||||
314,315,3356,362,134,136,3356,160,1895,20,
|
||||
3356,17,21,18,807,43,45,1583,1585,1885,
|
||||
1895,20,3356,17,21,18,807,43,45,1583,
|
||||
1585,1886,1895,20,3356,17,21,18,807,43,
|
||||
|
@ -698,8 +698,8 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
0,432,377,0,413,32,0,2584,32,0,
|
||||
223,235,0,656,253,0,558,253,0,432,
|
||||
253,0,1,3593,0,179,20,0,223,236,
|
||||
0,8,10,0,1,3582,0,360,352,0,
|
||||
361,353,0,113,2514,0
|
||||
0,8,10,0,1,3582,0,363,352,0,
|
||||
364,353,0,113,2514,0
|
||||
};
|
||||
};
|
||||
public final static char baseAction[] = BaseAction.baseAction;
|
||||
|
@ -1006,10 +1006,10 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
3367,3367,3367,3367,3367,3367,3367,3367,3367,3367,
|
||||
3367,3367,3367,3367,3367,3367,3367,3367,3367,3356,
|
||||
1,1,3366,3209,1,1,1,1,1,3356,
|
||||
353,361,361,3350,361,3036,3350,361,361,3359,
|
||||
353,364,364,3350,364,3036,3350,364,364,3359,
|
||||
1342,3356,433,1,1,3365,1,1,1,1,
|
||||
1,1,1,3661,361,361,3350,361,361,361,
|
||||
361,361,361,361,1,361,3350,3366,1,1,
|
||||
1,1,1,3661,364,364,3350,364,364,364,
|
||||
364,364,364,364,1,364,3350,3366,1,1,
|
||||
1,1,1,1,1,1,1,1,1,1,
|
||||
129,1,1,1,3227,253,1,3221,3224,656,
|
||||
3365,3356,432,558,3356,1,1,3366,3209,1,
|
||||
|
@ -1041,10 +1041,10 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
656,5931,117,432,558,3457,222,520,1215,962,
|
||||
973,986,1544,2256,1197,763,1469,1880,1270,3356,
|
||||
3356,1,190,1,1,117,1,1,1,63,
|
||||
352,360,360,3347,360,117,3347,360,360,62,
|
||||
352,363,363,3347,363,117,3347,363,363,62,
|
||||
3356,779,3367,1,1,3368,1,1,1,1,
|
||||
1,1,1,3552,360,360,3347,360,360,360,
|
||||
360,360,360,360,3613,360,3347,3356,1,1,
|
||||
1,1,1,3552,363,363,3347,363,363,363,
|
||||
363,363,363,363,3613,363,3347,3356,1,1,
|
||||
1,1,1,1,1,1,1,1,1,1,
|
||||
3356,1,1,1,190,3356,1,5932,3366,3356,
|
||||
5929,1,3356,410,1,700,1,1,1,1,
|
||||
|
@ -1098,7 +1098,7 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
3572,1267,3571,3519,3520,3518,3573,3521,3517,57,
|
||||
3356,3365,1425,3362,3524,3529,3528,3526,3527,3525,
|
||||
3530,3531,3523,3532,3533,3534,3356,2765,3026,3009,
|
||||
3356,361,3367,2115,656,3368,3356,432,558,769,
|
||||
3356,364,3367,2115,656,3368,3356,432,558,769,
|
||||
132,1342,3356,3356,3278,3362,3361,3272,3275,3363,
|
||||
3570,3572,3356,3571,3570,3572,271,3571,3519,3520,
|
||||
3518,3573,3521,3517,3570,3572,913,3571,3519,3520,
|
||||
|
@ -1404,8 +1404,8 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
140,0,0,151,0,155,166,132,0,127,
|
||||
110,162,150,175,178,179,180,0,0,0,
|
||||
143,0,168,174,0,131,144,145,146,147,
|
||||
152,173,177,196,135,136,137,138,139,142,
|
||||
148,149,0,154,158,160,181,194,197,109,
|
||||
152,173,177,197,135,136,137,138,139,142,
|
||||
148,149,0,154,158,160,181,194,196,109,
|
||||
111,126,130,134,0,153,157,0,159,169,
|
||||
172,186,0,188,0,191,0,193,0,0,
|
||||
0,0,0,0,156,0,170,171,176,0,
|
||||
|
@ -1420,12 +1420,12 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
public final static char scopePrefix[] = {
|
||||
182,240,414,319,202,299,107,133,139,268,
|
||||
81,348,370,327,1,90,123,149,167,67,
|
||||
248,309,39,39,59,63,95,145,219,284,
|
||||
248,309,35,35,59,63,95,145,219,284,
|
||||
390,410,429,433,344,366,379,397,379,333,
|
||||
15,27,56,8,8,99,102,154,177,102,
|
||||
229,234,237,296,437,50,75,115,223,288,
|
||||
394,404,8,115,258,192,357,192,258,404,
|
||||
20,20,35,215,35,35,35,35,35,294,
|
||||
20,20,41,215,41,41,41,41,41,294,
|
||||
388,20,20,45,128,157,128,157,157
|
||||
};
|
||||
};
|
||||
|
@ -1435,13 +1435,13 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
public interface ScopeSuffix {
|
||||
public final static char scopeSuffix[] = {
|
||||
190,190,190,306,190,306,113,6,6,190,
|
||||
87,354,376,314,6,43,113,6,43,72,
|
||||
253,314,43,43,43,43,43,6,217,217,
|
||||
190,43,43,6,306,306,306,401,383,337,
|
||||
18,18,43,6,6,43,105,6,43,180,
|
||||
232,232,232,217,43,53,78,130,226,291,
|
||||
87,354,376,314,6,39,113,6,39,72,
|
||||
253,314,39,39,39,39,39,6,217,217,
|
||||
190,39,39,6,306,306,306,401,383,337,
|
||||
18,18,39,6,6,39,105,6,39,180,
|
||||
232,232,232,217,39,53,78,130,226,291,
|
||||
53,407,11,118,253,209,360,195,261,422,
|
||||
25,33,37,217,274,276,278,280,282,217,
|
||||
25,33,43,217,274,276,278,280,282,217,
|
||||
217,22,30,47,130,164,118,159,172
|
||||
};
|
||||
};
|
||||
|
@ -1501,8 +1501,8 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
160,69,160,35,0,102,0,160,35,0,
|
||||
30,127,102,0,195,128,0,190,0,128,
|
||||
0,158,190,0,158,0,154,128,0,151,
|
||||
190,0,151,0,190,0,196,0,161,1,
|
||||
9,0,103,0,160,0,30,127,0,242,
|
||||
190,0,151,0,161,1,9,0,103,0,
|
||||
190,0,197,0,160,0,30,127,0,242,
|
||||
39,0,29,128,0,130,1,0,161,1,
|
||||
23,0,238,1,216,0,237,1,1,7,
|
||||
0,103,103,0,231,102,0,31,150,0,
|
||||
|
@ -1824,8 +1824,8 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
|
|||
"extended_decl_modifier",
|
||||
"extended_asm_param",
|
||||
"case_range_expression",
|
||||
"typeof_type_specifier",
|
||||
"typeof_declaration_specifiers",
|
||||
"typeof_type_specifier",
|
||||
"field_name_designator"
|
||||
};
|
||||
};
|
||||
|
|
|
@ -17,17 +17,17 @@ import lpg.lpgjavaruntime.*;
|
|||
|
||||
import java.util.*;
|
||||
import org.eclipse.cdt.core.dom.ast.*;
|
||||
import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter;
|
||||
import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
|
||||
import org.eclipse.cdt.core.dom.lrparser.IParser;
|
||||
import org.eclipse.cdt.core.dom.lrparser.ITokenCollector;
|
||||
import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
|
||||
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
|
||||
import org.eclipse.cdt.core.parser.IScanner;
|
||||
import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider;
|
||||
import org.eclipse.cdt.core.index.IIndex;
|
||||
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
|
||||
import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser;
|
||||
|
@ -36,6 +36,8 @@ import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory;
|
|||
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory;
|
||||
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.gnu.GNUBuildASTParserAction;
|
||||
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCBuildASTParserAction;
|
||||
import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCSecondaryParserFactory;
|
||||
|
||||
|
@ -176,7 +178,7 @@ public class GCCSizeofExpressionParser extends PrsStream implements RuleAction,
|
|||
}
|
||||
|
||||
|
||||
private C99BuildASTParserAction action;
|
||||
private GCCBuildASTParserAction action;
|
||||
private IASTCompletionNode compNode;
|
||||
|
||||
|
||||
|
@ -189,14 +191,14 @@ public GCCSizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuilt
|
|||
private void initActions(Set<IParser.Options> options) {
|
||||
ScopedStack<Object> astStack = new ScopedStack<Object>();
|
||||
|
||||
action = new C99BuildASTParserAction (this, astStack, CNodeFactory.getDefault() , GCCSecondaryParserFactory.getDefault() );
|
||||
action = new GCCBuildASTParserAction (this, astStack, CNodeFactory.getDefault() , GCCSecondaryParserFactory.getDefault() );
|
||||
action.setParserOptions(options);
|
||||
|
||||
|
||||
|
||||
gnuAction = new GCCBuildASTParserAction (this, astStack, CNodeFactory.getDefault() );
|
||||
gnuAction = new GNUBuildASTParserAction (this, astStack, CNodeFactory.getDefault() );
|
||||
gnuAction.setParserOptions(options);
|
||||
gnuAction.setBaseAction(action);
|
||||
//gnuAction.setBaseAction(action);
|
||||
|
||||
}
|
||||
|
||||
|
@ -252,13 +254,13 @@ public void setTokens(List<IToken> tokens) {
|
|||
addToken(new Token(null, 0, 0, GCCSizeofExpressionParsersym.TK_EOF_TOKEN));
|
||||
}
|
||||
|
||||
public GCCSizeofExpressionParser(ITokenStream parser, Set<IParser.Options> options) { // constructor for creating secondary parser
|
||||
public GCCSizeofExpressionParser(ITokenStream stream, Set<IParser.Options> options) { // constructor for creating secondary parser
|
||||
initActions(options);
|
||||
tokenMap = new TokenMap(GCCSizeofExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
|
||||
tokenMap = new TokenMap(GCCSizeofExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols());
|
||||
}
|
||||
|
||||
|
||||
private GCCBuildASTParserAction gnuAction;
|
||||
private GNUBuildASTParserAction gnuAction;
|
||||
|
||||
public void ruleAction(int ruleNumber)
|
||||
{
|
||||
|
@ -1334,34 +1336,34 @@ private GCCBuildASTParserAction gnuAction;
|
|||
}
|
||||
|
||||
//
|
||||
// Rule 357: typeof_type_specifier ::= typeof unary_expression
|
||||
// Rule 360: typeof_type_specifier ::= typeof unary_expression
|
||||
//
|
||||
case 357: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
|
||||
case 360: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
|
||||
}
|
||||
|
||||
//
|
||||
// Rule 358: typeof_type_specifier ::= typeof ( type_id )
|
||||
// Rule 361: typeof_type_specifier ::= typeof ( type_id )
|
||||
//
|
||||
case 358: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break;
|
||||
case 361: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Rule 362: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers
|
||||
//
|
||||
case 362: { gnuAction.consumeDeclarationSpecifiersTypeof(); break;
|
||||
}
|
||||
|
||||
case 362: { action. consumeDeclarationSpecifiersTypeof(); break;
|
||||
}
|
||||
|
||||
//
|
||||
// Rule 378: field_name_designator ::= identifier_token :
|
||||
//
|
||||
case 378: { gnuAction.consumeDesignatorField(); break;
|
||||
}
|
||||
|
||||
case 378: { action. consumeDesignatorFieldGCC(); break;
|
||||
}
|
||||
|
||||
//
|
||||
// Rule 379: array_range_designator ::= [ constant_expression ... constant_expression ]
|
||||
//
|
||||
case 379: { gnuAction.consumeDesignatorArray(); break;
|
||||
}
|
||||
case 379: { action. consumeDesignatorArrayRange(); break;
|
||||
}
|
||||
|
||||
//
|
||||
// Rule 380: designated_initializer ::= <openscope-ast> field_name_designator initializer
|
||||
|
|
|
@ -69,8 +69,8 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
|
|||
1,4,0,1,1,1,3,1,0,4,
|
||||
3,1,2,1,3,4,4,6,1,0,
|
||||
1,3,1,3,0,1,4,5,2,2,
|
||||
3,3,5,3,4,3,2,4,1,2,
|
||||
2,2,1,1,2,2,3,2,2,3,
|
||||
3,3,5,3,4,3,1,2,2,2,
|
||||
4,2,1,1,2,2,3,2,2,3,
|
||||
1,1,1,1,1,1,1,2,5,3,
|
||||
1,1,-39,0,0,0,0,0,0,-2,
|
||||
0,0,0,0,0,0,0,0,0,0,
|
||||
|
@ -377,8 +377,8 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
|
|||
130,108,108,108,109,109,131,131,110,110,
|
||||
15,15,132,132,111,111,111,16,87,133,
|
||||
133,134,134,112,112,112,88,88,88,6,
|
||||
6,12,12,23,3,37,135,89,89,113,
|
||||
113,113,33,76,52,101,101,101,104,104,
|
||||
6,12,12,23,3,37,135,113,113,113,
|
||||
89,89,33,76,52,101,101,101,104,104,
|
||||
104,122,119,120,50,82,128,128,136,137,
|
||||
86,114,114,205,1135,17,21,18,438,940,
|
||||
133,44,530,509,611,607,364,312,313,314,
|
||||
|
@ -389,14 +389,14 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
|
|||
1558,20,17,21,18,438,42,1819,44,530,
|
||||
509,1228,138,165,1177,178,1357,185,49,49,
|
||||
142,145,148,151,716,888,888,364,312,313,
|
||||
314,2756,359,1007,104,429,388,2148,2517,2528,
|
||||
314,2756,357,1007,104,429,388,2148,2517,2528,
|
||||
2561,2572,1352,87,87,134,212,582,1219,1558,
|
||||
20,17,21,18,438,42,2605,44,530,509,
|
||||
611,1324,1130,1819,254,212,136,133,135,225,
|
||||
159,1558,20,17,21,18,438,42,333,44,
|
||||
530,509,1245,138,165,274,331,19,1250,1531,
|
||||
1135,142,145,148,151,716,1558,20,17,21,
|
||||
18,438,42,359,44,530,509,1254,2148,2517,
|
||||
18,438,42,357,44,530,509,1254,2148,2517,
|
||||
2528,2561,2572,1352,1438,20,17,21,18,438,
|
||||
940,1427,44,530,509,611,607,2605,1357,187,
|
||||
1585,715,644,796,785,867,862,74,1357,31,
|
||||
|
@ -486,7 +486,7 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
|
|||
20,17,21,18,438,42,243,44,530,509,
|
||||
1255,139,165,1819,1513,1819,1819,1728,1768,143,
|
||||
146,149,152,716,1558,20,17,21,18,438,
|
||||
940,360,44,530,509,611,607,224,794,317,
|
||||
940,358,44,530,509,611,607,224,794,317,
|
||||
336,715,644,796,785,867,862,74,244,790,
|
||||
73,1558,20,17,21,18,438,940,49,44,
|
||||
530,509,611,607,1063,2873,1111,1842,715,644,
|
||||
|
@ -603,11 +603,11 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
|
|||
147,133,135,3121,159,364,312,313,314,3121,
|
||||
3121,3121,134,212,1558,20,17,21,18,438,
|
||||
42,3121,39,134,212,1718,1606,20,17,21,
|
||||
18,438,357,150,133,135,3121,159,364,312,
|
||||
18,438,360,150,133,135,3121,159,364,312,
|
||||
313,314,3121,3121,153,133,135,3121,159,3121,
|
||||
3121,3121,3121,3121,3121,3121,134,212,1558,20,
|
||||
17,21,18,438,42,3121,44,1217,295,20,
|
||||
17,21,18,438,42,3121,36,361,133,135,
|
||||
17,21,18,438,42,3121,36,359,133,135,
|
||||
3121,159,295,20,17,21,18,438,42,3121,
|
||||
36,1558,20,17,21,18,438,42,3121,38,
|
||||
3121,3121,245,1558,20,17,21,18,438,42,
|
||||
|
@ -651,7 +651,7 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
|
|||
0,1102,132,0,20,178,0,957,362,0,
|
||||
1041,362,0,1102,362,0,1,690,0,957,
|
||||
374,0,1041,374,0,1102,374,0,1,957,
|
||||
0,1,1041,0,1,1102,0,350,357,0,
|
||||
0,1,1041,0,1,1102,0,350,360,0,
|
||||
957,252,0,1041,252,0,1102,252,0,8,
|
||||
10,0,1,3346,0,1,3357,0,112,2389,
|
||||
0
|
||||
|
@ -946,10 +946,10 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
|
|||
1102,957,1041,3121,3358,1476,570,942,581,1502,
|
||||
2086,1474,717,1486,1966,1485,3121,1,3121,189,
|
||||
1,3121,1,1,1,3121,702,3126,1,350,
|
||||
357,357,3097,3121,3097,357,357,357,627,1698,
|
||||
360,360,3097,3121,3097,360,360,360,627,1698,
|
||||
1,1,1,3121,1,3316,1085,3121,1,1,
|
||||
1,1,1,357,357,357,3097,357,63,357,
|
||||
3097,357,357,357,357,357,189,1,1,1,
|
||||
1,1,1,360,360,360,3097,360,63,360,
|
||||
3097,360,360,360,360,360,189,1,1,1,
|
||||
1,1,1,1,1,1,1,1,1,3121,
|
||||
3121,1,1,1,3121,5112,1,3131,5081,1,
|
||||
3121,2206,3121,1,1,1,1,1,1,1,
|
||||
|
@ -1013,7 +1013,7 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
|
|||
3134,3135,3136,817,2594,2550,1088,1,3874,1935,
|
||||
3126,3776,2697,3334,3336,3335,2683,2671,2706,661,
|
||||
3137,2193,2071,1396,3134,3135,3136,5346,2594,2550,
|
||||
1088,376,3132,1935,3121,3133,2697,251,358,2855,
|
||||
1088,376,3132,1935,3121,3133,2697,251,361,2855,
|
||||
2683,2671,2706,661,3137,2193,2071,1396,3134,3135,
|
||||
3136,5346,2594,2550,1088,3121,3132,1935,817,3133,
|
||||
2697,3334,3336,3335,2683,2671,2706,661,3137,2193,
|
||||
|
@ -1266,10 +1266,10 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
|
|||
105,141,0,0,152,0,128,151,156,175,
|
||||
176,177,0,0,0,163,172,0,144,0,
|
||||
167,170,171,174,111,133,145,146,147,148,
|
||||
153,0,155,159,161,178,0,187,189,110,
|
||||
153,0,155,159,161,178,0,187,190,110,
|
||||
112,127,132,136,137,138,139,140,143,149,
|
||||
150,0,154,158,0,160,169,0,184,0,
|
||||
186,0,190,102,0,0,131,135,0,0,
|
||||
186,0,189,102,0,0,131,135,0,0,
|
||||
157,0,168,173,0,179,180,0,181,0,
|
||||
0,185,0,0,188,191,0,0,0,0,
|
||||
0,0,0,0,0,0
|
||||
|
@ -1282,12 +1282,12 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
|
|||
public final static char scopePrefix[] = {
|
||||
178,236,406,315,198,295,103,129,135,264,
|
||||
77,344,366,323,1,86,119,145,163,63,
|
||||
244,305,39,59,91,141,215,280,386,421,
|
||||
244,305,35,59,91,141,215,280,386,421,
|
||||
425,340,362,375,393,375,329,15,27,56,
|
||||
8,8,95,98,150,173,98,225,230,233,
|
||||
292,429,50,71,111,219,284,390,400,8,
|
||||
111,254,188,353,188,254,400,20,20,35,
|
||||
211,35,35,35,35,35,290,384,20,20,
|
||||
111,254,188,353,188,254,400,20,20,41,
|
||||
211,41,41,41,41,41,290,384,20,20,
|
||||
45,124,153,124,153,153
|
||||
};
|
||||
};
|
||||
|
@ -1297,12 +1297,12 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
|
|||
public interface ScopeSuffix {
|
||||
public final static char scopeSuffix[] = {
|
||||
186,186,186,302,186,302,109,6,6,186,
|
||||
83,350,372,310,6,43,109,6,43,68,
|
||||
249,310,43,43,43,6,213,213,186,43,
|
||||
6,302,302,302,397,379,333,18,18,43,
|
||||
6,6,43,101,6,43,176,228,228,228,
|
||||
213,43,53,74,126,222,287,53,403,11,
|
||||
114,249,205,356,191,257,414,25,33,37,
|
||||
83,350,372,310,6,39,109,6,39,68,
|
||||
249,310,39,39,39,6,213,213,186,39,
|
||||
6,302,302,302,397,379,333,18,18,39,
|
||||
6,6,39,101,6,39,176,228,228,228,
|
||||
213,39,53,74,126,222,287,53,403,11,
|
||||
114,249,205,356,191,257,414,25,33,43,
|
||||
213,270,272,274,276,278,213,213,22,30,
|
||||
47,126,160,114,155,168
|
||||
};
|
||||
|
@ -1363,8 +1363,8 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
|
|||
157,68,157,30,0,103,0,157,30,0,
|
||||
30,128,103,0,184,128,0,183,0,128,
|
||||
0,159,183,0,159,0,155,128,0,152,
|
||||
183,0,152,0,199,0,189,0,175,2,
|
||||
12,0,104,0,157,0,30,128,0,235,
|
||||
183,0,152,0,175,2,12,0,104,0,
|
||||
199,0,190,0,157,0,30,128,0,235,
|
||||
39,0,29,129,0,130,2,0,231,2,
|
||||
209,0,230,2,2,7,0,104,104,0,
|
||||
226,107,0,31,151,0,168,191,107,20,
|
||||
|
@ -1673,8 +1673,8 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
|
|||
"extended_decl_modifier",
|
||||
"extended_asm_param",
|
||||
"case_range_expression",
|
||||
"typeof_type_specifier",
|
||||
"typeof_declaration_specifiers",
|
||||
"typeof_type_specifier",
|
||||
"field_name_designator"
|
||||
};
|
||||
};
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -17,134 +17,135 @@ public interface GPPParsersym {
|
|||
public final static int
|
||||
TK__Complex = 14,
|
||||
TK__Imaginary = 15,
|
||||
TK_restrict = 30,
|
||||
TK_asm = 5,
|
||||
TK_auto = 31,
|
||||
TK_auto = 32,
|
||||
TK_bool = 16,
|
||||
TK_break = 82,
|
||||
TK_case = 83,
|
||||
TK_catch = 126,
|
||||
TK_break = 83,
|
||||
TK_case = 84,
|
||||
TK_catch = 127,
|
||||
TK_char = 17,
|
||||
TK_class = 60,
|
||||
TK_class = 61,
|
||||
TK_const = 28,
|
||||
TK_const_cast = 47,
|
||||
TK_continue = 84,
|
||||
TK_default = 85,
|
||||
TK_delete = 74,
|
||||
TK_do = 86,
|
||||
TK_const_cast = 48,
|
||||
TK_continue = 85,
|
||||
TK_default = 86,
|
||||
TK_delete = 75,
|
||||
TK_do = 87,
|
||||
TK_double = 18,
|
||||
TK_dynamic_cast = 48,
|
||||
TK_else = 129,
|
||||
TK_enum = 62,
|
||||
TK_explicit = 32,
|
||||
TK_export = 92,
|
||||
TK_extern = 33,
|
||||
TK_false = 49,
|
||||
TK_dynamic_cast = 49,
|
||||
TK_else = 130,
|
||||
TK_enum = 63,
|
||||
TK_explicit = 33,
|
||||
TK_export = 93,
|
||||
TK_extern = 34,
|
||||
TK_false = 50,
|
||||
TK_float = 19,
|
||||
TK_for = 87,
|
||||
TK_friend = 34,
|
||||
TK_goto = 88,
|
||||
TK_if = 89,
|
||||
TK_inline = 35,
|
||||
TK_for = 88,
|
||||
TK_friend = 35,
|
||||
TK_goto = 89,
|
||||
TK_if = 90,
|
||||
TK_inline = 36,
|
||||
TK_int = 20,
|
||||
TK_long = 21,
|
||||
TK_mutable = 36,
|
||||
TK_namespace = 66,
|
||||
TK_new = 75,
|
||||
TK_mutable = 37,
|
||||
TK_namespace = 67,
|
||||
TK_new = 76,
|
||||
TK_operator = 9,
|
||||
TK_private = 110,
|
||||
TK_protected = 111,
|
||||
TK_public = 112,
|
||||
TK_register = 37,
|
||||
TK_reinterpret_cast = 50,
|
||||
TK_return = 90,
|
||||
TK_private = 111,
|
||||
TK_protected = 112,
|
||||
TK_public = 113,
|
||||
TK_register = 38,
|
||||
TK_reinterpret_cast = 51,
|
||||
TK_return = 91,
|
||||
TK_short = 22,
|
||||
TK_signed = 23,
|
||||
TK_sizeof = 51,
|
||||
TK_static = 38,
|
||||
TK_static_cast = 52,
|
||||
TK_struct = 63,
|
||||
TK_switch = 91,
|
||||
TK_template = 61,
|
||||
TK_this = 53,
|
||||
TK_throw = 67,
|
||||
TK_try = 78,
|
||||
TK_true = 54,
|
||||
TK_typedef = 39,
|
||||
TK_typeid = 55,
|
||||
TK_sizeof = 52,
|
||||
TK_static = 39,
|
||||
TK_static_cast = 53,
|
||||
TK_struct = 64,
|
||||
TK_switch = 92,
|
||||
TK_template = 62,
|
||||
TK_this = 54,
|
||||
TK_throw = 68,
|
||||
TK_try = 79,
|
||||
TK_true = 55,
|
||||
TK_typedef = 40,
|
||||
TK_typeid = 56,
|
||||
TK_typename = 13,
|
||||
TK_union = 64,
|
||||
TK_union = 65,
|
||||
TK_unsigned = 24,
|
||||
TK_using = 68,
|
||||
TK_virtual = 30,
|
||||
TK_using = 69,
|
||||
TK_virtual = 31,
|
||||
TK_void = 25,
|
||||
TK_volatile = 29,
|
||||
TK_wchar_t = 26,
|
||||
TK_while = 81,
|
||||
TK_integer = 56,
|
||||
TK_floating = 57,
|
||||
TK_charconst = 58,
|
||||
TK_stringlit = 43,
|
||||
TK_while = 82,
|
||||
TK_integer = 57,
|
||||
TK_floating = 58,
|
||||
TK_charconst = 59,
|
||||
TK_stringlit = 44,
|
||||
TK_identifier = 1,
|
||||
TK_Completion = 2,
|
||||
TK_EndOfCompletion = 11,
|
||||
TK_Invalid = 130,
|
||||
TK_LeftBracket = 69,
|
||||
TK_Invalid = 131,
|
||||
TK_LeftBracket = 70,
|
||||
TK_LeftParen = 3,
|
||||
TK_Dot = 127,
|
||||
TK_DotStar = 97,
|
||||
TK_Arrow = 113,
|
||||
TK_ArrowStar = 96,
|
||||
TK_PlusPlus = 44,
|
||||
TK_MinusMinus = 45,
|
||||
TK_Dot = 128,
|
||||
TK_DotStar = 98,
|
||||
TK_Arrow = 114,
|
||||
TK_ArrowStar = 97,
|
||||
TK_PlusPlus = 45,
|
||||
TK_MinusMinus = 46,
|
||||
TK_And = 12,
|
||||
TK_Star = 10,
|
||||
TK_Plus = 40,
|
||||
TK_Minus = 41,
|
||||
TK_Plus = 41,
|
||||
TK_Minus = 42,
|
||||
TK_Tilde = 8,
|
||||
TK_Bang = 46,
|
||||
TK_Slash = 98,
|
||||
TK_Percent = 99,
|
||||
TK_RightShift = 93,
|
||||
TK_LeftShift = 94,
|
||||
TK_LT = 65,
|
||||
TK_GT = 77,
|
||||
TK_LE = 100,
|
||||
TK_GE = 101,
|
||||
TK_EQ = 102,
|
||||
TK_NE = 103,
|
||||
TK_Caret = 104,
|
||||
TK_Or = 105,
|
||||
TK_AndAnd = 106,
|
||||
TK_OrOr = 107,
|
||||
TK_Question = 114,
|
||||
TK_Colon = 73,
|
||||
TK_Bang = 47,
|
||||
TK_Slash = 99,
|
||||
TK_Percent = 100,
|
||||
TK_RightShift = 94,
|
||||
TK_LeftShift = 95,
|
||||
TK_LT = 66,
|
||||
TK_GT = 78,
|
||||
TK_LE = 101,
|
||||
TK_GE = 102,
|
||||
TK_EQ = 103,
|
||||
TK_NE = 104,
|
||||
TK_Caret = 105,
|
||||
TK_Or = 106,
|
||||
TK_AndAnd = 107,
|
||||
TK_OrOr = 108,
|
||||
TK_Question = 115,
|
||||
TK_Colon = 74,
|
||||
TK_ColonColon = 4,
|
||||
TK_DotDotDot = 95,
|
||||
TK_Assign = 79,
|
||||
TK_StarAssign = 115,
|
||||
TK_SlashAssign = 116,
|
||||
TK_PercentAssign = 117,
|
||||
TK_PlusAssign = 118,
|
||||
TK_MinusAssign = 119,
|
||||
TK_RightShiftAssign = 120,
|
||||
TK_LeftShiftAssign = 121,
|
||||
TK_AndAssign = 122,
|
||||
TK_CaretAssign = 123,
|
||||
TK_OrAssign = 124,
|
||||
TK_Comma = 76,
|
||||
TK_RightBracket = 125,
|
||||
TK_RightParen = 71,
|
||||
TK_RightBrace = 80,
|
||||
TK_SemiColon = 42,
|
||||
TK_LeftBrace = 72,
|
||||
TK_DotDotDot = 96,
|
||||
TK_Assign = 80,
|
||||
TK_StarAssign = 116,
|
||||
TK_SlashAssign = 117,
|
||||
TK_PercentAssign = 118,
|
||||
TK_PlusAssign = 119,
|
||||
TK_MinusAssign = 120,
|
||||
TK_RightShiftAssign = 121,
|
||||
TK_LeftShiftAssign = 122,
|
||||
TK_AndAssign = 123,
|
||||
TK_CaretAssign = 124,
|
||||
TK_OrAssign = 125,
|
||||
TK_Comma = 77,
|
||||
TK_RightBracket = 126,
|
||||
TK_RightParen = 72,
|
||||
TK_RightBrace = 81,
|
||||
TK_SemiColon = 43,
|
||||
TK_LeftBrace = 73,
|
||||
TK_typeof = 27,
|
||||
TK___alignof__ = 59,
|
||||
TK___alignof__ = 60,
|
||||
TK___attribute__ = 6,
|
||||
TK___declspec = 7,
|
||||
TK_MAX = 108,
|
||||
TK_MIN = 109,
|
||||
TK_ERROR_TOKEN = 70,
|
||||
TK_EOF_TOKEN = 128;
|
||||
TK_MAX = 109,
|
||||
TK_MIN = 110,
|
||||
TK_ERROR_TOKEN = 71,
|
||||
TK_EOF_TOKEN = 129;
|
||||
|
||||
public final static String orderedTerminalSymbols[] = {
|
||||
"",
|
||||
|
@ -177,6 +178,7 @@ public interface GPPParsersym {
|
|||
"typeof",
|
||||
"const",
|
||||
"volatile",
|
||||
"restrict",
|
||||
"virtual",
|
||||
"auto",
|
||||
"explicit",
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -17,134 +17,135 @@ public interface GPPSizeofExpressionParsersym {
|
|||
public final static int
|
||||
TK__Complex = 14,
|
||||
TK__Imaginary = 15,
|
||||
TK_restrict = 30,
|
||||
TK_asm = 5,
|
||||
TK_auto = 33,
|
||||
TK_auto = 34,
|
||||
TK_bool = 16,
|
||||
TK_break = 82,
|
||||
TK_case = 83,
|
||||
TK_catch = 126,
|
||||
TK_break = 83,
|
||||
TK_case = 84,
|
||||
TK_catch = 127,
|
||||
TK_char = 17,
|
||||
TK_class = 60,
|
||||
TK_class = 61,
|
||||
TK_const = 28,
|
||||
TK_const_cast = 47,
|
||||
TK_continue = 84,
|
||||
TK_default = 85,
|
||||
TK_delete = 71,
|
||||
TK_do = 86,
|
||||
TK_const_cast = 48,
|
||||
TK_continue = 85,
|
||||
TK_default = 86,
|
||||
TK_delete = 72,
|
||||
TK_do = 87,
|
||||
TK_double = 18,
|
||||
TK_dynamic_cast = 48,
|
||||
TK_else = 129,
|
||||
TK_enum = 62,
|
||||
TK_explicit = 34,
|
||||
TK_export = 92,
|
||||
TK_extern = 35,
|
||||
TK_false = 49,
|
||||
TK_dynamic_cast = 49,
|
||||
TK_else = 130,
|
||||
TK_enum = 63,
|
||||
TK_explicit = 35,
|
||||
TK_export = 93,
|
||||
TK_extern = 36,
|
||||
TK_false = 50,
|
||||
TK_float = 19,
|
||||
TK_for = 87,
|
||||
TK_friend = 36,
|
||||
TK_goto = 88,
|
||||
TK_if = 89,
|
||||
TK_inline = 37,
|
||||
TK_for = 88,
|
||||
TK_friend = 37,
|
||||
TK_goto = 89,
|
||||
TK_if = 90,
|
||||
TK_inline = 38,
|
||||
TK_int = 20,
|
||||
TK_long = 21,
|
||||
TK_mutable = 38,
|
||||
TK_namespace = 67,
|
||||
TK_new = 72,
|
||||
TK_mutable = 39,
|
||||
TK_namespace = 68,
|
||||
TK_new = 73,
|
||||
TK_operator = 9,
|
||||
TK_private = 110,
|
||||
TK_protected = 111,
|
||||
TK_public = 112,
|
||||
TK_register = 39,
|
||||
TK_reinterpret_cast = 50,
|
||||
TK_return = 90,
|
||||
TK_private = 111,
|
||||
TK_protected = 112,
|
||||
TK_public = 113,
|
||||
TK_register = 40,
|
||||
TK_reinterpret_cast = 51,
|
||||
TK_return = 91,
|
||||
TK_short = 22,
|
||||
TK_signed = 23,
|
||||
TK_sizeof = 51,
|
||||
TK_static = 40,
|
||||
TK_static_cast = 52,
|
||||
TK_struct = 63,
|
||||
TK_switch = 91,
|
||||
TK_template = 61,
|
||||
TK_this = 53,
|
||||
TK_throw = 66,
|
||||
TK_try = 78,
|
||||
TK_true = 54,
|
||||
TK_typedef = 41,
|
||||
TK_typeid = 55,
|
||||
TK_sizeof = 52,
|
||||
TK_static = 41,
|
||||
TK_static_cast = 53,
|
||||
TK_struct = 64,
|
||||
TK_switch = 92,
|
||||
TK_template = 62,
|
||||
TK_this = 54,
|
||||
TK_throw = 67,
|
||||
TK_try = 79,
|
||||
TK_true = 55,
|
||||
TK_typedef = 42,
|
||||
TK_typeid = 56,
|
||||
TK_typename = 13,
|
||||
TK_union = 64,
|
||||
TK_union = 65,
|
||||
TK_unsigned = 24,
|
||||
TK_using = 69,
|
||||
TK_virtual = 30,
|
||||
TK_using = 70,
|
||||
TK_virtual = 31,
|
||||
TK_void = 25,
|
||||
TK_volatile = 29,
|
||||
TK_wchar_t = 26,
|
||||
TK_while = 81,
|
||||
TK_integer = 56,
|
||||
TK_floating = 57,
|
||||
TK_charconst = 58,
|
||||
TK_stringlit = 42,
|
||||
TK_while = 82,
|
||||
TK_integer = 57,
|
||||
TK_floating = 58,
|
||||
TK_charconst = 59,
|
||||
TK_stringlit = 43,
|
||||
TK_identifier = 1,
|
||||
TK_Completion = 2,
|
||||
TK_EndOfCompletion = 11,
|
||||
TK_Invalid = 130,
|
||||
TK_LeftBracket = 70,
|
||||
TK_Invalid = 131,
|
||||
TK_LeftBracket = 71,
|
||||
TK_LeftParen = 3,
|
||||
TK_Dot = 127,
|
||||
TK_DotStar = 97,
|
||||
TK_Arrow = 113,
|
||||
TK_ArrowStar = 96,
|
||||
TK_PlusPlus = 43,
|
||||
TK_MinusMinus = 44,
|
||||
TK_Dot = 128,
|
||||
TK_DotStar = 98,
|
||||
TK_Arrow = 114,
|
||||
TK_ArrowStar = 97,
|
||||
TK_PlusPlus = 44,
|
||||
TK_MinusMinus = 45,
|
||||
TK_And = 12,
|
||||
TK_Star = 10,
|
||||
TK_Plus = 31,
|
||||
TK_Minus = 32,
|
||||
TK_Plus = 32,
|
||||
TK_Minus = 33,
|
||||
TK_Tilde = 8,
|
||||
TK_Bang = 46,
|
||||
TK_Slash = 98,
|
||||
TK_Percent = 99,
|
||||
TK_RightShift = 93,
|
||||
TK_LeftShift = 94,
|
||||
TK_LT = 65,
|
||||
TK_GT = 77,
|
||||
TK_LE = 100,
|
||||
TK_GE = 101,
|
||||
TK_EQ = 102,
|
||||
TK_NE = 103,
|
||||
TK_Caret = 104,
|
||||
TK_Or = 105,
|
||||
TK_AndAnd = 106,
|
||||
TK_OrOr = 107,
|
||||
TK_Question = 114,
|
||||
TK_Colon = 75,
|
||||
TK_Bang = 47,
|
||||
TK_Slash = 99,
|
||||
TK_Percent = 100,
|
||||
TK_RightShift = 94,
|
||||
TK_LeftShift = 95,
|
||||
TK_LT = 66,
|
||||
TK_GT = 78,
|
||||
TK_LE = 101,
|
||||
TK_GE = 102,
|
||||
TK_EQ = 103,
|
||||
TK_NE = 104,
|
||||
TK_Caret = 105,
|
||||
TK_Or = 106,
|
||||
TK_AndAnd = 107,
|
||||
TK_OrOr = 108,
|
||||
TK_Question = 115,
|
||||
TK_Colon = 76,
|
||||
TK_ColonColon = 4,
|
||||
TK_DotDotDot = 95,
|
||||
TK_Assign = 79,
|
||||
TK_StarAssign = 115,
|
||||
TK_SlashAssign = 116,
|
||||
TK_PercentAssign = 117,
|
||||
TK_PlusAssign = 118,
|
||||
TK_MinusAssign = 119,
|
||||
TK_RightShiftAssign = 120,
|
||||
TK_LeftShiftAssign = 121,
|
||||
TK_AndAssign = 122,
|
||||
TK_CaretAssign = 123,
|
||||
TK_OrAssign = 124,
|
||||
TK_Comma = 76,
|
||||
TK_RightBracket = 125,
|
||||
TK_RightParen = 73,
|
||||
TK_RightBrace = 80,
|
||||
TK_SemiColon = 45,
|
||||
TK_LeftBrace = 74,
|
||||
TK_DotDotDot = 96,
|
||||
TK_Assign = 80,
|
||||
TK_StarAssign = 116,
|
||||
TK_SlashAssign = 117,
|
||||
TK_PercentAssign = 118,
|
||||
TK_PlusAssign = 119,
|
||||
TK_MinusAssign = 120,
|
||||
TK_RightShiftAssign = 121,
|
||||
TK_LeftShiftAssign = 122,
|
||||
TK_AndAssign = 123,
|
||||
TK_CaretAssign = 124,
|
||||
TK_OrAssign = 125,
|
||||
TK_Comma = 77,
|
||||
TK_RightBracket = 126,
|
||||
TK_RightParen = 74,
|
||||
TK_RightBrace = 81,
|
||||
TK_SemiColon = 46,
|
||||
TK_LeftBrace = 75,
|
||||
TK_typeof = 27,
|
||||
TK___alignof__ = 59,
|
||||
TK___alignof__ = 60,
|
||||
TK___attribute__ = 6,
|
||||
TK___declspec = 7,
|
||||
TK_MAX = 108,
|
||||
TK_MIN = 109,
|
||||
TK_ERROR_TOKEN = 68,
|
||||
TK_EOF_TOKEN = 128;
|
||||
TK_MAX = 109,
|
||||
TK_MIN = 110,
|
||||
TK_ERROR_TOKEN = 69,
|
||||
TK_EOF_TOKEN = 129;
|
||||
|
||||
public final static String orderedTerminalSymbols[] = {
|
||||
"",
|
||||
|
@ -177,6 +178,7 @@ public interface GPPSizeofExpressionParsersym {
|
|||
"typeof",
|
||||
"const",
|
||||
"volatile",
|
||||
"restrict",
|
||||
"virtual",
|
||||
"Plus",
|
||||
"Minus",
|
||||
|
|
Loading…
Add table
Reference in a new issue