blob: f0278cea8a591d44478c2961b28d44742da618ba [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* $ANTLR 2.7.7 (20130409): "CPP_parser.g" -> "CPPParser.cpp"$ */
#include "CPPParser.hpp"
#include <antlr/NoViableAltException.hpp>
#include <antlr/SemanticException.hpp>
#include <antlr/ASTFactory.hpp>
#line 102 "CPP_parser.g"
// File generated from CPP_parser.g
// Version 3.1 November 2005
// This file is best viewed in courier font with tabs set to 4 spaces
//
// The statements in this block appear only in CPPParser.cpp and not in
// CPPLexer.cpp
// These constants used in the previous version (3.0 July 2004) have now been
// replaced by the following,
// ID_VAR_NAME is now CPPSymbol::otVariable
// ID_FUN_NAME is now CPPSymbol::otFunction
// ID_INPUT_PARAMETER is now not used
// ID_CLASS_DEF is now CPPSymbol::otClass
// ID_SYSTEM_FUNCTION is now not used
// ID_CONST_DECL is now not used
// ID_TYPEDEF_VAR is now CPPSymbol::otTypedef
int statementTrace =
2; // Used to control selected (level) tracing (see support.cpp)
// 1 Shows which external and member statements selected
// 2 Shows above plus all declarations/definitions
// 3 reserved for future use
// 4 and above available for user
void CPPParser::init() {
antlrTrace(false); // This is a dynamic trace facility for use with
// -traceParser etc.
// It requires modification in LLkParser.cpp and LLkParser.hpp
// otherwise it should be commented out (see MyReadMe.txt)
// true shows antlr trace (or can be set and reset during parsing)
// false stops showing antlr trace
// Provided the parser is always generated with -traceParser this
// facility allows trace output to be turned on or off by changing
// the setting here from false to true or vice versa and then
// recompiling and linking CPPParser only thus avoiding the need
// to use antlr.Tool to re-generate the lexer and parser again
// with (or without) -traceParser.
// Antlr trace can also be turned on and off dynamically using
// antlrTrace_on or antlrTrace_off statements inserted into the
// source code being parsed (See below).
// Creates a dictionary to hold symbols with 4001 buckets, 200 scopes and
// 800,000 characters
// These can be changed to suit the size of program(s) being parsed
symbols = new CPPDictionary(4001, 200, 800000);
// Set template parameter scope - Not used at present
templateParameterScope =
symbols->getCurrentScopeIndex(); // Set template parameter scope to 0
symbols->saveScope(); // Advance currentScope from 0 to 1
// Set "external" scope for all types
externalScope =
symbols->getCurrentScopeIndex(); // Set "external" scope to 1 for types
// Declare predefined scope "std" in external scope
CPPSymbol* a = new CPPSymbol("std", CPPSymbol::otTypedef);
symbols->define("std", a);
symbols->saveScope(); // Advance currentScope from 1 to 2 (and higher) for
// all other symbols
// treated as locals
// Global flags to allow for nested declarations
_td = false; // For typedef
_fd = false; // For friend
_sc = scInvalid; // For StorageClass
_tq = tqInvalid; // For TypeQualifier
_ts = tsInvalid; // For TypeSpecifier
_fs = fsInvalid; // For FunctionSpecifier
functionDefinition = 0;
qualifierPrefix[0] = '\0';
enclosingClass = (char*)"";
assign_stmt_RHS_found = 0;
in_parameter_list = false;
K_and_R = false; // used to distinguish old K & R parameter definitions
in_return = false;
is_address = false;
is_pointer = false;
}
#line 85 "CPPParser.cpp"
CPPParser::CPPParser(ANTLR_USE_NAMESPACE(antlr) TokenBuffer& tokenBuf, int k)
: ANTLR_USE_NAMESPACE(antlr) LLkParser(tokenBuf, k) {}
CPPParser::CPPParser(ANTLR_USE_NAMESPACE(antlr) TokenBuffer& tokenBuf)
: ANTLR_USE_NAMESPACE(antlr) LLkParser(tokenBuf, 2) {}
CPPParser::CPPParser(ANTLR_USE_NAMESPACE(antlr) TokenStream& lexer, int k)
: ANTLR_USE_NAMESPACE(antlr) LLkParser(lexer, k) {}
CPPParser::CPPParser(ANTLR_USE_NAMESPACE(antlr) TokenStream& lexer)
: ANTLR_USE_NAMESPACE(antlr) LLkParser(lexer, 2) {}
CPPParser::CPPParser(const ANTLR_USE_NAMESPACE(antlr)
ParserSharedInputState& state)
: ANTLR_USE_NAMESPACE(antlr) LLkParser(state, 2) {}
void CPPParser::translation_unit() {
try { // for error handling
if (inputState->guessing == 0) {
#line 376 "CPP_parser.g"
enterExternalScope();
#line 117 "CPPParser.cpp"
}
{ // ( ... )+
int _cnt3 = 0;
for (;;) {
if ((_tokenSet_0.member(LA(1)))) {
external_declaration();
} else {
if (_cnt3 >= 1) {
goto _loop3;
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
_cnt3++;
}
_loop3:;
} // ( ... )+
match(ANTLR_USE_NAMESPACE(antlr) Token::EOF_TYPE);
if (inputState->guessing == 0) {
#line 378 "CPP_parser.g"
exitExternalScope();
#line 137 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_1);
} else {
throw;
}
}
}
void CPPParser::external_declaration() {
#line 381 "CPP_parser.g"
char* s;
K_and_R = false;
FunctionSpecifier fs = fsInvalid; // inline,virtual,explicit
#line 156 "CPPParser.cpp"
try { // for error handling
{
switch (LA(1)) {
case LITERAL_namespace: {
if (inputState->guessing == 0) {
#line 539 "CPP_parser.g"
if (statementTrace >= 1) {
printf("%d external_declaration Namespace definition\n",
LT(1)->getLine());
}
#line 168 "CPPParser.cpp"
}
match(LITERAL_namespace);
namespace_definition();
break;
}
case SEMICOLON: {
if (inputState->guessing == 0) {
#line 551 "CPP_parser.g"
if (statementTrace >= 1) {
printf("%d external_declaration Semicolon\n", LT(1)->getLine());
}
#line 181 "CPPParser.cpp"
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 554 "CPP_parser.g"
end_of_stmt();
#line 187 "CPPParser.cpp"
}
break;
}
case LITERAL_antlrTrace_on: {
match(LITERAL_antlrTrace_on);
if (inputState->guessing == 0) {
#line 558 "CPP_parser.g"
antlrTrace(true);
#line 197 "CPPParser.cpp"
}
break;
}
case LITERAL_antlrTrace_off: {
match(LITERAL_antlrTrace_off);
if (inputState->guessing == 0) {
#line 561 "CPP_parser.g"
antlrTrace(false);
#line 207 "CPPParser.cpp"
}
break;
}
default:
bool synPredMatched7 = false;
if (((LA(1) == LITERAL_template) && (LA(2) == LESSTHAN))) {
int _m7 = mark();
synPredMatched7 = true;
inputState->guessing++;
try {
{
match(LITERAL_template);
match(LESSTHAN);
match(GREATERTHAN);
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched7 = false;
}
rewind(_m7);
inputState->guessing--;
}
if (synPredMatched7) {
if (inputState->guessing == 0) {
#line 390 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration template "
"explicit-specialisation\n",
LT(1)->getLine());
}
#line 236 "CPPParser.cpp"
}
match(LITERAL_template);
match(LESSTHAN);
match(GREATERTHAN);
external_declaration();
} else {
bool synPredMatched9 = false;
if (((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2))))) {
int _m9 = mark();
synPredMatched9 = true;
inputState->guessing++;
try {
{ match(LITERAL_typedef); }
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched9 = false;
}
rewind(_m9);
inputState->guessing--;
}
if (synPredMatched9) {
{
bool synPredMatched12 = false;
if (((LA(1) == LITERAL_typedef) &&
((LA(2) >= LITERAL_struct && LA(2) <= LITERAL_class)))) {
int _m12 = mark();
synPredMatched12 = true;
inputState->guessing++;
try {
{
match(LITERAL_typedef);
class_specifier();
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched12 = false;
}
rewind(_m12);
inputState->guessing--;
}
if (synPredMatched12) {
if (inputState->guessing == 0) {
#line 399 "CPP_parser.g"
if (statementTrace >= 1) {
printf("%d external_declaration Typedef class type\n",
LT(1)->getLine());
}
#line 285 "CPPParser.cpp"
}
match(LITERAL_typedef);
class_decl_or_def(fs);
if (inputState->guessing == 0) {
#line 402 "CPP_parser.g"
_td = true;
#line 292 "CPPParser.cpp"
}
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 402 "CPP_parser.g"
end_of_stmt();
#line 336 "CPPParser.cpp"
}
} else {
bool synPredMatched15 = false;
if (((LA(1) == LITERAL_typedef) && (LA(2) == LITERAL_enum))) {
int _m15 = mark();
synPredMatched15 = true;
inputState->guessing++;
try {
{
match(LITERAL_typedef);
match(LITERAL_enum);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched15 = false;
}
rewind(_m15);
inputState->guessing--;
}
if (synPredMatched15) {
if (inputState->guessing == 0) {
#line 405 "CPP_parser.g"
if (statementTrace >= 1) {
printf("%d external_declaration Typedef enum type\n",
LT(1)->getLine());
}
#line 363 "CPPParser.cpp"
}
match(LITERAL_typedef);
enum_specifier();
if (inputState->guessing == 0) {
#line 408 "CPP_parser.g"
_td = true;
#line 370 "CPPParser.cpp"
}
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 408 "CPP_parser.g"
end_of_stmt();
#line 414 "CPPParser.cpp"
}
} else {
bool synPredMatched18 = false;
if (((_tokenSet_2.member(LA(1))) &&
(_tokenSet_3.member(LA(2))))) {
int _m18 = mark();
synPredMatched18 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
function_declarator(0);
match(SEMICOLON);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched18 = false;
}
rewind(_m18);
inputState->guessing--;
}
if (synPredMatched18) {
if (inputState->guessing == 0) {
#line 411 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration Typedef function type\n",
LT(1)->getLine());
}
#line 442 "CPPParser.cpp"
}
declaration();
} else if ((_tokenSet_2.member(LA(1))) &&
(_tokenSet_3.member(LA(2)))) {
if (inputState->guessing == 0) {
#line 416 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration Typedef variable type\n",
LT(1)->getLine());
}
#line 452 "CPPParser.cpp"
}
declaration();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
}
} else {
bool synPredMatched22 = false;
if (((LA(1) == LITERAL_template) && (LA(2) == LESSTHAN))) {
int _m22 = mark();
synPredMatched22 = true;
inputState->guessing++;
try {
{
template_head();
{ // ( ... )*
for (;;) {
if ((_tokenSet_4.member(LA(1)))) {
fs = function_specifier();
} else {
goto _loop21;
}
}
_loop21:;
} // ( ... )*
class_specifier();
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched22 = false;
}
rewind(_m22);
inputState->guessing--;
}
if (synPredMatched22) {
if (inputState->guessing == 0) {
#line 424 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration Templated class decl or def\n",
LT(1)->getLine());
}
#line 498 "CPPParser.cpp"
}
template_head();
{ // ( ... )*
for (;;) {
if ((_tokenSet_4.member(LA(1)))) {
fs = function_specifier();
} else {
goto _loop24;
}
}
_loop24:;
} // ( ... )*
class_decl_or_def(fs);
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 427 "CPP_parser.g"
end_of_stmt();
#line 556 "CPPParser.cpp"
}
} else {
bool synPredMatched28 = false;
if (((LA(1) == LITERAL_enum) && (_tokenSet_5.member(LA(2))))) {
int _m28 = mark();
synPredMatched28 = true;
inputState->guessing++;
try {
{
match(LITERAL_enum);
{
switch (LA(1)) {
case ID: {
match(ID);
break;
}
case LCURLY: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(LCURLY);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched28 = false;
}
rewind(_m28);
inputState->guessing--;
}
if (synPredMatched28) {
if (inputState->guessing == 0) {
#line 431 "CPP_parser.g"
if (statementTrace >= 1) {
printf("%d external_declaration Enum definition\n",
LT(1)->getLine());
}
#line 600 "CPPParser.cpp"
}
enum_specifier();
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 434 "CPP_parser.g"
end_of_stmt();
#line 645 "CPPParser.cpp"
}
} else {
bool synPredMatched32 = false;
if (((_tokenSet_6.member(LA(1))) &&
(_tokenSet_7.member(LA(2))))) {
int _m32 = mark();
synPredMatched32 = true;
inputState->guessing++;
try {
{
{
switch (LA(1)) {
case LITERAL_template: {
template_head();
break;
}
case ID:
case LITERAL_inline:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case TILDE:
case SCOPE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
dtor_head(1);
match(LCURLY);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched32 = false;
}
rewind(_m32);
inputState->guessing--;
}
if (synPredMatched32) {
if (inputState->guessing == 0) {
#line 438 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration Destructor definition\n",
LT(1)->getLine());
}
#line 695 "CPPParser.cpp"
}
{
switch (LA(1)) {
case LITERAL_template: {
template_head();
break;
}
case ID:
case LITERAL_inline:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case TILDE:
case SCOPE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
dtor_head(1);
dtor_body();
} else {
bool synPredMatched36 = false;
if (((_tokenSet_8.member(LA(1))) &&
(_tokenSet_9.member(LA(2))))) {
int _m36 = mark();
synPredMatched36 = true;
inputState->guessing++;
try {
{
{
if ((true) && (true)) {
ctor_decl_spec();
} else {
}
}
if (!(qualifiedItemIsOneOf(qiCtor))) {
throw ANTLR_USE_NAMESPACE(antlr) SemanticException(
"qualifiedItemIsOneOf(qiCtor)");
}
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched36 = false;
}
rewind(_m36);
inputState->guessing--;
}
if (synPredMatched36) {
if (inputState->guessing == 0) {
#line 451 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration Constructor "
"definition\n",
LT(1)->getLine());
}
#line 755 "CPPParser.cpp"
}
ctor_definition();
} else {
bool synPredMatched39 = false;
if (((_tokenSet_10.member(LA(1))) &&
(_tokenSet_11.member(LA(2))))) {
int _m39 = mark();
synPredMatched39 = true;
inputState->guessing++;
try {
{
{
switch (LA(1)) {
case LITERAL_inline: {
match(LITERAL_inline);
break;
}
case ID:
case OPERATOR:
case SCOPE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1),
getFilename());
}
}
}
scope_override();
conversion_function_decl_or_def();
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched39 = false;
}
rewind(_m39);
inputState->guessing--;
}
if (synPredMatched39) {
if (inputState->guessing == 0) {
#line 458 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration Operator function\n",
LT(1)->getLine());
}
#line 802 "CPPParser.cpp"
}
{
switch (LA(1)) {
case LITERAL_inline: {
match(LITERAL_inline);
break;
}
case ID:
case OPERATOR:
case SCOPE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
s = scope_override();
conversion_function_decl_or_def();
} else {
bool synPredMatched42 = false;
if (((_tokenSet_12.member(LA(1))) &&
(_tokenSet_13.member(LA(2))))) {
int _m42 = mark();
synPredMatched42 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
function_declarator(0);
match(SEMICOLON);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched42 = false;
}
rewind(_m42);
inputState->guessing--;
}
if (synPredMatched42) {
if (inputState->guessing == 0) {
#line 465 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration Function "
"declaration\n",
LT(1)->getLine());
}
#line 851 "CPPParser.cpp"
}
declaration_specifiers();
function_declarator(0);
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 468 "CPP_parser.g"
end_of_stmt();
#line 859 "CPPParser.cpp"
}
} else {
bool synPredMatched44 = false;
if (((_tokenSet_14.member(LA(1))) &&
(_tokenSet_15.member(LA(2))))) {
int _m44 = mark();
synPredMatched44 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
function_declarator(1);
match(LCURLY);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched44 = false;
}
rewind(_m44);
inputState->guessing--;
}
if (synPredMatched44) {
if (inputState->guessing == 0) {
#line 472 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration Function "
"definition\n",
LT(1)->getLine());
}
#line 887 "CPPParser.cpp"
}
function_definition();
} else {
bool synPredMatched46 = false;
if (((_tokenSet_14.member(LA(1))) &&
(_tokenSet_15.member(LA(2))))) {
int _m46 = mark();
synPredMatched46 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
function_declarator(1);
declaration();
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched46 = false;
}
rewind(_m46);
inputState->guessing--;
}
if (synPredMatched46) {
if (inputState->guessing == 0) {
#line 479 "CPP_parser.g"
K_and_R = true;
if (statementTrace >= 1) {
printf(
"%d external_declaration K & R function "
"definition\n",
LT(1)->getLine());
}
#line 917 "CPPParser.cpp"
}
function_definition();
} else {
bool synPredMatched48 = false;
if (((_tokenSet_14.member(LA(1))) &&
(_tokenSet_15.member(LA(2))))) {
int _m48 = mark();
synPredMatched48 = true;
inputState->guessing++;
try {
{
function_declarator(1);
declaration();
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched48 = false;
}
rewind(_m48);
inputState->guessing--;
}
if (synPredMatched48) {
if (inputState->guessing == 0) {
#line 487 "CPP_parser.g"
K_and_R = true;
if (statementTrace >= 1) {
printf(
"%d external_declaration K & R "
"function definition without return "
"type\n",
LT(1)->getLine());
}
#line 946 "CPPParser.cpp"
}
function_definition();
} else {
bool synPredMatched53 = false;
if (((_tokenSet_16.member(LA(1))) &&
(_tokenSet_17.member(LA(2))))) {
int _m53 = mark();
synPredMatched53 = true;
inputState->guessing++;
try {
{
{
switch (LA(1)) {
case LITERAL_friend: {
match(LITERAL_friend);
break;
}
case LITERAL_inline:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(
LT(1), getFilename());
}
}
}
{ // ( ... )*
for (;;) {
if ((_tokenSet_4.member(LA(1)))) {
fs = function_specifier();
} else {
goto _loop52;
}
}
_loop52:;
} // ( ... )*
class_specifier();
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched53 = false;
}
rewind(_m53);
inputState->guessing--;
}
if (synPredMatched53) {
if (inputState->guessing == 0) {
#line 495 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration Class decl "
"or def\n",
LT(1)->getLine());
}
#line 1009 "CPPParser.cpp"
}
{
switch (LA(1)) {
case LITERAL_friend: {
match(LITERAL_friend);
break;
}
case LITERAL_inline:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1),
getFilename());
}
}
}
{ // ( ... )*
for (;;) {
if ((_tokenSet_4.member(LA(1)))) {
fs = function_specifier();
} else {
goto _loop56;
}
}
_loop56:;
} // ( ... )*
class_decl_or_def(fs);
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1),
getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 498 "CPP_parser.g"
end_of_stmt();
#line 1090 "CPPParser.cpp"
}
} else if ((LA(1) == LITERAL_template) &&
(LA(2) == LESSTHAN)) {
if (inputState->guessing == 0) {
#line 501 "CPP_parser.g"
beginTemplateDeclaration();
#line 1097 "CPPParser.cpp"
}
template_head();
{
bool synPredMatched61 = false;
if (((_tokenSet_12.member(LA(1))) &&
(_tokenSet_18.member(LA(2))))) {
int _m61 = mark();
synPredMatched61 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(
LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 505 "CPP_parser.g"
end_of_stmt();
#line 1151 "CPPParser.cpp"
}
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched61 = false;
}
rewind(_m61);
inputState->guessing--;
}
if (synPredMatched61) {
if (inputState->guessing == 0) {
#line 506 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration "
"Templated class forward "
"declaration\n",
LT(1)->getLine());
}
#line 1167 "CPPParser.cpp"
}
declaration_specifiers();
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(
LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 509 "CPP_parser.g"
end_of_stmt();
#line 1212 "CPPParser.cpp"
}
} else {
bool synPredMatched64 = false;
if (((_tokenSet_2.member(LA(1))) &&
(_tokenSet_3.member(LA(2))))) {
int _m64 = mark();
synPredMatched64 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
function_declarator(0);
match(SEMICOLON);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched64 = false;
}
rewind(_m64);
inputState->guessing--;
}
if (synPredMatched64) {
if (inputState->guessing == 0) {
#line 513 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration "
"Templated function "
"declaration\n",
LT(1)->getLine());
}
#line 1240 "CPPParser.cpp"
}
declaration();
} else {
bool synPredMatched66 = false;
if (((_tokenSet_14.member(LA(1))) &&
(_tokenSet_15.member(LA(2))))) {
int _m66 = mark();
synPredMatched66 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
function_declarator(1);
match(LCURLY);
}
} catch (ANTLR_USE_NAMESPACE(
antlr) RecognitionException& pe) {
synPredMatched66 = false;
}
rewind(_m66);
inputState->guessing--;
}
if (synPredMatched66) {
if (inputState->guessing == 0) {
#line 520 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration_10c "
"Templated function "
"definition\n",
LT(1)->getLine());
}
#line 1269 "CPPParser.cpp"
}
function_definition();
} else {
bool synPredMatched68 = false;
if (((_tokenSet_8.member(LA(1))) &&
(_tokenSet_9.member(LA(2))))) {
int _m68 = mark();
synPredMatched68 = true;
inputState->guessing++;
try {
{
ctor_decl_spec();
if (!(qualifiedItemIsOneOf(
qiCtor))) {
throw ANTLR_USE_NAMESPACE(
antlr)
SemanticException(
"qualifiedItemIsOneOf"
"(qiCtor)");
}
}
} catch (
ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched68 = false;
}
rewind(_m68);
inputState->guessing--;
}
if (synPredMatched68) {
if (inputState->guessing == 0) {
#line 531 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration "
"Templated constructor "
"definition\n",
LT(1)->getLine());
}
#line 1298 "CPPParser.cpp"
}
ctor_definition();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(
LT(1), getFilename());
}
}
}
}
}
if (inputState->guessing == 0) {
#line 536 "CPP_parser.g"
endTemplateDeclaration();
#line 1310 "CPPParser.cpp"
}
} else if ((_tokenSet_2.member(LA(1))) &&
(_tokenSet_3.member(LA(2)))) {
if (inputState->guessing == 0) {
#line 545 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d external_declaration "
"Declaration\n",
LT(1)->getLine());
}
#line 1319 "CPPParser.cpp"
}
declaration();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1),
getFilename());
}
}
}
}
}
}
}
}
}
}
}
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_19);
} else {
throw;
}
}
}
CPPParser::TypeSpecifier CPPParser::class_specifier() {
#line 1016 "CPP_parser.g"
CPPParser::TypeSpecifier ts = tsInvalid;
#line 1342 "CPPParser.cpp"
try { // for error handling
{
switch (LA(1)) {
case LITERAL_class: {
match(LITERAL_class);
if (inputState->guessing == 0) {
#line 1018 "CPP_parser.g"
ts = tsCLASS;
#line 1353 "CPPParser.cpp"
}
break;
}
case LITERAL_struct: {
match(LITERAL_struct);
if (inputState->guessing == 0) {
#line 1019 "CPP_parser.g"
ts = tsSTRUCT;
#line 1363 "CPPParser.cpp"
}
break;
}
case LITERAL_union: {
match(LITERAL_union);
if (inputState->guessing == 0) {
#line 1020 "CPP_parser.g"
ts = tsUNION;
#line 1373 "CPPParser.cpp"
}
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_12);
} else {
throw;
}
}
return ts;
}
void CPPParser::class_decl_or_def(FunctionSpecifier fs) {
#line 1042 "CPP_parser.g"
char* saveClass;
char* id;
TypeSpecifier ts = tsInvalid; // Available for use
#line 1403 "CPPParser.cpp"
try { // for error handling
{
switch (LA(1)) {
case LITERAL_class: {
match(LITERAL_class);
if (inputState->guessing == 0) {
#line 1048 "CPP_parser.g"
ts = tsCLASS;
#line 1414 "CPPParser.cpp"
}
break;
}
case LITERAL_struct: {
match(LITERAL_struct);
if (inputState->guessing == 0) {
#line 1049 "CPP_parser.g"
ts = tsSTRUCT;
#line 1424 "CPPParser.cpp"
}
break;
}
case LITERAL_union: {
match(LITERAL_union);
if (inputState->guessing == 0) {
#line 1050 "CPP_parser.g"
ts = tsUNION;
#line 1434 "CPPParser.cpp"
}
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
class_prefix();
{ // ( ... )*
for (;;) {
if ((LA(1) == LITERAL_GFIGNORE)) {
match(LITERAL_GFIGNORE);
match(LPAREN);
expression();
match(RPAREN);
if (inputState->guessing == 0) {
#line 1053 "CPP_parser.g"
#line 1454 "CPPParser.cpp"
}
} else {
goto _loop208;
}
}
_loop208:;
} // ( ... )*
{
switch (LA(1)) {
case ID:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case SCOPE: {
id = qualified_id();
{
switch (LA(1)) {
case SEMICOLON:
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
if (inputState->guessing == 0) {
#line 1058 "CPP_parser.g"
classForwardDeclaration(ts, fs, id);
#line 1503 "CPPParser.cpp"
}
break;
}
case LCURLY:
case COLON: {
if (inputState->guessing == 0) {
#line 1060 "CPP_parser.g"
saveClass = enclosingClass;
enclosingClass = symbols->strdup(id);
#line 1515 "CPPParser.cpp"
}
{
switch (LA(1)) {
case COLON: {
base_clause();
break;
}
case LCURLY: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(LCURLY);
if (inputState->guessing == 0) {
#line 1065 "CPP_parser.g"
beginClassDefinition(ts, id);
#line 1538 "CPPParser.cpp"
}
{ // ( ... )*
for (;;) {
if ((_tokenSet_20.member(LA(1)))) {
member_declaration();
} else {
goto _loop215;
}
}
_loop215:;
} // ( ... )*
if (inputState->guessing == 0) {
#line 1067 "CPP_parser.g"
endClassDefinition();
#line 1555 "CPPParser.cpp"
}
match(RCURLY);
if (inputState->guessing == 0) {
#line 1069 "CPP_parser.g"
enclosingClass = saveClass;
#line 1561 "CPPParser.cpp"
}
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case LCURLY: {
match(LCURLY);
if (inputState->guessing == 0) {
#line 1073 "CPP_parser.g"
saveClass = enclosingClass;
enclosingClass = (char*)"__anonymous";
#line 1579 "CPPParser.cpp"
}
if (inputState->guessing == 0) {
#line 1074 "CPP_parser.g"
beginClassDefinition(ts, "anonymous");
#line 1584 "CPPParser.cpp"
}
{ // ( ... )*
for (;;) {
if ((_tokenSet_20.member(LA(1)))) {
member_declaration();
} else {
goto _loop217;
}
}
_loop217:;
} // ( ... )*
if (inputState->guessing == 0) {
#line 1076 "CPP_parser.g"
endClassDefinition();
#line 1601 "CPPParser.cpp"
}
match(RCURLY);
if (inputState->guessing == 0) {
#line 1078 "CPP_parser.g"
enclosingClass = saveClass;
#line 1607 "CPPParser.cpp"
}
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_21);
} else {
throw;
}
}
}
void CPPParser::init_declarator_list() {
try { // for error handling
init_declarator();
{ // ( ... )*
for (;;) {
if ((LA(1) == COMMA)) {
match(COMMA);
init_declarator();
} else {
goto _loop242;
}
}
_loop242:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_22);
} else {
throw;
}
}
}
void CPPParser::enum_specifier() {
#line 1108 "CPP_parser.g"
char* id;
#line 1659 "CPPParser.cpp"
try { // for error handling
match(LITERAL_enum);
{
switch (LA(1)) {
case LCURLY: {
match(LCURLY);
enumerator_list();
match(RCURLY);
break;
}
case ID:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case SCOPE: {
id = qualified_id();
if (inputState->guessing == 0) {
#line 1116 "CPP_parser.g"
beginEnumDefinition(id);
#line 1683 "CPPParser.cpp"
}
{
switch (LA(1)) {
case LCURLY: {
match(LCURLY);
enumerator_list();
match(RCURLY);
break;
}
case SEMICOLON:
case ID:
case COLON:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 1118 "CPP_parser.g"
endEnumDefinition();
#line 1730 "CPPParser.cpp"
}
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_23);
} else {
throw;
}
}
}
void CPPParser::declaration_specifiers() {
ANTLR_USE_NAMESPACE(antlr)
RefToken gfArr = ANTLR_USE_NAMESPACE(antlr) nullToken;
ANTLR_USE_NAMESPACE(antlr)
RefToken gfArrList = ANTLR_USE_NAMESPACE(antlr) nullToken;
ANTLR_USE_NAMESPACE(antlr)
RefToken gfArrElem = ANTLR_USE_NAMESPACE(antlr) nullToken;
#line 885 "CPP_parser.g"
// Locals
bool td = false; // For typedef
bool fd = false; // For friend
StorageClass sc = scInvalid; // auto,register,static,extern,mutable
TypeQualifier tq =
tqInvalid; // const,volatile // aka cv_qualifier See type_qualifier
TypeSpecifier ts = tsInvalid; // char,int,double, etc., class,struct,union
FunctionSpecifier fs = fsInvalid; // inline,virtual,explicit
#line 1764 "CPPParser.cpp"
try { // for error handling
if (inputState->guessing == 0) {
#line 895 "CPP_parser.g"
// Global flags to allow for nested declarations
_td = false; // For typedef
_fd = false; // For friend
_sc = scInvalid; // For StorageClass //
// auto,register,static,extern,mutable
_tq = tqInvalid; // For TypeQualifier // aka cv_qualifier See
// type_qualifier
_ts = tsInvalid; // For TypeSpecifier
_fs = fsInvalid; // For FunctionSpecifier // inline,virtual,explicit
#line 1779 "CPPParser.cpp"
}
{
{ // ( ... )*
for (;;) {
switch (LA(1)) {
case LITERAL_typedef: {
match(LITERAL_typedef);
if (inputState->guessing == 0) {
#line 906 "CPP_parser.g"
td = true;
#line 1791 "CPPParser.cpp"
}
break;
}
case LITERAL_friend: {
match(LITERAL_friend);
if (inputState->guessing == 0) {
#line 907 "CPP_parser.g"
fd = true;
#line 1801 "CPPParser.cpp"
}
break;
}
case LITERAL_extern:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_static:
case LITERAL_mutable: {
sc = storage_class_specifier();
break;
}
case LITERAL_const:
case LITERAL___const:
case LITERAL_volatile:
case LITERAL___volatile__: {
tq = type_qualifier();
break;
}
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class: {
ts = class_specifier();
break;
}
case LITERAL_enum: {
match(LITERAL_enum);
break;
}
case LITERAL_inline:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit: {
fs = function_specifier();
break;
}
case LITERAL__stdcall:
case LITERAL___stdcall: {
{
switch (LA(1)) {
case LITERAL__stdcall: {
match(LITERAL__stdcall);
break;
}
case LITERAL___stdcall: {
match(LITERAL___stdcall);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case LITERAL_GFEXCLUDE: {
match(LITERAL_GFEXCLUDE);
if (inputState->guessing == 0) {
#line 914 "CPP_parser.g"
tq |= tqGFEXCLUDE;
_tq |= tqGFEXCLUDE;
#line 1872 "CPPParser.cpp"
}
break;
}
case LITERAL_GFINCLUDE: {
match(LITERAL_GFINCLUDE);
if (inputState->guessing == 0) {
#line 915 "CPP_parser.g"
tq |= tqGFINCLUDE;
_tq |= tqGFINCLUDE;
#line 1882 "CPPParser.cpp"
}
break;
}
case LITERAL_GFID: {
match(LITERAL_GFID);
if (inputState->guessing == 0) {
#line 916 "CPP_parser.g"
tq |= tqGFID;
_tq |= tqGFID;
#line 1892 "CPPParser.cpp"
}
break;
}
case LITERAL_GFUNREAD: {
match(LITERAL_GFUNREAD);
if (inputState->guessing == 0) {
#line 917 "CPP_parser.g"
tq |= tqGFUNREAD;
_tq |= tqGFUNREAD;
#line 1902 "CPPParser.cpp"
}
break;
}
case LITERAL_GFARRAYSIZE: {
match(LITERAL_GFARRAYSIZE);
match(LPAREN);
gfArr = LT(1);
match(ID);
match(RPAREN);
if (inputState->guessing == 0) {
#line 918 "CPP_parser.g"
gfArraySize(gfArr->getText().data());
#line 1916 "CPPParser.cpp"
}
break;
}
case LITERAL_GFARRAYSIZES: {
match(LITERAL_GFARRAYSIZES);
match(LPAREN);
gfArrList = LT(1);
match(StringLiteral);
match(RPAREN);
if (inputState->guessing == 0) {
#line 919 "CPP_parser.g"
gfArraySize(gfArrList->getText().data());
#line 1930 "CPPParser.cpp"
}
break;
}
case LITERAL_GFARRAYELEMSIZE: {
match(LITERAL_GFARRAYELEMSIZE);
match(LPAREN);
gfArrElem = LT(1);
match(ID);
match(RPAREN);
if (inputState->guessing == 0) {
#line 920 "CPP_parser.g"
gfArrayElemSize(gfArrElem->getText().data());
#line 1944 "CPPParser.cpp"
}
break;
}
default: { goto _loop174; }
}
}
_loop174:;
} // ( ... )*
ts = type_specifier();
}
if (inputState->guessing == 0) {
#line 924 "CPP_parser.g"
declarationSpecifier(td, fd, sc, tq, ts, fs);
#line 1961 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_24);
} else {
throw;
}
}
}
void CPPParser::function_declarator(int definition) {
try { // for error handling
bool synPredMatched298 = false;
if (((_tokenSet_25.member(LA(1))) && (_tokenSet_26.member(LA(2))))) {
int _m298 = mark();
synPredMatched298 = true;
inputState->guessing++;
try {
{ ptr_operator(); }
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched298 = false;
}
rewind(_m298);
inputState->guessing--;
}
if (synPredMatched298) {
ptr_operator();
function_declarator(definition);
} else if ((_tokenSet_27.member(LA(1))) && (_tokenSet_28.member(LA(2)))) {
function_direct_declarator(definition);
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_29);
} else {
throw;
}
}
}
void CPPParser::declaration() {
try { // for error handling
bool synPredMatched159 = false;
if (((LA(1) == LITERAL_extern) && (LA(2) == StringLiteral))) {
int _m159 = mark();
synPredMatched159 = true;
inputState->guessing++;
try {
{
match(LITERAL_extern);
match(StringLiteral);
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched159 = false;
}
rewind(_m159);
inputState->guessing--;
}
if (synPredMatched159) {
linkage_specification();
} else if ((_tokenSet_12.member(LA(1))) && (_tokenSet_18.member(LA(2)))) {
if (inputState->guessing == 0) {
#line 853 "CPP_parser.g"
beginDeclaration();
#line 2044 "CPPParser.cpp"
}
declaration_specifiers();
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 854 "CPP_parser.g"
end_of_stmt();
#line 2089 "CPPParser.cpp"
}
if (inputState->guessing == 0) {
#line 855 "CPP_parser.g"
endDeclaration();
#line 2094 "CPPParser.cpp"
}
} else if ((LA(1) == LITERAL_using)) {
using_statement();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_30);
} else {
throw;
}
}
}
void CPPParser::template_head() {
try { // for error handling
match(LITERAL_template);
match(LESSTHAN);
template_parameter_list();
match(GREATERTHAN);
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_31);
} else {
throw;
}
}
}
CPPParser::FunctionSpecifier CPPParser::function_specifier() {
#line 937 "CPP_parser.g"
CPPParser::FunctionSpecifier fs = fsInvalid;
#line 2136 "CPPParser.cpp"
try { // for error handling
switch (LA(1)) {
case LITERAL_inline:
case LITERAL__inline:
case LITERAL___inline: {
{
switch (LA(1)) {
case LITERAL_inline: {
match(LITERAL_inline);
break;
}
case LITERAL__inline: {
match(LITERAL__inline);
break;
}
case LITERAL___inline: {
match(LITERAL___inline);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 938 "CPP_parser.g"
fs = fsINLINE;
#line 2170 "CPPParser.cpp"
}
break;
}
case LITERAL_virtual: {
match(LITERAL_virtual);
if (inputState->guessing == 0) {
#line 939 "CPP_parser.g"
fs = fsVIRTUAL;
#line 2180 "CPPParser.cpp"
}
break;
}
case LITERAL_explicit: {
match(LITERAL_explicit);
if (inputState->guessing == 0) {
#line 940 "CPP_parser.g"
fs = fsEXPLICIT;
#line 2190 "CPPParser.cpp"
}
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_14);
} else {
throw;
}
}
return fs;
}
void CPPParser::dtor_head(int definition) {
try { // for error handling
dtor_decl_spec();
dtor_declarator(definition);
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_32);
} else {
throw;
}
}
}
void CPPParser::dtor_body() {
try { // for error handling
compound_statement();
if (inputState->guessing == 0) {
#line 1476 "CPP_parser.g"
endDestructorDefinition();
#line 2236 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_30);
} else {
throw;
}
}
}
void CPPParser::ctor_decl_spec() {
try { // for error handling
{ // ( ... )*
for (;;) {
switch (LA(1)) {
case LITERAL_inline:
case LITERAL__inline:
case LITERAL___inline: {
{
switch (LA(1)) {
case LITERAL_inline: {
match(LITERAL_inline);
break;
}
case LITERAL__inline: {
match(LITERAL__inline);
break;
}
case LITERAL___inline: {
match(LITERAL___inline);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case LITERAL_explicit: {
match(LITERAL_explicit);
break;
}
default: { goto _loop311; }
}
}
_loop311:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_33);
} else {
throw;
}
}
}
void CPPParser::ctor_definition() {
try { // for error handling
ctor_head();
ctor_body();
if (inputState->guessing == 0) {
#line 1385 "CPP_parser.g"
endConstructorDefinition();
#line 2316 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_30);
} else {
throw;
}
}
}
char* CPPParser::scope_override() {
#line 2226 "CPP_parser.g"
char* s = NULL;
#line 2332 "CPPParser.cpp"
ANTLR_USE_NAMESPACE(antlr) RefToken id = ANTLR_USE_NAMESPACE(antlr) nullToken;
#line 2226 "CPP_parser.g"
static char sitem[CPPParser_MaxQualifiedItemSize + 1];
sitem[0] = '\0';
#line 2339 "CPPParser.cpp"
try { // for error handling
{
switch (LA(1)) {
case SCOPE: {
match(SCOPE);
if (inputState->guessing == 0) {
#line 2232 "CPP_parser.g"
strcat(sitem, "::");
#line 2350 "CPPParser.cpp"
}
break;
}
case ID:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
{ // ( ... )*
for (;;) {
if (((LA(1) == ID) && (LA(2) == LESSTHAN || LA(2) == SCOPE)) &&
(scopedItem())) {
id = LT(1);
match(ID);
{
switch (LA(1)) {
case LESSTHAN: {
match(LESSTHAN);
template_argument_list();
match(GREATERTHAN);
break;
}
case SCOPE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(SCOPE);
{
switch (LA(1)) {
case LITERAL_template: {
match(LITERAL_template);
break;
}
case ID:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 2238 "CPP_parser.g"
CPPSymbol* cs = (CPPSymbol*)symbols->lookup((id->getText()).data());
strcat(sitem, (id->getText()).data());
strcat(sitem, "::");
#line 2425 "CPPParser.cpp"
}
} else {
goto _loop587;
}
}
_loop587:;
} // ( ... )*
if (inputState->guessing == 0) {
#line 2244 "CPP_parser.g"
s = sitem;
#line 2438 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_34);
} else {
throw;
}
}
return s;
}
void CPPParser::conversion_function_decl_or_def() {
#line 1302 "CPP_parser.g"
CPPParser::TypeQualifier tq;
#line 2455 "CPPParser.cpp"
try { // for error handling
match(OPERATOR);
declaration_specifiers();
{
switch (LA(1)) {
case STAR: {
match(STAR);
break;
}
case AMPERSAND: {
match(AMPERSAND);
break;
}
case LESSTHAN:
case LPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
{
switch (LA(1)) {
case LESSTHAN: {
match(LESSTHAN);
template_parameter_list();
match(GREATERTHAN);
break;
}
case LPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(LPAREN);
{
switch (LA(1)) {
case LITERAL_typedef:
case LITERAL_enum:
case ID:
case LITERAL_inline:
case LITERAL_friend:
case LITERAL_extern:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LITERAL_GFEXCLUDE:
case LITERAL_GFINCLUDE:
case LITERAL_GFID:
case LITERAL_GFUNREAD:
case LITERAL_GFARRAYSIZE:
case LPAREN:
case LITERAL_GFARRAYSIZES:
case LITERAL_GFARRAYELEMSIZE:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_static:
case LITERAL_mutable:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case LITERAL_const:
case LITERAL___const:
case LITERAL_volatile:
case LITERAL___volatile__:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case ELLIPSIS:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
parameter_list();
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RPAREN);
{ // ( ... )*
for (;;) {
if (((LA(1) >= LITERAL_const && LA(1) <= LITERAL___volatile__))) {
tq = type_qualifier();
} else {
goto _loop293;
}
}
_loop293:;
} // ( ... )*
{
switch (LA(1)) {
case LITERAL_throw: {
exception_specification();
break;
}
case SEMICOLON:
case LCURLY: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
{
switch (LA(1)) {
case LCURLY: {
compound_statement();
break;
}
case SEMICOLON: {
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1311 "CPP_parser.g"
end_of_stmt();
#line 2645 "CPPParser.cpp"
}
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_30);
} else {
throw;
}
}
}
void CPPParser::function_definition() {
try { // for error handling
if (inputState->guessing == 0) {
#line 822 "CPP_parser.g"
beginFunctionDefinition();
#line 2674 "CPPParser.cpp"
}
{
if (((_tokenSet_12.member(LA(1))) && (_tokenSet_13.member(LA(2)))) &&
((!(LA(1) == SCOPE || LA(1) == ID) ||
qualifiedItemIsOneOf(qiType | qiCtor)))) {
declaration_specifiers();
function_declarator(1);
{
if ((_tokenSet_35.member(LA(1))) && (_tokenSet_36.member(LA(2)))) {
{ // ( ... )*
for (;;) {
if ((_tokenSet_2.member(LA(1)))) {
declaration();
} else {
goto _loop153;
}
}
_loop153:;
} // ( ... )*
if (inputState->guessing == 0) {
#line 831 "CPP_parser.g"
in_parameter_list = false;
#line 2697 "CPPParser.cpp"
}
} else if ((LA(1) == LCURLY) && (_tokenSet_37.member(LA(2)))) {
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
compound_statement();
} else if ((_tokenSet_38.member(LA(1))) && (_tokenSet_39.member(LA(2)))) {
function_declarator(1);
{
if ((_tokenSet_35.member(LA(1))) && (_tokenSet_36.member(LA(2)))) {
{ // ( ... )*
for (;;) {
if ((_tokenSet_2.member(LA(1)))) {
declaration();
} else {
goto _loop156;
}
}
_loop156:;
} // ( ... )*
if (inputState->guessing == 0) {
#line 840 "CPP_parser.g"
in_parameter_list = false;
#line 2728 "CPPParser.cpp"
}
} else if ((LA(1) == LCURLY) && (_tokenSet_37.member(LA(2)))) {
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
compound_statement();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
if (inputState->guessing == 0) {
#line 844 "CPP_parser.g"
endFunctionDefinition();
#line 2748 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_30);
} else {
throw;
}
}
}
void CPPParser::namespace_definition() {
ANTLR_USE_NAMESPACE(antlr) RefToken ns = ANTLR_USE_NAMESPACE(antlr) nullToken;
try { // for error handling
{
switch (LA(1)) {
case ID: {
ns = LT(1);
match(ID);
if (inputState->guessing == 0) {
#line 568 "CPP_parser.g"
declaratorID((ns->getText()).data(), qiNamespace);
#line 2774 "CPPParser.cpp"
}
break;
}
case LCURLY: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(LCURLY);
if (inputState->guessing == 0) {
#line 570 "CPP_parser.g"
enterNewLocalScope();
#line 2792 "CPPParser.cpp"
}
{ // ( ... )*
for (;;) {
if ((_tokenSet_0.member(LA(1)))) {
external_declaration();
} else {
goto _loop72;
}
}
_loop72:;
} // ( ... )*
if (inputState->guessing == 0) {
#line 572 "CPP_parser.g"
exitNamespaceScope();
exitLocalScope();
#line 2809 "CPPParser.cpp"
}
match(RCURLY);
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_19);
} else {
throw;
}
}
}
void CPPParser::namespace_alias_definition() {
ANTLR_USE_NAMESPACE(antlr)
RefToken ns2 = ANTLR_USE_NAMESPACE(antlr) nullToken;
#line 577 "CPP_parser.g"
char* qid;
#line 2827 "CPPParser.cpp"
try { // for error handling
match(LITERAL_namespace);
ns2 = LT(1);
match(ID);
if (inputState->guessing == 0) {
#line 581 "CPP_parser.g"
declaratorID((ns2->getText()).data(), qiNamespace);
#line 2836 "CPPParser.cpp"
}
match(ASSIGNEQUAL);
qid = qualified_id();
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 582 "CPP_parser.g"
end_of_stmt();
#line 2844 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_40);
} else {
throw;
}
}
}
char* CPPParser::qualified_id() {
#line 1143 "CPP_parser.g"
char* q = NULL;
#line 2860 "CPPParser.cpp"
ANTLR_USE_NAMESPACE(antlr) RefToken id = ANTLR_USE_NAMESPACE(antlr) nullToken;
#line 1143 "CPP_parser.g"
char* so = NULL;
static char qitem[CPPParser_MaxQualifiedItemSize + 1];
#line 2867 "CPPParser.cpp"
try { // for error handling
so = scope_override();
if (inputState->guessing == 0) {
#line 1150 "CPP_parser.g"
strcpy(qitem, so);
#line 2874 "CPPParser.cpp"
}
{
switch (LA(1)) {
case ID: {
id = LT(1);
match(ID);
{
switch (LA(1)) {
case LESSTHAN: {
match(LESSTHAN);
template_argument_list();
match(GREATERTHAN);
break;
}
case GREATERTHAN:
case SEMICOLON:
case ID:
case LCURLY:
case ASSIGNEQUAL:
case COLON:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case RPAREN:
case COMMA:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case LSQUARE:
case TILDE:
case STAR:
case AMPERSAND:
case ELLIPSIS:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 1155 "CPP_parser.g"
strcat(qitem, (id->getText()).data());
#line 2934 "CPPParser.cpp"
}
break;
}
case OPERATOR: {
match(OPERATOR);
optor();
if (inputState->guessing == 0) {
#line 1158 "CPP_parser.g"
strcat(qitem, "operator");
strcat(qitem, "NYI");
#line 2945 "CPPParser.cpp"
}
break;
}
case LITERAL_this: {
match(LITERAL_this);
break;
}
case LITERAL_true:
case LITERAL_false: {
{
switch (LA(1)) {
case LITERAL_true: {
match(LITERAL_true);
break;
}
case LITERAL_false: {
match(LITERAL_false);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 1164 "CPP_parser.g"
q = qitem;
#line 2986 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_41);
} else {
throw;
}
}
return q;
}
void CPPParser::member_declaration() {
#line 585 "CPP_parser.g"
char* q;
FunctionSpecifier fs = fsInvalid; // inline,virtual,explicit
#line 3005 "CPPParser.cpp"
try { // for error handling
{
switch (LA(1)) {
case LITERAL_public:
case LITERAL_protected:
case LITERAL_private: {
if (inputState->guessing == 0) {
#line 799 "CPP_parser.g"
if (statementTrace >= 1) {
printf("%d member_declaration Access specifier\n",
LT(1)->getLine());
}
#line 3019 "CPPParser.cpp"
}
access_specifier();
match(COLON);
break;
}
case SEMICOLON: {
if (inputState->guessing == 0) {
#line 805 "CPP_parser.g"
if (statementTrace >= 1) {
printf("%d member_declaration Semicolon\n", LT(1)->getLine());
}
#line 3032 "CPPParser.cpp"
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 808 "CPP_parser.g"
end_of_stmt();
#line 3038 "CPPParser.cpp"
}
break;
}
case LITERAL_antlrTrace_on: {
match(LITERAL_antlrTrace_on);
if (inputState->guessing == 0) {
#line 812 "CPP_parser.g"
antlrTrace(true);
#line 3048 "CPPParser.cpp"
}
break;
}
case LITERAL_antlrTrace_off: {
match(LITERAL_antlrTrace_off);
if (inputState->guessing == 0) {
#line 815 "CPP_parser.g"
antlrTrace(false);
#line 3058 "CPPParser.cpp"
}
break;
}
default:
bool synPredMatched77 = false;
if (((LA(1) == LITERAL_template) && (LA(2) == LESSTHAN))) {
int _m77 = mark();
synPredMatched77 = true;
inputState->guessing++;
try {
{
match(LITERAL_template);
match(LESSTHAN);
match(GREATERTHAN);
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched77 = false;
}
rewind(_m77);
inputState->guessing--;
}
if (synPredMatched77) {
if (inputState->guessing == 0) {
#line 593 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d member_declaration Template explicit-specialisation\n",
LT(1)->getLine());
}
#line 3087 "CPPParser.cpp"
}
match(LITERAL_template);
match(LESSTHAN);
match(GREATERTHAN);
member_declaration();
} else {
bool synPredMatched79 = false;
if (((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2))))) {
int _m79 = mark();
synPredMatched79 = true;
inputState->guessing++;
try {
{ match(LITERAL_typedef); }
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched79 = false;
}
rewind(_m79);
inputState->guessing--;
}
if (synPredMatched79) {
{
bool synPredMatched82 = false;
if (((LA(1) == LITERAL_typedef) &&
((LA(2) >= LITERAL_struct && LA(2) <= LITERAL_class)))) {
int _m82 = mark();
synPredMatched82 = true;
inputState->guessing++;
try {
{
match(LITERAL_typedef);
class_specifier();
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched82 = false;
}
rewind(_m82);
inputState->guessing--;
}
if (synPredMatched82) {
if (inputState->guessing == 0) {
#line 602 "CPP_parser.g"
if (statementTrace >= 1) {
printf("%d member_declaration Typedef class type\n",
LT(1)->getLine());
}
#line 3136 "CPPParser.cpp"
}
match(LITERAL_typedef);
class_decl_or_def(fs);
if (inputState->guessing == 0) {
#line 605 "CPP_parser.g"
_td = true;
#line 3143 "CPPParser.cpp"
}
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 605 "CPP_parser.g"
end_of_stmt();
#line 3187 "CPPParser.cpp"
}
} else {
bool synPredMatched85 = false;
if (((LA(1) == LITERAL_typedef) && (LA(2) == LITERAL_enum))) {
int _m85 = mark();
synPredMatched85 = true;
inputState->guessing++;
try {
{
match(LITERAL_typedef);
match(LITERAL_enum);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched85 = false;
}
rewind(_m85);
inputState->guessing--;
}
if (synPredMatched85) {
if (inputState->guessing == 0) {
#line 608 "CPP_parser.g"
if (statementTrace >= 1) {
printf("%d member_declaration Typedef enum type\n",
LT(1)->getLine());
}
#line 3214 "CPPParser.cpp"
}
match(LITERAL_typedef);
enum_specifier();
if (inputState->guessing == 0) {
#line 611 "CPP_parser.g"
_td = true;
#line 3221 "CPPParser.cpp"
}
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 611 "CPP_parser.g"
end_of_stmt();
#line 3265 "CPPParser.cpp"
}
} else {
bool synPredMatched88 = false;
if (((_tokenSet_2.member(LA(1))) &&
(_tokenSet_3.member(LA(2))))) {
int _m88 = mark();
synPredMatched88 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
function_declarator(0);
match(SEMICOLON);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched88 = false;
}
rewind(_m88);
inputState->guessing--;
}
if (synPredMatched88) {
if (inputState->guessing == 0) {
#line 614 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d member_declaration Typedef function type\n",
LT(1)->getLine());
}
#line 3293 "CPPParser.cpp"
}
declaration();
} else if ((_tokenSet_2.member(LA(1))) &&
(_tokenSet_3.member(LA(2)))) {
if (inputState->guessing == 0) {
#line 619 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d member_declaration Typedef variable type\n",
LT(1)->getLine());
}
#line 3303 "CPPParser.cpp"
}
declaration();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
}
} else {
bool synPredMatched92 = false;
if (((LA(1) == LITERAL_template) && (LA(2) == LESSTHAN))) {
int _m92 = mark();
synPredMatched92 = true;
inputState->guessing++;
try {
{
template_head();
{ // ( ... )*
for (;;) {
if ((_tokenSet_4.member(LA(1)))) {
fs = function_specifier();
} else {
goto _loop91;
}
}
_loop91:;
} // ( ... )*
class_specifier();
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched92 = false;
}
rewind(_m92);
inputState->guessing--;
}
if (synPredMatched92) {
if (inputState->guessing == 0) {
#line 627 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d member_declaration Templated class decl or def\n",
LT(1)->getLine());
}
#line 3349 "CPPParser.cpp"
}
template_head();
{ // ( ... )*
for (;;) {
if ((_tokenSet_4.member(LA(1)))) {
fs = function_specifier();
} else {
goto _loop94;
}
}
_loop94:;
} // ( ... )*
class_decl_or_def(fs);
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 630 "CPP_parser.g"
end_of_stmt();
#line 3407 "CPPParser.cpp"
}
} else {
bool synPredMatched98 = false;
if (((LA(1) == LITERAL_enum) && (_tokenSet_5.member(LA(2))))) {
int _m98 = mark();
synPredMatched98 = true;
inputState->guessing++;
try {
{
match(LITERAL_enum);
{
switch (LA(1)) {
case ID: {
match(ID);
break;
}
case LCURLY: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(LCURLY);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched98 = false;
}
rewind(_m98);
inputState->guessing--;
}
if (synPredMatched98) {
if (inputState->guessing == 0) {
#line 634 "CPP_parser.g"
if (statementTrace >= 1) {
printf("%d member_declaration Enum definition\n",
LT(1)->getLine());
}
#line 3451 "CPPParser.cpp"
}
enum_specifier();
{
switch (LA(1)) {
case ID:
case COLON:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
member_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 637 "CPP_parser.g"
end_of_stmt();
#line 3497 "CPPParser.cpp"
}
} else {
bool synPredMatched101 = false;
if (((_tokenSet_8.member(LA(1))) &&
(_tokenSet_9.member(LA(2))))) {
int _m101 = mark();
synPredMatched101 = true;
inputState->guessing++;
try {
{
ctor_decl_spec();
if (!(qualifiedItemIsOneOf(qiCtor))) {
throw ANTLR_USE_NAMESPACE(antlr)
SemanticException("qualifiedItemIsOneOf(qiCtor)");
}
ctor_declarator(0);
match(SEMICOLON);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched101 = false;
}
rewind(_m101);
inputState->guessing--;
}
if (synPredMatched101) {
if (inputState->guessing == 0) {
#line 644 "CPP_parser.g"
if (statementTrace >= 1) {
printf("%d member_declaration Constructor declarator\n",
LT(1)->getLine());
}
#line 3527 "CPPParser.cpp"
}
ctor_decl_spec();
ctor_declarator(0);
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 647 "CPP_parser.g"
end_of_stmt();
#line 3535 "CPPParser.cpp"
}
} else {
bool synPredMatched104 = false;
if (((_tokenSet_8.member(LA(1))) &&
(_tokenSet_9.member(LA(2))))) {
int _m104 = mark();
synPredMatched104 = true;
inputState->guessing++;
try {
{
ctor_decl_spec();
if (!(qualifiedItemIsOneOf(qiCtor))) {
throw ANTLR_USE_NAMESPACE(antlr) SemanticException(
"qualifiedItemIsOneOf(qiCtor)");
}
ctor_declarator(1);
{
switch (LA(1)) {
case COLON: {
match(COLON);
break;
}
case LCURLY: {
match(LCURLY);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched104 = false;
}
rewind(_m104);
inputState->guessing--;
}
if (synPredMatched104) {
if (inputState->guessing == 0) {
#line 661 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d member_declaration Constructor definition\n",
LT(1)->getLine());
}
#line 3582 "CPPParser.cpp"
}
ctor_definition();
} else {
bool synPredMatched106 = false;
if (((_tokenSet_42.member(LA(1))) &&
(_tokenSet_7.member(LA(2))))) {
int _m106 = mark();
synPredMatched106 = true;
inputState->guessing++;
try {
{
dtor_head(0);
match(SEMICOLON);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched106 = false;
}
rewind(_m106);
inputState->guessing--;
}
if (synPredMatched106) {
if (inputState->guessing == 0) {
#line 670 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d member_declaration Destructor "
"declaration\n",
LT(1)->getLine());
}
#line 3610 "CPPParser.cpp"
}
dtor_head(0);
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 673 "CPP_parser.g"
end_of_stmt();
#line 3617 "CPPParser.cpp"
}
} else {
bool synPredMatched108 = false;
if (((_tokenSet_42.member(LA(1))) &&
(_tokenSet_7.member(LA(2))))) {
int _m108 = mark();
synPredMatched108 = true;
inputState->guessing++;
try {
{
dtor_head(1);
match(LCURLY);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched108 = false;
}
rewind(_m108);
inputState->guessing--;
}
if (synPredMatched108) {
if (inputState->guessing == 0) {
#line 679 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d member_declaration Destructor "
"definition\n",
LT(1)->getLine());
}
#line 3644 "CPPParser.cpp"
}
dtor_head(1);
dtor_body();
} else {
bool synPredMatched110 = false;
if (((_tokenSet_12.member(LA(1))) &&
(_tokenSet_13.member(LA(2))))) {
int _m110 = mark();
synPredMatched110 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
function_declarator(0);
match(SEMICOLON);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched110 = false;
}
rewind(_m110);
inputState->guessing--;
}
if (synPredMatched110) {
if (inputState->guessing == 0) {
#line 686 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d member_declaration Function "
"declaration\n",
LT(1)->getLine());
}
#line 3674 "CPPParser.cpp"
}
declaration_specifiers();
function_declarator(0);
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 689 "CPP_parser.g"
end_of_stmt();
#line 3682 "CPPParser.cpp"
}
} else {
bool synPredMatched112 = false;
if (((_tokenSet_14.member(LA(1))) &&
(_tokenSet_15.member(LA(2))))) {
int _m112 = mark();
synPredMatched112 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
function_declarator(1);
match(LCURLY);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched112 = false;
}
rewind(_m112);
inputState->guessing--;
}
if (synPredMatched112) {
if (inputState->guessing == 0) {
#line 693 "CPP_parser.g"
beginFieldDeclaration();
if (statementTrace >= 1) {
printf(
"%d member_declaration Function "
"definition\n",
LT(1)->getLine());
}
#line 3711 "CPPParser.cpp"
}
function_definition();
} else {
bool synPredMatched115 = false;
if (((LA(1) == LITERAL_inline ||
LA(1) == OPERATOR) &&
(_tokenSet_43.member(LA(2))))) {
int _m115 = mark();
synPredMatched115 = true;
inputState->guessing++;
try {
{
{
switch (LA(1)) {
case LITERAL_inline: {
match(LITERAL_inline);
break;
}
case OPERATOR: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(
LT(1), getFilename());
}
}
}
conversion_function_decl_or_def();
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched115 = false;
}
rewind(_m115);
inputState->guessing--;
}
if (synPredMatched115) {
if (inputState->guessing == 0) {
#line 701 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d member_declaration Operator "
"function\n",
LT(1)->getLine());
}
#line 3755 "CPPParser.cpp"
}
{
switch (LA(1)) {
case LITERAL_inline: {
match(LITERAL_inline);
break;
}
case OPERATOR: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1),
getFilename());
}
}
}
conversion_function_decl_or_def();
} else {
bool synPredMatched118 = false;
if (((_tokenSet_44.member(LA(1))) &&
(_tokenSet_45.member(LA(2))))) {
int _m118 = mark();
synPredMatched118 = true;
inputState->guessing++;
try {
{
qualified_id();
match(SEMICOLON);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched118 = false;
}
rewind(_m118);
inputState->guessing--;
}
if (synPredMatched118) {
if (inputState->guessing == 0) {
#line 710 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d member_declaration Qualified "
"ID\n",
LT(1)->getLine());
}
#line 3800 "CPPParser.cpp"
}
q = qualified_id();
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 713 "CPP_parser.g"
end_of_stmt();
#line 3807 "CPPParser.cpp"
}
} else {
bool synPredMatched121 = false;
if (((_tokenSet_2.member(LA(1))) &&
(_tokenSet_3.member(LA(2))))) {
int _m121 = mark();
synPredMatched121 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(
LT(1), getFilename());
}
}
}
match(SEMICOLON);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched121 = false;
}
rewind(_m121);
inputState->guessing--;
}
if (synPredMatched121) {
if (inputState->guessing == 0) {
#line 718 "CPP_parser.g"
beginFieldDeclaration();
if (statementTrace >= 1) {
printf(
"%d member_declaration "
"Declaration\n",
LT(1)->getLine());
}
#line 3873 "CPPParser.cpp"
}
declaration();
} else {
bool synPredMatched126 = false;
if (((_tokenSet_16.member(LA(1))) &&
(_tokenSet_17.member(LA(2))))) {
int _m126 = mark();
synPredMatched126 = true;
inputState->guessing++;
try {
{
{
switch (LA(1)) {
case LITERAL_friend: {
match(LITERAL_friend);
break;
}
case LITERAL_inline:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(
LT(1), getFilename());
}
}
}
{ // ( ... )*
for (;;) {
if ((_tokenSet_4.member(LA(1)))) {
fs = function_specifier();
} else {
goto _loop125;
}
}
_loop125:;
} // ( ... )*
class_specifier();
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched126 = false;
}
rewind(_m126);
inputState->guessing--;
}
if (synPredMatched126) {
if (inputState->guessing == 0) {
#line 726 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d member_declaration Class "
"decl or def\n",
LT(1)->getLine());
}
#line 3936 "CPPParser.cpp"
}
{
switch (LA(1)) {
case LITERAL_friend: {
match(LITERAL_friend);
break;
}
case LITERAL_inline:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(
LT(1), getFilename());
}
}
}
{ // ( ... )*
for (;;) {
if ((_tokenSet_4.member(LA(1)))) {
fs = function_specifier();
} else {
goto _loop129;
}
}
_loop129:;
} // ( ... )*
class_decl_or_def(fs);
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(
LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 729 "CPP_parser.g"
end_of_stmt();
#line 4017 "CPPParser.cpp"
}
} else {
bool synPredMatched134 = false;
if (((_tokenSet_46.member(LA(1))) &&
(_tokenSet_47.member(LA(2))))) {
int _m134 = mark();
synPredMatched134 = true;
inputState->guessing++;
try {
{
{ // ( ... )*
for (;;) {
if ((_tokenSet_4.member(
LA(1)))) {
fs = function_specifier();
} else {
goto _loop133;
}
}
_loop133:;
} // ( ... )*
function_declarator(0);
match(SEMICOLON);
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched134 = false;
}
rewind(_m134);
inputState->guessing--;
}
if (synPredMatched134) {
if (inputState->guessing == 0) {
#line 733 "CPP_parser.g"
beginFieldDeclaration();
fprintf(stderr,
"%d warning Function "
"declaration found without "
"return type\n",
LT(1)->getLine());
if (statementTrace >= 1) {
printf(
"%d member_declaration "
"Function declaration\n",
LT(1)->getLine());
}
#line 4058 "CPPParser.cpp"
}
{ // ( ... )*
for (;;) {
if ((_tokenSet_4.member(LA(1)))) {
fs = function_specifier();
} else {
goto _loop136;
}
}
_loop136:;
} // ( ... )*
function_declarator(0);
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 738 "CPP_parser.g"
end_of_stmt();
#line 4077 "CPPParser.cpp"
}
} else if ((_tokenSet_38.member(LA(1))) &&
(_tokenSet_39.member(LA(2)))) {
if (inputState->guessing == 0) {
#line 742 "CPP_parser.g"
fprintf(stderr,
"%d warning Function "
"definition found without "
"return type\n",
LT(1)->getLine());
if (statementTrace >= 1) {
printf(
"%d member_declaration "
"Function definition without "
"return type\n",
LT(1)->getLine());
}
#line 4088 "CPPParser.cpp"
}
function_declarator(1);
compound_statement();
if (inputState->guessing == 0) {
#line 747 "CPP_parser.g"
endFunctionDefinition();
#line 4095 "CPPParser.cpp"
}
} else if ((LA(1) == LITERAL_template) &&
(LA(2) == LESSTHAN)) {
if (inputState->guessing == 0) {
#line 750 "CPP_parser.g"
beginTemplateDeclaration();
#line 4102 "CPPParser.cpp"
}
template_head();
{
bool synPredMatched140 = false;
if (((_tokenSet_12.member(LA(1))) &&
(_tokenSet_18.member(LA(2))))) {
int _m140 = mark();
synPredMatched140 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(
antlr)
NoViableAltException(
LT(1),
getFilename());
}
}
}
match(SEMICOLON);
}
} catch (
ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched140 = false;
}
rewind(_m140);
inputState->guessing--;
}
if (synPredMatched140) {
if (inputState->guessing == 0) {
#line 755 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d member_declaration "
"Templated forward "
"declaration\n",
LT(1)->getLine());
}
#line 4167 "CPPParser.cpp"
}
declaration_specifiers();
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(
antlr)
NoViableAltException(
LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 758 "CPP_parser.g"
end_of_stmt();
#line 4212 "CPPParser.cpp"
}
} else {
bool synPredMatched143 = false;
if (((_tokenSet_2.member(LA(1))) &&
(_tokenSet_3.member(LA(2))))) {
int _m143 = mark();
synPredMatched143 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
function_declarator(0);
match(SEMICOLON);
}
} catch (ANTLR_USE_NAMESPACE(
antlr) RecognitionException&
pe) {
synPredMatched143 = false;
}
rewind(_m143);
inputState->guessing--;
}
if (synPredMatched143) {
if (inputState->guessing == 0) {
#line 762 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d member_declaration "
"Templated function "
"declaration\n",
LT(1)->getLine());
}
#line 4240 "CPPParser.cpp"
}
declaration();
} else {
bool synPredMatched145 = false;
if (((_tokenSet_14.member(
LA(1))) &&
(_tokenSet_15.member(
LA(2))))) {
int _m145 = mark();
synPredMatched145 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
function_declarator(1);
match(LCURLY);
}
} catch (ANTLR_USE_NAMESPACE(
antlr) RecognitionException&
pe) {
synPredMatched145 = false;
}
rewind(_m145);
inputState->guessing--;
}
if (synPredMatched145) {
if (inputState->guessing == 0) {
#line 769 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d member_declaration "
"Templated function "
"definition\n",
LT(1)->getLine());
}
#line 4269 "CPPParser.cpp"
}
function_definition();
} else {
bool synPredMatched147 = false;
if (((_tokenSet_8.member(
LA(1))) &&
(_tokenSet_9.member(
LA(2))))) {
int _m147 = mark();
synPredMatched147 = true;
inputState->guessing++;
try {
{
ctor_decl_spec();
if (!(qualifiedItemIsOneOf(
qiCtor))) {
throw ANTLR_USE_NAMESPACE(
antlr)
SemanticException(
"qualifiedItemI"
"sOneOf("
"qiCtor)");
}
}
} catch (
ANTLR_USE_NAMESPACE(antlr)
RecognitionException&
pe) {
synPredMatched147 = false;
}
rewind(_m147);
inputState->guessing--;
}
if (synPredMatched147) {
if (inputState->guessing ==
0) {
#line 779 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d "
"member_declaration "
"Templated "
"constructor "
"definition\n",
LT(1)->getLine());
}
#line 4298 "CPPParser.cpp"
}
ctor_definition();
} else if ((LA(1) ==
OPERATOR) &&
(_tokenSet_12.member(
LA(2)))) {
if (inputState->guessing ==
0) {
#line 785 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d "
"member_declaration "
"Templated operator "
"function\n",
LT(1)->getLine());
}
#line 4308 "CPPParser.cpp"
}
conversion_function_decl_or_def();
} else if (
((LA(1) >= LITERAL_struct &&
LA(1) <=
LITERAL_class)) &&
(LA(2) == ID ||
LA(2) == LCURLY)) {
if (inputState->guessing ==
0) {
#line 791 "CPP_parser.g"
if (statementTrace >= 1) {
printf(
"%d "
"member_declaration "
"Templated class "
"definition\n",
LT(1)->getLine());
}
#line 4318 "CPPParser.cpp"
}
class_head();
declaration_specifiers();
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(
antlr)
NoViableAltException(
LT(1),
getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing ==
0) {
#line 794 "CPP_parser.g"
end_of_stmt();
#line 4364 "CPPParser.cpp"
}
} else {
throw ANTLR_USE_NAMESPACE(
antlr)
NoViableAltException(
LT(1), getFilename());
}
}
}
}
}
if (inputState->guessing == 0) {
#line 796 "CPP_parser.g"
endTemplateDeclaration();
#line 4375 "CPPParser.cpp"
}
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1),
getFilename());
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_40);
} else {
throw;
}
}
}
void CPPParser::member_declarator_list() {
try { // for error handling
member_declarator();
{
switch (LA(1)) {
case ASSIGNEQUAL: {
match(ASSIGNEQUAL);
match(OCTALINT);
break;
}
case SEMICOLON:
case COMMA: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
{ // ( ... )*
for (;;) {
if ((LA(1) == COMMA)) {
match(COMMA);
member_declarator();
{
switch (LA(1)) {
case ASSIGNEQUAL: {
match(ASSIGNEQUAL);
match(OCTALINT);
break;
}
case SEMICOLON:
case COMMA: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} else {
goto _loop253;
}
}
_loop253:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_22);
} else {
throw;
}
}
}
void CPPParser::ctor_declarator(int definition) {
#line 1402 "CPP_parser.g"
char* q;
#line 4465 "CPPParser.cpp"
try { // for error handling
q = qualified_ctor_id();
if (inputState->guessing == 0) {
#line 1406 "CPP_parser.g"
declaratorParameterList(definition);
#line 4472 "CPPParser.cpp"
}
match(LPAREN);
{
switch (LA(1)) {
case LITERAL_typedef:
case LITERAL_enum:
case ID:
case LITERAL_inline:
case LITERAL_friend:
case LITERAL_extern:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LITERAL_GFEXCLUDE:
case LITERAL_GFINCLUDE:
case LITERAL_GFID:
case LITERAL_GFUNREAD:
case LITERAL_GFARRAYSIZE:
case LPAREN:
case LITERAL_GFARRAYSIZES:
case LITERAL_GFARRAYELEMSIZE:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_static:
case LITERAL_mutable:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case LITERAL_const:
case LITERAL___const:
case LITERAL_volatile:
case LITERAL___volatile__:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case ELLIPSIS:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
parameter_list();
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RPAREN);
if (inputState->guessing == 0) {
#line 1408 "CPP_parser.g"
declaratorEndParameterList(definition);
#line 4577 "CPPParser.cpp"
}
{
switch (LA(1)) {
case LITERAL_throw: {
exception_specification();
break;
}
case SEMICOLON:
case LCURLY:
case COLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_48);
} else {
throw;
}
}
}
void CPPParser::compound_statement() {
try { // for error handling
match(LCURLY);
if (inputState->guessing == 0) {
#line 1746 "CPP_parser.g"
end_of_stmt();
enterNewLocalScope();
#line 4618 "CPPParser.cpp"
}
{
if ((_tokenSet_49.member(LA(1)))) {
statement_list();
} else if ((LA(1) == RCURLY)) {
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
match(RCURLY);
if (inputState->guessing == 0) {
#line 1751 "CPP_parser.g"
exitLocalScope();
#line 4635 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_50);
} else {
throw;
}
}
}
void CPPParser::class_head() {
try { // for error handling
{
switch (LA(1)) {
case LITERAL_struct: {
match(LITERAL_struct);
break;
}
case LITERAL_union: {
match(LITERAL_union);
break;
}
case LITERAL_class: {
match(LITERAL_class);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
{
switch (LA(1)) {
case ID: {
match(ID);
{
switch (LA(1)) {
case LESSTHAN: {
match(LESSTHAN);
template_argument_list();
match(GREATERTHAN);
break;
}
case LCURLY:
case COLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
{
switch (LA(1)) {
case COLON: {
base_clause();
break;
}
case LCURLY: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case LCURLY: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(LCURLY);
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_12);
} else {
throw;
}
}
}
void CPPParser::access_specifier() {
try { // for error handling
{
switch (LA(1)) {
case LITERAL_public: {
match(LITERAL_public);
break;
}
case LITERAL_protected: {
match(LITERAL_protected);
break;
}
case LITERAL_private: {
match(LITERAL_private);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_51);
} else {
throw;
}
}
}
void CPPParser::linkage_specification() {
try { // for error handling
match(LITERAL_extern);
match(StringLiteral);
{
switch (LA(1)) {
case LCURLY: {
match(LCURLY);
{ // ( ... )*
for (;;) {
if ((_tokenSet_0.member(LA(1)))) {
external_declaration();
} else {
goto _loop164;
}
}
_loop164:;
} // ( ... )*
match(RCURLY);
break;
}
case LITERAL_typedef:
case LITERAL_enum:
case ID:
case LITERAL_inline:
case LITERAL_friend:
case LITERAL_extern:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LITERAL_GFEXCLUDE:
case LITERAL_GFINCLUDE:
case LITERAL_GFID:
case LITERAL_GFUNREAD:
case LITERAL_GFARRAYSIZE:
case LITERAL_GFARRAYSIZES:
case LITERAL_GFARRAYELEMSIZE:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_static:
case LITERAL_mutable:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case LITERAL_const:
case LITERAL___const:
case LITERAL_volatile:
case LITERAL___volatile__:
case LITERAL_using:
case SCOPE: {
declaration();
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_30);
} else {
throw;
}
}
}
void CPPParser::using_statement() {
#line 1836 "CPP_parser.g"
char* qid;
#line 4890 "CPPParser.cpp"
try { // for error handling
match(LITERAL_using);
{
switch (LA(1)) {
case LITERAL_namespace: {
match(LITERAL_namespace);
qid = qualified_id();
break;
}
case ID:
case LITERAL_typename:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case SCOPE: {
{
switch (LA(1)) {
case LITERAL_typename: {
match(LITERAL_typename);
break;
}
case ID:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case SCOPE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
qid = qualified_id();
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1843 "CPP_parser.g"
end_of_stmt();
#line 4945 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_30);
} else {
throw;
}
}
}
void CPPParser::template_argument_list() {
try { // for error handling
template_argument();
{ // ( ... )*
for (;;) {
if ((LA(1) == COMMA)) {
match(COMMA);
template_argument();
} else {
goto _loop385;
}
}
_loop385:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_52);
} else {
throw;
}
}
}
void CPPParser::base_clause() {
try { // for error handling
match(COLON);
base_specifier();
{ // ( ... )*
for (;;) {
if ((LA(1) == COMMA)) {
match(COMMA);
base_specifier();
} else {
goto _loop220;
}
}
_loop220:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_53);
} else {
throw;
}
}
}
CPPParser::StorageClass CPPParser::storage_class_specifier() {
#line 928 "CPP_parser.g"
CPPParser::StorageClass sc = scInvalid;
#line 5018 "CPPParser.cpp"
try { // for error handling
switch (LA(1)) {
case LITERAL_auto: {
match(LITERAL_auto);
if (inputState->guessing == 0) {
#line 929 "CPP_parser.g"
sc = scAUTO;
#line 5028 "CPPParser.cpp"
}
break;
}
case LITERAL_register: {
match(LITERAL_register);
if (inputState->guessing == 0) {
#line 930 "CPP_parser.g"
sc = scREGISTER;
#line 5038 "CPPParser.cpp"
}
break;
}
case LITERAL_static: {
match(LITERAL_static);
if (inputState->guessing == 0) {
#line 931 "CPP_parser.g"
sc = scSTATIC;
#line 5048 "CPPParser.cpp"
}
break;
}
case LITERAL_extern: {
match(LITERAL_extern);
if (inputState->guessing == 0) {
#line 932 "CPP_parser.g"
sc = scEXTERN;
#line 5058 "CPPParser.cpp"
}
break;
}
case LITERAL_mutable: {
match(LITERAL_mutable);
if (inputState->guessing == 0) {
#line 933 "CPP_parser.g"
sc = scMUTABLE;
#line 5068 "CPPParser.cpp"
}
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_12);
} else {
throw;
}
}
return sc;
}
CPPParser::TypeQualifier CPPParser::type_qualifier() {
#line 1025 "CPP_parser.g"
CPPParser::TypeQualifier tq = tqInvalid;
#line 5092 "CPPParser.cpp"
try { // for error handling
{
switch (LA(1)) {
case LITERAL_const:
case LITERAL___const: {
{
switch (LA(1)) {
case LITERAL_const: {
match(LITERAL_const);
break;
}
case LITERAL___const: {
match(LITERAL___const);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 1027 "CPP_parser.g"
tq = tqCONST;
#line 5121 "CPPParser.cpp"
}
break;
}
case LITERAL_volatile:
case LITERAL___volatile__: {
{
switch (LA(1)) {
case LITERAL_volatile: {
match(LITERAL_volatile);
break;
}
case LITERAL___volatile__: {
match(LITERAL___volatile__);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 1028 "CPP_parser.g"
tq = tqVOLATILE;
#line 5149 "CPPParser.cpp"
}
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_54);
} else {
throw;
}
}
return tq;
}
CPPParser::TypeSpecifier CPPParser::type_specifier() {
#line 944 "CPP_parser.g"
CPPParser::TypeSpecifier ts = tsInvalid;
#line 5174 "CPPParser.cpp"
#line 944 "CPP_parser.g"
TypeQualifier tq = tqInvalid;
#line 5179 "CPPParser.cpp"
try { // for error handling
ts = simple_type_specifier();
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_24);
} else {
throw;
}
}
return ts;
}
CPPParser::TypeSpecifier CPPParser::simple_type_specifier() {
#line 953 "CPP_parser.g"
CPPParser::TypeSpecifier ts = tsInvalid;
#line 5198 "CPPParser.cpp"
#line 953 "CPP_parser.g"
char* s;
ts = tsInvalid;
#line 5203 "CPPParser.cpp"
try { // for error handling
{
switch (LA(1)) {
case LITERAL_typename: {
match(LITERAL_typename);
s = qualified_type();
if (inputState->guessing == 0) {
#line 962 "CPP_parser.g"
declaratorID(s, qiType);
#line 5215 "CPPParser.cpp"
}
break;
}
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec: {
{ // ( ... )+
int _cnt192 = 0;
for (;;) {
switch (LA(1)) {
case LITERAL_char: {
match(LITERAL_char);
if (inputState->guessing == 0) {
#line 964 "CPP_parser.g"
ts |= tsCHAR;
#line 5261 "CPPParser.cpp"
}
break;
}
case LITERAL_wchar_t: {
match(LITERAL_wchar_t);
if (inputState->guessing == 0) {
#line 965 "CPP_parser.g"
ts |= tsWCHAR_T;
#line 5271 "CPPParser.cpp"
}
break;
}
case LITERAL_bool: {
match(LITERAL_bool);
if (inputState->guessing == 0) {
#line 966 "CPP_parser.g"
ts |= tsBOOL;
#line 5281 "CPPParser.cpp"
}
break;
}
case LITERAL_short: {
match(LITERAL_short);
if (inputState->guessing == 0) {
#line 967 "CPP_parser.g"
ts |= tsSHORT;
#line 5291 "CPPParser.cpp"
}
break;
}
case LITERAL_int: {
match(LITERAL_int);
if (inputState->guessing == 0) {
#line 968 "CPP_parser.g"
ts |= tsINT;
#line 5301 "CPPParser.cpp"
}
break;
}
case 50:
case 51:
case 52: {
{
switch (LA(1)) {
case 50: {
match(50);
break;
}
case 51: {
match(51);
break;
}
case 52: {
match(52);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 969 "CPP_parser.g"
ts |= tsINT;
#line 5335 "CPPParser.cpp"
}
break;
}
case 53:
case 54:
case 55: {
{
switch (LA(1)) {
case 53: {
match(53);
break;
}
case 54: {
match(54);
break;
}
case 55: {
match(55);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 970 "CPP_parser.g"
ts |= tsINT;
#line 5369 "CPPParser.cpp"
}
break;
}
case 56:
case 57:
case 58: {
{
switch (LA(1)) {
case 56: {
match(56);
break;
}
case 57: {
match(57);
break;
}
case 58: {
match(58);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 971 "CPP_parser.g"
ts |= tsLONG;
#line 5403 "CPPParser.cpp"
}
break;
}
case 59:
case 60:
case 61: {
{
switch (LA(1)) {
case 59: {
match(59);
break;
}
case 60: {
match(60);
break;
}
case 61: {
match(61);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 972 "CPP_parser.g"
ts |= tsLONG;
#line 5437 "CPPParser.cpp"
}
break;
}
case 62: {
{ match(62); }
if (inputState->guessing == 0) {
#line 973 "CPP_parser.g"
ts |= (tsUNSIGNED | tsINT);
#line 5449 "CPPParser.cpp"
}
break;
}
case 63: {
{ match(63); }
if (inputState->guessing == 0) {
#line 974 "CPP_parser.g"
ts |= (tsUNSIGNED | tsINT);
#line 5461 "CPPParser.cpp"
}
break;
}
case 64: {
{ match(64); }
if (inputState->guessing == 0) {
#line 975 "CPP_parser.g"
ts |= (tsUNSIGNED | tsLONG);
#line 5473 "CPPParser.cpp"
}
break;
}
case 65: {
{ match(65); }
if (inputState->guessing == 0) {
#line 976 "CPP_parser.g"
ts |= (tsUNSIGNED | tsLONG);
#line 5485 "CPPParser.cpp"
}
break;
}
case 66:
case 67: {
{
switch (LA(1)) {
case 66: {
match(66);
break;
}
case 67: {
match(67);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 977 "CPP_parser.g"
ts |= tsLONG;
#line 5513 "CPPParser.cpp"
}
break;
}
case LITERAL_long: {
match(LITERAL_long);
if (inputState->guessing == 0) {
#line 978 "CPP_parser.g"
ts |= tsLONG;
#line 5523 "CPPParser.cpp"
}
break;
}
case LITERAL_signed: {
match(LITERAL_signed);
if (inputState->guessing == 0) {
#line 979 "CPP_parser.g"
ts |= tsSIGNED;
#line 5533 "CPPParser.cpp"
}
break;
}
case LITERAL_unsigned: {
match(LITERAL_unsigned);
if (inputState->guessing == 0) {
#line 980 "CPP_parser.g"
ts |= tsUNSIGNED;
#line 5543 "CPPParser.cpp"
}
break;
}
case LITERAL_float: {
match(LITERAL_float);
if (inputState->guessing == 0) {
#line 981 "CPP_parser.g"
ts |= tsFLOAT;
#line 5553 "CPPParser.cpp"
}
break;
}
case LITERAL_double: {
match(LITERAL_double);
if (inputState->guessing == 0) {
#line 982 "CPP_parser.g"
ts |= tsDOUBLE;
#line 5563 "CPPParser.cpp"
}
break;
}
case LITERAL_void: {
match(LITERAL_void);
if (inputState->guessing == 0) {
#line 983 "CPP_parser.g"
ts |= tsVOID;
#line 5573 "CPPParser.cpp"
}
break;
}
case LITERAL__declspec:
case LITERAL___declspec: {
{
switch (LA(1)) {
case LITERAL__declspec: {
match(LITERAL__declspec);
break;
}
case LITERAL___declspec: {
match(LITERAL___declspec);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(LPAREN);
match(ID);
match(RPAREN);
break;
}
default: {
if (_cnt192 >= 1) {
goto _loop192;
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
_cnt192++;
}
_loop192:;
} // ( ... )+
break;
}
default:
if (((LA(1) == ID || LA(1) == SCOPE)) &&
(qualifiedItemIsOneOf(qiType | qiCtor))) {
s = qualified_type();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_24);
} else {
throw;
}
}
return ts;
}
char* CPPParser::qualified_type() {
#line 994 "CPP_parser.g"
char* q = NULL;
#line 5638 "CPPParser.cpp"
ANTLR_USE_NAMESPACE(antlr) RefToken id = ANTLR_USE_NAMESPACE(antlr) nullToken;
#line 994 "CPP_parser.g"
char* s;
static char qitem[CPPParser_MaxQualifiedItemSize + 1];
#line 5642 "CPPParser.cpp"
try { // for error handling
s = scope_override();
id = LT(1);
match(ID);
{
if ((LA(1) == LESSTHAN) && (_tokenSet_55.member(LA(2)))) {
match(LESSTHAN);
template_argument_list();
match(GREATERTHAN);
} else if ((_tokenSet_56.member(LA(1))) && (_tokenSet_57.member(LA(2)))) {
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
if (inputState->guessing == 0) {
#line 1008 "CPP_parser.g"
strcpy(qitem, s);
strcat(qitem, (id->getText()).data());
q = qitem;
#line 5668 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_56);
} else {
throw;
}
}
return q;
}
void CPPParser::class_prefix() {
try { // for error handling
{ // ( ... )*
for (;;) {
if ((LA(1) == LITERAL__declspec || LA(1) == LITERAL___declspec)) {
{
switch (LA(1)) {
case LITERAL__declspec: {
match(LITERAL__declspec);
break;
}
case LITERAL___declspec: {
match(LITERAL___declspec);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(LPAREN);
expression();
match(RPAREN);
} else {
goto _loop204;
}
}
_loop204:;
} // ( ... )*
if (inputState->guessing == 0) {
#line 1036 "CPP_parser.g"
#line 5721 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_58);
} else {
throw;
}
}
}
void CPPParser::expression() {
try { // for error handling
assignment_expression();
{ // ( ... )*
for (;;) {
if ((LA(1) == COMMA)) {
match(COMMA);
assignment_expression();
} else {
goto _loop444;
}
}
_loop444:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_59);
} else {
throw;
}
}
}
void CPPParser::base_specifier() {
#line 1089 "CPP_parser.g"
char* qt;
#line 5765 "CPPParser.cpp"
try { // for error handling
{
switch (LA(1)) {
case LITERAL_virtual: {
match(LITERAL_virtual);
{
switch (LA(1)) {
case LITERAL_public:
case LITERAL_protected:
case LITERAL_private: {
access_specifier();
break;
}
case ID:
case SCOPE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
qt = qualified_type();
break;
}
case LITERAL_public:
case LITERAL_protected:
case LITERAL_private: {
access_specifier();
{
switch (LA(1)) {
case LITERAL_virtual: {
match(LITERAL_virtual);
break;
}
case ID:
case SCOPE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
qt = qualified_type();
break;
}
case ID:
case SCOPE: {
qt = qualified_type();
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_60);
} else {
throw;
}
}
}
void CPPParser::enumerator_list() {
try { // for error handling
enumerator();
{ // ( ... )*
for (;;) {
if ((LA(1) == COMMA)) {
match(COMMA);
enumerator();
} else {
goto _loop232;
}
}
_loop232:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_61);
} else {
throw;
}
}
}
void CPPParser::enumerator() {
ANTLR_USE_NAMESPACE(antlr) RefToken id = ANTLR_USE_NAMESPACE(antlr) nullToken;
try { // for error handling
id = LT(1);
match(ID);
{
switch (LA(1)) {
case ASSIGNEQUAL: {
match(ASSIGNEQUAL);
constant_expression();
break;
}
case RCURLY:
case COMMA: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 1132 "CPP_parser.g"
enumElement((id->getText()).data());
#line 5901 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_62);
} else {
throw;
}
}
}
void CPPParser::constant_expression() {
try { // for error handling
conditional_expression();
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_63);
} else {
throw;
}
}
}
void CPPParser::optor() {
try { // for error handling
switch (LA(1)) {
case LITERAL_new: {
match(LITERAL_new);
{
if ((LA(1) == LSQUARE) && (LA(2) == RSQUARE)) {
match(LSQUARE);
match(RSQUARE);
} else if ((_tokenSet_64.member(LA(1))) &&
(_tokenSet_57.member(LA(2)))) {
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
break;
}
case LITERAL_delete: {
match(LITERAL_delete);
{
if ((LA(1) == LSQUARE) && (LA(2) == RSQUARE)) {
match(LSQUARE);
match(RSQUARE);
} else if ((_tokenSet_64.member(LA(1))) &&
(_tokenSet_57.member(LA(2)))) {
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
break;
}
case LPAREN: {
match(LPAREN);
match(RPAREN);
break;
}
case LSQUARE: {
match(LSQUARE);
match(RSQUARE);
break;
}
case LESSTHAN:
case GREATERTHAN:
case ASSIGNEQUAL:
case COMMA:
case TILDE:
case STAR:
case AMPERSAND:
case TIMESEQUAL:
case DIVIDEEQUAL:
case MINUSEQUAL:
case PLUSEQUAL:
case MODEQUAL:
case SHIFTLEFTEQUAL:
case SHIFTRIGHTEQUAL:
case BITWISEANDEQUAL:
case BITWISEXOREQUAL:
case BITWISEOREQUAL:
case OR:
case AND:
case BITWISEOR:
case BITWISEXOR:
case NOTEQUAL:
case EQUAL:
case LESSTHANOREQUALTO:
case GREATERTHANOREQUALTO:
case SHIFTLEFT:
case SHIFTRIGHT:
case PLUS:
case MINUS:
case DIVIDE:
case MOD:
case POINTERTOMBR:
case PLUSPLUS:
case MINUSMINUS:
case POINTERTO:
case NOT: {
optor_simple_tokclass();
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_64);
} else {
throw;
}
}
}
void CPPParser::typeID() {
try { // for error handling
if (!(isTypeName((LT(1)->getText()).data()))) {
throw ANTLR_USE_NAMESPACE(antlr)
SemanticException("isTypeName((LT(1)->getText()).data())");
}
match(ID);
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_1);
} else {
throw;
}
}
}
void CPPParser::init_declarator() {
try { // for error handling
declarator();
{
switch (LA(1)) {
case ASSIGNEQUAL: {
match(ASSIGNEQUAL);
initializer();
break;
}
case LPAREN: {
match(LPAREN);
expression_list();
match(RPAREN);
break;
}
case SEMICOLON:
case COMMA: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_65);
} else {
throw;
}
}
}
void CPPParser::declarator() {
try { // for error handling
bool synPredMatched261 = false;
if (((_tokenSet_25.member(LA(1))) && (_tokenSet_66.member(LA(2))))) {
int _m261 = mark();
synPredMatched261 = true;
inputState->guessing++;
try {
{ ptr_operator(); }
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched261 = false;
}
rewind(_m261);
inputState->guessing--;
}
if (synPredMatched261) {
ptr_operator();
declarator();
} else if ((_tokenSet_67.member(LA(1))) && (_tokenSet_68.member(LA(2)))) {
direct_declarator();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_69);
} else {
throw;
}
}
}
void CPPParser::initializer() {
try { // for error handling
switch (LA(1)) {
case ID:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
remainder_expression();
break;
}
case LCURLY: {
match(LCURLY);
initializer();
{ // ( ... )*
for (;;) {
if ((LA(1) == COMMA)) {
match(COMMA);
{
switch (LA(1)) {
case ID:
case LCURLY:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
initializer();
break;
}
case RCURLY:
case COMMA: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} else {
goto _loop248;
}
}
_loop248:;
} // ( ... )*
match(RCURLY);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_70);
} else {
throw;
}
}
}
void CPPParser::expression_list() {
try { // for error handling
assignment_expression();
{ // ( ... )*
for (;;) {
if ((LA(1) == COMMA)) {
match(COMMA);
assignment_expression();
} else {
goto _loop592;
}
}
_loop592:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_71);
} else {
throw;
}
}
}
void CPPParser::remainder_expression() {
try { // for error handling
{
bool synPredMatched452 = false;
if (((_tokenSet_72.member(LA(1))) && (_tokenSet_73.member(LA(2))))) {
int _m452 = mark();
synPredMatched452 = true;
inputState->guessing++;
try {
{
conditional_expression();
{
switch (LA(1)) {
case COMMA: {
match(COMMA);
break;
}
case SEMICOLON: {
match(SEMICOLON);
break;
}
case RPAREN: {
match(RPAREN);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched452 = false;
}
rewind(_m452);
inputState->guessing--;
}
if (synPredMatched452) {
if (inputState->guessing == 0) {
#line 1879 "CPP_parser.g"
assign_stmt_RHS_found += 1;
#line 6400 "CPPParser.cpp"
}
assignment_expression();
if (inputState->guessing == 0) {
#line 1881 "CPP_parser.g"
if (assign_stmt_RHS_found > 0) {
assign_stmt_RHS_found -= 1;
} else {
fprintf(stderr, "%d warning Error in assign_stmt_RHS_found = %d\n",
LT(1)->getLine(), assign_stmt_RHS_found);
fprintf(stderr, "Press return to continue\n");
getchar();
}
#line 6416 "CPPParser.cpp"
}
} else if ((_tokenSet_72.member(LA(1))) && (_tokenSet_73.member(LA(2)))) {
assignment_expression();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_74);
} else {
throw;
}
}
}
void CPPParser::member_declarator() {
try { // for error handling
bool synPredMatched257 = false;
if (((LA(1) == ID || LA(1) == COLON) && (_tokenSet_75.member(LA(2))))) {
int _m257 = mark();
synPredMatched257 = true;
inputState->guessing++;
try {
{
{
switch (LA(1)) {
case ID: {
match(ID);
break;
}
case COLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(COLON);
constant_expression();
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched257 = false;
}
rewind(_m257);
inputState->guessing--;
}
if (synPredMatched257) {
{
switch (LA(1)) {
case ID: {
match(ID);
break;
}
case COLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(COLON);
constant_expression();
} else if ((_tokenSet_76.member(LA(1))) && (_tokenSet_77.member(LA(2)))) {
declarator();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_78);
} else {
throw;
}
}
}
void CPPParser::ptr_operator() {
try { // for error handling
{
switch (LA(1)) {
case AMPERSAND: {
match(AMPERSAND);
if (inputState->guessing == 0) {
#line 2198 "CPP_parser.g"
is_address = true;
#line 6525 "CPPParser.cpp"
}
break;
}
case LITERAL__cdecl:
case LITERAL___cdecl: {
{
switch (LA(1)) {
case LITERAL__cdecl: {
match(LITERAL__cdecl);
break;
}
case LITERAL___cdecl: {
match(LITERAL___cdecl);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case LITERAL__near:
case LITERAL___near: {
{
switch (LA(1)) {
case LITERAL__near: {
match(LITERAL__near);
break;
}
case LITERAL___near: {
match(LITERAL___near);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case LITERAL__far:
case LITERAL___far: {
{
switch (LA(1)) {
case LITERAL__far: {
match(LITERAL__far);
break;
}
case LITERAL___far: {
match(LITERAL___far);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case LITERAL___interrupt: {
match(LITERAL___interrupt);
break;
}
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
{
switch (LA(1)) {
case LITERAL_pascal: {
match(LITERAL_pascal);
break;
}
case LITERAL__pascal: {
match(LITERAL__pascal);
break;
}
case LITERAL___pascal: {
match(LITERAL___pascal);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case LITERAL__stdcall:
case LITERAL___stdcall: {
{
switch (LA(1)) {
case LITERAL__stdcall: {
match(LITERAL__stdcall);
break;
}
case LITERAL___stdcall: {
match(LITERAL___stdcall);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case ID:
case STAR:
case SCOPE: {
ptr_to_member();
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_24);
} else {
throw;
}
}
}
void CPPParser::direct_declarator() {
ANTLR_USE_NAMESPACE(antlr)
RefToken dtor = ANTLR_USE_NAMESPACE(antlr) nullToken;
#line 1225 "CPP_parser.g"
char* id;
CPPParser::TypeQualifier tq;
#line 6684 "CPPParser.cpp"
try { // for error handling
switch (LA(1)) {
case TILDE: {
match(TILDE);
dtor = LT(1);
match(ID);
if (inputState->guessing == 0) {
#line 1271 "CPP_parser.g"
declaratorID((dtor->getText()).data(), qiDtor);
#line 6696 "CPPParser.cpp"
}
if (inputState->guessing == 0) {
#line 1272 "CPP_parser.g"
fprintf(
stderr,
"%d warning direct_declarator5 entered unexpectedly with %s\n",
LT(1)->getLine(), (dtor->getText()).data());
#line 6702 "CPPParser.cpp"
}
match(LPAREN);
if (inputState->guessing == 0) {
#line 1274 "CPP_parser.g"
declaratorParameterList(0);
#line 6708 "CPPParser.cpp"
}
{
switch (LA(1)) {
case LITERAL_typedef:
case LITERAL_enum:
case ID:
case LITERAL_inline:
case LITERAL_friend:
case LITERAL_extern:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LITERAL_GFEXCLUDE:
case LITERAL_GFINCLUDE:
case LITERAL_GFID:
case LITERAL_GFUNREAD:
case LITERAL_GFARRAYSIZE:
case LPAREN:
case LITERAL_GFARRAYSIZES:
case LITERAL_GFARRAYELEMSIZE:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_static:
case LITERAL_mutable:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case LITERAL_const:
case LITERAL___const:
case LITERAL_volatile:
case LITERAL___volatile__:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case ELLIPSIS:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
parameter_list();
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RPAREN);
if (inputState->guessing == 0) {
#line 1276 "CPP_parser.g"
declaratorEndParameterList(0);
#line 6812 "CPPParser.cpp"
}
break;
}
case LPAREN: {
match(LPAREN);
declarator();
match(RPAREN);
{
if ((LA(1) == LPAREN || LA(1) == LSQUARE) &&
(_tokenSet_79.member(LA(2)))) {
declarator_suffix();
} else if ((_tokenSet_69.member(LA(1))) &&
(_tokenSet_80.member(LA(2)))) {
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
break;
}
default:
bool synPredMatched265 = false;
if (((_tokenSet_44.member(LA(1))) && (_tokenSet_28.member(LA(2))))) {
int _m265 = mark();
synPredMatched265 = true;
inputState->guessing++;
try {
{
qualified_id();
match(LPAREN);
{
switch (LA(1)) {
case RPAREN: {
match(RPAREN);
break;
}
case LITERAL_typedef:
case LITERAL_enum:
case ID:
case LITERAL_inline:
case LITERAL_friend:
case LITERAL_extern:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LITERAL_GFEXCLUDE:
case LITERAL_GFINCLUDE:
case LITERAL_GFID:
case LITERAL_GFUNREAD:
case LITERAL_GFARRAYSIZE:
case LITERAL_GFARRAYSIZES:
case LITERAL_GFARRAYELEMSIZE:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_static:
case LITERAL_mutable:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case LITERAL_const:
case LITERAL___const:
case LITERAL_volatile:
case LITERAL___volatile__:
case SCOPE: {
declaration_specifiers();
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched265 = false;
}
rewind(_m265);
inputState->guessing--;
}
if (synPredMatched265) {
id = qualified_id();
if (inputState->guessing == 0) {
#line 1231 "CPP_parser.g"
if (_td == true) { // This statement is a typedef
declaratorID(id, qiType);
} else {
declaratorID(id, qiFun);
}
#line 6941 "CPPParser.cpp"
}
match(LPAREN);
if (inputState->guessing == 0) {
#line 1236 "CPP_parser.g"
declaratorParameterList(0);
#line 6947 "CPPParser.cpp"
}
{
switch (LA(1)) {
case LITERAL_typedef:
case LITERAL_enum:
case ID:
case LITERAL_inline:
case LITERAL_friend:
case LITERAL_extern:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LITERAL_GFEXCLUDE:
case LITERAL_GFINCLUDE:
case LITERAL_GFID:
case LITERAL_GFUNREAD:
case LITERAL_GFARRAYSIZE:
case LPAREN:
case LITERAL_GFARRAYSIZES:
case LITERAL_GFARRAYELEMSIZE:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_static:
case LITERAL_mutable:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case LITERAL_const:
case LITERAL___const:
case LITERAL_volatile:
case LITERAL___volatile__:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case ELLIPSIS:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
parameter_list();
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RPAREN);
if (inputState->guessing == 0) {
#line 1238 "CPP_parser.g"
declaratorEndParameterList(0);
#line 7051 "CPPParser.cpp"
}
{ // ( ... )*
for (;;) {
if (((LA(1) >= LITERAL_const && LA(1) <= LITERAL___volatile__))) {
tq = type_qualifier();
} else {
goto _loop268;
}
}
_loop268:;
} // ( ... )*
{
switch (LA(1)) {
case LITERAL_throw: {
exception_specification();
break;
}
case GREATERTHAN:
case SEMICOLON:
case ASSIGNEQUAL:
case LPAREN:
case RPAREN:
case COMMA:
case ELLIPSIS: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} else {
bool synPredMatched271 = false;
if (((_tokenSet_44.member(LA(1))) && (_tokenSet_28.member(LA(2))))) {
int _m271 = mark();
synPredMatched271 = true;
inputState->guessing++;
try {
{
qualified_id();
match(LPAREN);
qualified_id();
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched271 = false;
}
rewind(_m271);
inputState->guessing--;
}
if (synPredMatched271) {
id = qualified_id();
if (inputState->guessing == 0) {
#line 1244 "CPP_parser.g"
declaratorID(id, qiVar);
#line 7113 "CPPParser.cpp"
}
match(LPAREN);
expression_list();
match(RPAREN);
} else {
bool synPredMatched273 = false;
if (((_tokenSet_44.member(LA(1))) &&
(_tokenSet_28.member(LA(2))))) {
int _m273 = mark();
synPredMatched273 = true;
inputState->guessing++;
try {
{
qualified_id();
match(LSQUARE);
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched273 = false;
}
rewind(_m273);
inputState->guessing--;
}
if (synPredMatched273) {
id = qualified_id();
if (inputState->guessing == 0) {
#line 1251 "CPP_parser.g"
if (_td == true) { // This statement is a typedef
declaratorID(id, qiType); // This statement is a typedef
} else {
declaratorID(id, qiVar);
}
is_address = false;
is_pointer = false;
#line 7147 "CPPParser.cpp"
}
{ // ( ... )+
int _cnt276 = 0;
for (;;) {
if ((LA(1) == LSQUARE)) {
match(LSQUARE);
{
switch (LA(1)) {
case ID:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
constant_expression();
break;
}
case RSQUARE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RSQUARE);
} else {
if (_cnt276 >= 1) {
goto _loop276;
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
_cnt276++;
}
_loop276:;
} // ( ... )+
if (inputState->guessing == 0) {
#line 1259 "CPP_parser.g"
declaratorArray();
#line 7248 "CPPParser.cpp"
}
} else if ((_tokenSet_44.member(LA(1))) &&
(_tokenSet_81.member(LA(2)))) {
id = qualified_id();
if (inputState->guessing == 0) {
#line 1262 "CPP_parser.g"
if (_td == true) {
declaratorID(id, qiType); // This statement is a typedef
} else {
declaratorID(id, qiVar);
}
is_address = false;
is_pointer = false;
#line 7261 "CPPParser.cpp"
}
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_69);
} else {
throw;
}
}
}
void CPPParser::parameter_list() {
try { // for error handling
parameter_declaration_list();
{
switch (LA(1)) {
case ELLIPSIS: {
match(ELLIPSIS);
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_71);
} else {
throw;
}
}
}
void CPPParser::exception_specification() {
#line 1560 "CPP_parser.g"
char* so;
#line 7314 "CPPParser.cpp"
try { // for error handling
match(LITERAL_throw);
match(LPAREN);
{
switch (LA(1)) {
case ID:
case RPAREN:
case SCOPE: {
{
switch (LA(1)) {
case ID:
case SCOPE: {
so = scope_override();
match(ID);
{ // ( ... )*
for (;;) {
if ((LA(1) == COMMA)) {
match(COMMA);
so = scope_override();
match(ID);
} else {
goto _loop366;
}
}
_loop366:;
} // ( ... )*
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case ELLIPSIS: {
match(ELLIPSIS);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RPAREN);
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_82);
} else {
throw;
}
}
}
void CPPParser::declarator_suffix() {
#line 1284 "CPP_parser.g"
CPPParser::TypeQualifier tq;
#line 7386 "CPPParser.cpp"
try { // for error handling
{
if ((LA(1) == LSQUARE)) {
{ // ( ... )+
int _cnt283 = 0;
for (;;) {
if ((LA(1) == LSQUARE)) {
match(LSQUARE);
{
switch (LA(1)) {
case ID:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
constant_expression();
break;
}
case RSQUARE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RSQUARE);
} else {
if (_cnt283 >= 1) {
goto _loop283;
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
_cnt283++;
}
_loop283:;
} // ( ... )+
if (inputState->guessing == 0) {
#line 1290 "CPP_parser.g"
declaratorArray();
#line 7490 "CPPParser.cpp"
}
} else if (((LA(1) == LPAREN)) &&
((!((LA(1) == LPAREN) && (LA(2) == ID)) ||
(qualifiedItemIsOneOf(qiType | qiCtor, 1))))) {
match(LPAREN);
if (inputState->guessing == 0) {
#line 1293 "CPP_parser.g"
declaratorParameterList(0);
#line 7498 "CPPParser.cpp"
}
{
switch (LA(1)) {
case LITERAL_typedef:
case LITERAL_enum:
case ID:
case LITERAL_inline:
case LITERAL_friend:
case LITERAL_extern:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LITERAL_GFEXCLUDE:
case LITERAL_GFINCLUDE:
case LITERAL_GFID:
case LITERAL_GFUNREAD:
case LITERAL_GFARRAYSIZE:
case LPAREN:
case LITERAL_GFARRAYSIZES:
case LITERAL_GFARRAYELEMSIZE:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_static:
case LITERAL_mutable:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case LITERAL_const:
case LITERAL___const:
case LITERAL_volatile:
case LITERAL___volatile__:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case ELLIPSIS:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
parameter_list();
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RPAREN);
if (inputState->guessing == 0) {
#line 1295 "CPP_parser.g"
declaratorEndParameterList(0);
#line 7602 "CPPParser.cpp"
}
{ // ( ... )*
for (;;) {
if (((LA(1) >= LITERAL_const && LA(1) <= LITERAL___volatile__))) {
tq = type_qualifier();
} else {
goto _loop286;
}
}
_loop286:;
} // ( ... )*
{
switch (LA(1)) {
case LITERAL_throw: {
exception_specification();
break;
}
case GREATERTHAN:
case SEMICOLON:
case ASSIGNEQUAL:
case LPAREN:
case RPAREN:
case COMMA:
case ELLIPSIS: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_69);
} else {
throw;
}
}
}
void CPPParser::template_parameter_list() {
try { // for error handling
if (inputState->guessing == 0) {
#line 1581 "CPP_parser.g"
beginTemplateParameterList();
#line 7662 "CPPParser.cpp"
}
template_parameter();
{ // ( ... )*
for (;;) {
if ((LA(1) == COMMA)) {
match(COMMA);
template_parameter();
} else {
goto _loop370;
}
}
_loop370:;
} // ( ... )*
if (inputState->guessing == 0) {
#line 1583 "CPP_parser.g"
endTemplateParameterList();
#line 7681 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_52);
} else {
throw;
}
}
}
void CPPParser::function_direct_declarator(int definition) {
#line 1324 "CPP_parser.g"
char* q;
CPPParser::TypeQualifier tq;
#line 7700 "CPPParser.cpp"
try { // for error handling
{
switch (LA(1)) {
case LPAREN: {
match(LPAREN);
q = qualified_id();
if (inputState->guessing == 0) {
#line 1340 "CPP_parser.g"
declaratorID(q, qiFun);
#line 7714 "CPPParser.cpp"
}
match(RPAREN);
break;
}
case ID:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case SCOPE: {
q = qualified_id();
if (inputState->guessing == 0) {
#line 1346 "CPP_parser.g"
declaratorID(q, qiFun);
#line 7732 "CPPParser.cpp"
}
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 1351 "CPP_parser.g"
#ifdef MYCODE
if (definition) myCode_function_direct_declarator(q);
#endif // MYCODE
#line 7750 "CPPParser.cpp"
}
match(LPAREN);
if (inputState->guessing == 0) {
#line 1359 "CPP_parser.g"
functionParameterList();
if (K_and_R == false) in_parameter_list = true;
#line 7760 "CPPParser.cpp"
}
{
switch (LA(1)) {
case LITERAL_typedef:
case LITERAL_enum:
case ID:
case LITERAL_inline:
case LITERAL_friend:
case LITERAL_extern:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LITERAL_GFEXCLUDE:
case LITERAL_GFINCLUDE:
case LITERAL_GFID:
case LITERAL_GFUNREAD:
case LITERAL_GFARRAYSIZE:
case LPAREN:
case LITERAL_GFARRAYSIZES:
case LITERAL_GFARRAYELEMSIZE:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_static:
case LITERAL_mutable:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case LITERAL_const:
case LITERAL___const:
case LITERAL_volatile:
case LITERAL___volatile__:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case ELLIPSIS:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
parameter_list();
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 1365 "CPP_parser.g"
if (K_and_R == false) {
in_parameter_list = false;
} else {
in_parameter_list = true;
}
#line 7868 "CPPParser.cpp"
}
match(RPAREN);
{ // ( ... )*
for (;;) {
if (((LA(1) >= LITERAL_const && LA(1) <= LITERAL___volatile__)) &&
(_tokenSet_83.member(LA(2)))) {
tq = type_qualifier();
} else {
goto _loop303;
}
}
_loop303:;
} // ( ... )*
{
switch (LA(1)) {
case ASSIGNEQUAL: {
match(ASSIGNEQUAL);
match(OCTALINT);
break;
}
case LITERAL_typedef:
case SEMICOLON:
case LITERAL_enum:
case ID:
case LCURLY:
case LITERAL_inline:
case LITERAL_friend:
case LITERAL_extern:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LITERAL_GFEXCLUDE:
case LITERAL_GFINCLUDE:
case LITERAL_GFID:
case LITERAL_GFUNREAD:
case LITERAL_GFARRAYSIZE:
case LITERAL_GFARRAYSIZES:
case LITERAL_GFARRAYELEMSIZE:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_static:
case LITERAL_mutable:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case LITERAL_const:
case LITERAL___const:
case LITERAL_volatile:
case LITERAL___volatile__:
case LITERAL_throw:
case LITERAL_using:
case SCOPE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
if (inputState->guessing == 0) {
#line 1375 "CPP_parser.g"
functionEndParameterList(definition);
#line 7970 "CPPParser.cpp"
}
{
switch (LA(1)) {
case LITERAL_throw: {
exception_specification();
break;
}
case LITERAL_typedef:
case SEMICOLON:
case LITERAL_enum:
case ID:
case LCURLY:
case LITERAL_inline:
case LITERAL_friend:
case LITERAL_extern:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LITERAL_GFEXCLUDE:
case LITERAL_GFINCLUDE:
case LITERAL_GFID:
case LITERAL_GFUNREAD:
case LITERAL_GFARRAYSIZE:
case LITERAL_GFARRAYSIZES:
case LITERAL_GFARRAYELEMSIZE:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_static:
case LITERAL_mutable:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case LITERAL_const:
case LITERAL___const:
case LITERAL_volatile:
case LITERAL___volatile__:
case LITERAL_using:
case SCOPE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_29);
} else {
throw;
}
}
}
void CPPParser::ctor_head() {
try { // for error handling
ctor_decl_spec();
ctor_declarator(1);
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_84);
} else {
throw;
}
}
}
void CPPParser::ctor_body() {
try { // for error handling
{
switch (LA(1)) {
case COLON: {
ctor_initializer();
break;
}
case LCURLY: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
compound_statement();
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_30);
} else {
throw;
}
}
}
char* CPPParser::qualified_ctor_id() {
#line 1414 "CPP_parser.g"
char* q = NULL;
#line 8116 "CPPParser.cpp"
ANTLR_USE_NAMESPACE(antlr) RefToken id = ANTLR_USE_NAMESPACE(antlr) nullToken;
#line 1414 "CPP_parser.g"
char* so;
static char qitem[CPPParser_MaxQualifiedItemSize + 1];
#line 8123 "CPPParser.cpp"
try { // for error handling
so = scope_override();
if (inputState->guessing == 0) {
#line 1421 "CPP_parser.g"
strcpy(qitem, so);
#line 8130 "CPPParser.cpp"
}
id = LT(1);
match(ID);
if (inputState->guessing == 0) {
#line 1423 "CPP_parser.g"
strcat(qitem, (id->getText()).data());
q = qitem;
#line 8138 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_85);
} else {
throw;
}
}
return q;
}
void CPPParser::ctor_initializer() {
try { // for error handling
match(COLON);
superclass_init();
{ // ( ... )*
for (;;) {
if ((LA(1) == COMMA)) {
match(COMMA);
superclass_init();
} else {
goto _loop320;
}
}
_loop320:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_53);
} else {
throw;
}
}
}
void CPPParser::superclass_init() {
#line 1441 "CPP_parser.g"
char* q;
#line 8184 "CPPParser.cpp"
try { // for error handling
q = qualified_id();
match(LPAREN);
{
switch (LA(1)) {
case ID:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
expression_list();
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RPAREN);
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_60);
} else {
throw;
}
}
}
void CPPParser::dtor_decl_spec() {
try { // for error handling
{ // ( ... )*
for (;;) {
switch (LA(1)) {
case LITERAL_inline:
case LITERAL__inline:
case LITERAL___inline: {
{
switch (LA(1)) {
case LITERAL_inline: {
match(LITERAL_inline);
break;
}
case LITERAL__inline: {
match(LITERAL__inline);
break;
}
case LITERAL___inline: {
match(LITERAL___inline);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case LITERAL_virtual: {
match(LITERAL_virtual);
break;
}
default: { goto _loop327; }
}
}
_loop327:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_86);
} else {
throw;
}
}
}
void CPPParser::dtor_declarator(int definition) {
#line 1461 "CPP_parser.g"
char* s;
#line 8346 "CPPParser.cpp"
try { // for error handling
s = scope_override();
match(TILDE);
match(ID);
if (inputState->guessing == 0) {
#line 1466 "CPP_parser.g"
declaratorParameterList(definition);
#line 8355 "CPPParser.cpp"
}
match(LPAREN);
{
switch (LA(1)) {
case LITERAL_void: {
match(LITERAL_void);
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RPAREN);
if (inputState->guessing == 0) {
#line 1468 "CPP_parser.g"
declaratorEndParameterList(definition);
#line 8379 "CPPParser.cpp"
}
{
switch (LA(1)) {
case LITERAL_throw: {
exception_specification();
break;
}
case SEMICOLON:
case LCURLY: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_32);
} else {
throw;
}
}
}
void CPPParser::parameter_declaration_list() {
try { // for error handling
{
parameter_declaration();
{ // ( ... )*
for (;;) {
if ((LA(1) == COMMA)) {
match(COMMA);
parameter_declaration();
} else {
goto _loop337;
}
}
_loop337:;
} // ( ... )*
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_87);
} else {
throw;
}
}
}
void CPPParser::parameter_declaration() {
try { // for error handling
if (inputState->guessing == 0) {
#line 1494 "CPP_parser.g"
beginParameterDeclaration();
#line 8446 "CPPParser.cpp"
}
{
if (((_tokenSet_12.member(LA(1))) && (_tokenSet_88.member(LA(2)))) &&
(!((LA(1) == SCOPE) && (LA(2) == STAR || LA(2) == OPERATOR)) &&
(!(LA(1) == SCOPE || LA(1) == ID) ||
qualifiedItemIsOneOf(qiType | qiCtor)))) {
declaration_specifiers();
{
bool synPredMatched342 = false;
if (((_tokenSet_76.member(LA(1))) && (_tokenSet_89.member(LA(2))))) {
int _m342 = mark();
synPredMatched342 = true;
inputState->guessing++;
try {
{ declarator(); }
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched342 = false;
}
rewind(_m342);
inputState->guessing--;
}
if (synPredMatched342) {
declarator();
} else if ((_tokenSet_90.member(LA(1))) &&
(_tokenSet_91.member(LA(2)))) {
abstract_declarator();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} else {
bool synPredMatched344 = false;
if (((_tokenSet_76.member(LA(1))) && (_tokenSet_89.member(LA(2))))) {
int _m344 = mark();
synPredMatched344 = true;
inputState->guessing++;
try {
{ declarator(); }
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched344 = false;
}
rewind(_m344);
inputState->guessing--;
}
if (synPredMatched344) {
declarator();
} else if ((LA(1) == ELLIPSIS)) {
match(ELLIPSIS);
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
{
switch (LA(1)) {
case ASSIGNEQUAL: {
match(ASSIGNEQUAL);
remainder_expression();
break;
}
case GREATERTHAN:
case RPAREN:
case COMMA:
case ELLIPSIS: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_92);
} else {
throw;
}
}
}
void CPPParser::abstract_declarator() {
try { // for error handling
if ((_tokenSet_25.member(LA(1)))) {
ptr_operator();
abstract_declarator();
} else {
bool synPredMatched351 = false;
if (((LA(1) == LPAREN) && (_tokenSet_25.member(LA(2))))) {
int _m351 = mark();
synPredMatched351 = true;
inputState->guessing++;
try {
{
match(LPAREN);
{ // ( ... )+
int _cnt350 = 0;
for (;;) {
if ((_tokenSet_25.member(LA(1)))) {
ptr_operator();
} else {
if (_cnt350 >= 1) {
goto _loop350;
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
_cnt350++;
}
_loop350:;
} // ( ... )+
match(RPAREN);
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched351 = false;
}
rewind(_m351);
inputState->guessing--;
}
if (synPredMatched351) {
match(LPAREN);
{ // ( ... )+
int _cnt353 = 0;
for (;;) {
if ((_tokenSet_25.member(LA(1)))) {
ptr_operator();
} else {
if (_cnt353 >= 1) {
goto _loop353;
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
_cnt353++;
}
_loop353:;
} // ( ... )+
match(RPAREN);
{
switch (LA(1)) {
case LPAREN:
case LSQUARE: {
abstract_declarator_suffix();
break;
}
case GREATERTHAN:
case ASSIGNEQUAL:
case RPAREN:
case COMMA:
case ELLIPSIS: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} else if ((_tokenSet_93.member(LA(1))) && (_tokenSet_94.member(LA(2)))) {
{
switch (LA(1)) {
case LPAREN:
case LSQUARE: {
abstract_declarator_suffix();
break;
}
case GREATERTHAN:
case ASSIGNEQUAL:
case RPAREN:
case COMMA:
case ELLIPSIS: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_95);
} else {
throw;
}
}
}
void CPPParser::type_id() {
try { // for error handling
declaration_specifiers();
abstract_declarator();
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_96);
} else {
throw;
}
}
}
void CPPParser::abstract_declarator_suffix() {
try { // for error handling
switch (LA(1)) {
case LSQUARE: {
{ // ( ... )+
int _cnt359 = 0;
for (;;) {
if ((LA(1) == LSQUARE)) {
match(LSQUARE);
{
switch (LA(1)) {
case ID:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
constant_expression();
break;
}
case RSQUARE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RSQUARE);
} else {
if (_cnt359 >= 1) {
goto _loop359;
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
_cnt359++;
}
_loop359:;
} // ( ... )+
if (inputState->guessing == 0) {
#line 1548 "CPP_parser.g"
declaratorArray();
#line 8780 "CPPParser.cpp"
}
break;
}
case LPAREN: {
match(LPAREN);
if (inputState->guessing == 0) {
#line 1551 "CPP_parser.g"
declaratorParameterList(0);
#line 8790 "CPPParser.cpp"
}
{
switch (LA(1)) {
case LITERAL_typedef:
case LITERAL_enum:
case ID:
case LITERAL_inline:
case LITERAL_friend:
case LITERAL_extern:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LITERAL_GFEXCLUDE:
case LITERAL_GFINCLUDE:
case LITERAL_GFID:
case LITERAL_GFUNREAD:
case LITERAL_GFARRAYSIZE:
case LPAREN:
case LITERAL_GFARRAYSIZES:
case LITERAL_GFARRAYELEMSIZE:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_static:
case LITERAL_mutable:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case LITERAL_const:
case LITERAL___const:
case LITERAL_volatile:
case LITERAL___volatile__:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case ELLIPSIS:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
parameter_list();
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RPAREN);
if (inputState->guessing == 0) {
#line 1554 "CPP_parser.g"
declaratorEndParameterList(0);
#line 8894 "CPPParser.cpp"
}
cv_qualifier_seq();
{
switch (LA(1)) {
case LITERAL_throw: {
exception_specification();
break;
}
case GREATERTHAN:
case ASSIGNEQUAL:
case RPAREN:
case COMMA:
case ELLIPSIS: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_95);
} else {
throw;
}
}
}
void CPPParser::cv_qualifier_seq() {
#line 2218 "CPP_parser.g"
CPPParser::TypeQualifier tq;
#line 8939 "CPPParser.cpp"
try { // for error handling
{ // ( ... )*
for (;;) {
if (((LA(1) >= LITERAL_const && LA(1) <= LITERAL___volatile__))) {
tq = type_qualifier();
} else {
goto _loop581;
}
}
_loop581:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_97);
} else {
throw;
}
}
}
void CPPParser::template_parameter() {
try { // for error handling
{
if ((_tokenSet_98.member(LA(1))) && (_tokenSet_99.member(LA(2)))) {
type_parameter();
} else if ((_tokenSet_100.member(LA(1))) &&
(_tokenSet_15.member(LA(2)))) {
parameter_declaration();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_101);
} else {
throw;
}
}
}
void CPPParser::type_parameter() {
ANTLR_USE_NAMESPACE(antlr) RefToken id = ANTLR_USE_NAMESPACE(antlr) nullToken;
ANTLR_USE_NAMESPACE(antlr)
RefToken id2 = ANTLR_USE_NAMESPACE(antlr) nullToken;
try { // for error handling
{
switch (LA(1)) {
case LITERAL_class:
case LITERAL_typename: {
{
switch (LA(1)) {
case LITERAL_class: {
match(LITERAL_class);
break;
}
case LITERAL_typename: {
match(LITERAL_typename);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
{
switch (LA(1)) {
case ID: {
id = LT(1);
match(ID);
if (inputState->guessing == 0) {
#line 1610 "CPP_parser.g"
templateTypeParameter((id->getText()).data());
#line 9030 "CPPParser.cpp"
}
{
switch (LA(1)) {
case ASSIGNEQUAL: {
match(ASSIGNEQUAL);
assigned_type_name();
break;
}
case GREATERTHAN:
case COMMA: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case GREATERTHAN:
case COMMA: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case LITERAL_template: {
template_head();
match(LITERAL_class);
{
switch (LA(1)) {
case ID: {
id2 = LT(1);
match(ID);
if (inputState->guessing == 0) {
#line 1618 "CPP_parser.g"
templateTypeParameter((id2->getText()).data());
#line 9081 "CPPParser.cpp"
}
{
switch (LA(1)) {
case ASSIGNEQUAL: {
match(ASSIGNEQUAL);
assigned_type_name();
break;
}
case GREATERTHAN:
case COMMA: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case GREATERTHAN:
case COMMA: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_101);
} else {
throw;
}
}
}
void CPPParser::assigned_type_name() {
#line 1631 "CPP_parser.g"
char* qt;
TypeSpecifier ts;
#line 9137 "CPPParser.cpp"
try { // for error handling
{
if ((LA(1) == ID || LA(1) == SCOPE) && (_tokenSet_102.member(LA(2)))) {
qt = qualified_type();
abstract_declarator();
} else if ((_tokenSet_103.member(LA(1))) &&
(_tokenSet_104.member(LA(2)))) {
ts = simple_type_specifier();
abstract_declarator();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_101);
} else {
throw;
}
}
}
void CPPParser::template_id() {
try { // for error handling
match(ID);
match(LESSTHAN);
template_argument_list();
match(GREATERTHAN);
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_1);
} else {
throw;
}
}
}
void CPPParser::template_argument() {
try { // for error handling
if (((_tokenSet_12.member(LA(1))) && (_tokenSet_105.member(LA(2)))) &&
((!(LA(1) == SCOPE || LA(1) == ID) ||
qualifiedItemIsOneOf(qiType | qiCtor)))) {
type_id();
} else if ((_tokenSet_72.member(LA(1))) && (_tokenSet_106.member(LA(2)))) {
shift_expression();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_101);
} else {
throw;
}
}
}
void CPPParser::shift_expression() {
try { // for error handling
additive_expression();
{ // ( ... )*
for (;;) {
if ((LA(1) == SHIFTLEFT || LA(1) == SHIFTRIGHT)) {
{
switch (LA(1)) {
case SHIFTLEFT: {
match(SHIFTLEFT);
break;
}
case SHIFTRIGHT: {
match(SHIFTRIGHT);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
additive_expression();
} else {
goto _loop482;
}
}
_loop482:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_107);
} else {
throw;
}
}
}
void CPPParser::statement_list() {
try { // for error handling
{ // ( ... )+
int _cnt389 = 0;
for (;;) {
if ((_tokenSet_49.member(LA(1)))) {
statement();
} else {
if (_cnt389 >= 1) {
goto _loop389;
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
_cnt389++;
}
_loop389:;
} // ( ... )+
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_61);
} else {
throw;
}
}
}
void CPPParser::statement() {
#line 1680 "CPP_parser.g"
FunctionSpecifier fs = fsInvalid; // inline,virtual,explicit
#line 9285 "CPPParser.cpp"
try { // for error handling
{
switch (LA(1)) {
case LITERAL_case: {
case_statement();
break;
}
case LITERAL_default: {
default_statement();
break;
}
case LCURLY: {
compound_statement();
break;
}
case LITERAL_if:
case LITERAL_switch: {
selection_statement();
break;
}
case LITERAL_while:
case LITERAL_do:
case LITERAL_for: {
iteration_statement();
break;
}
case LITERAL_goto:
case LITERAL_continue:
case LITERAL_break:
case LITERAL_return: {
jump_statement();
break;
}
case LITERAL_try: {
try_block();
break;
}
case LITERAL_throw: {
throw_statement();
break;
}
default:
bool synPredMatched393 = false;
if (((_tokenSet_108.member(LA(1))) &&
(_tokenSet_109.member(LA(2))))) {
int _m393 = mark();
synPredMatched393 = true;
inputState->guessing++;
try {
{
switch (LA(1)) {
case LITERAL_namespace: {
match(LITERAL_namespace);
break;
}
case LITERAL_using: {
match(LITERAL_using);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched393 = false;
}
rewind(_m393);
inputState->guessing--;
}
if (synPredMatched393) {
block_declaration();
} else {
bool synPredMatched397 = false;
if (((_tokenSet_20.member(LA(1))) &&
(_tokenSet_110.member(LA(2))))) {
int _m397 = mark();
synPredMatched397 = true;
inputState->guessing++;
try {
{
{
switch (LA(1)) {
case LITERAL_typedef: {
match(LITERAL_typedef);
break;
}
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
class_specifier();
{
switch (LA(1)) {
case ID:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case SCOPE: {
qualified_id();
break;
}
case LCURLY: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(LCURLY);
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched397 = false;
}
rewind(_m397);
inputState->guessing--;
}
if (synPredMatched397) {
member_declaration();
} else {
bool synPredMatched399 = false;
if (((_tokenSet_20.member(LA(1))) &&
(_tokenSet_110.member(LA(2))))) {
int _m399 = mark();
synPredMatched399 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
match(LPAREN);
ptr_operator();
qualified_id();
match(RPAREN);
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched399 = false;
}
rewind(_m399);
inputState->guessing--;
}
if (synPredMatched399) {
member_declaration();
} else {
bool synPredMatched402 = false;
if (((_tokenSet_20.member(LA(1))) &&
(_tokenSet_110.member(LA(2))))) {
int _m402 = mark();
synPredMatched402 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
{
ptr_operator();
ptr_operator();
}
qualified_id();
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched402 = false;
}
rewind(_m402);
inputState->guessing--;
}
if (synPredMatched402) {
member_declaration();
} else {
bool synPredMatched407 = false;
if (((_tokenSet_20.member(LA(1))) &&
(_tokenSet_110.member(LA(2))))) {
int _m407 = mark();
synPredMatched407 = true;
inputState->guessing++;
try {
{
declaration_specifiers();
{
bool synPredMatched406 = false;
if (((_tokenSet_25.member(LA(1))) &&
(_tokenSet_111.member(LA(2))))) {
int _m406 = mark();
synPredMatched406 = true;
inputState->guessing++;
try {
{ ptr_operator(); }
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched406 = false;
}
rewind(_m406);
inputState->guessing--;
}
if (synPredMatched406) {
ptr_operator();
} else if ((_tokenSet_44.member(LA(1))) && (true)) {
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
qualified_id();
}
} catch (ANTLR_USE_NAMESPACE(antlr)
RecognitionException& pe) {
synPredMatched407 = false;
}
rewind(_m407);
inputState->guessing--;
}
if (synPredMatched407) {
member_declaration();
} else if ((LA(1) == ID) && (LA(2) == COLON)) {
labeled_statement();
} else if ((_tokenSet_72.member(LA(1))) &&
(_tokenSet_112.member(LA(2)))) {
expression();
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1698 "CPP_parser.g"
end_of_stmt();
#line 9539 "CPPParser.cpp"
}
} else if ((LA(1) == SEMICOLON) &&
(_tokenSet_40.member(LA(2)))) {
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1703 "CPP_parser.g"
end_of_stmt();
#line 9547 "CPPParser.cpp"
}
} else if ((LA(1) == LITERAL_antlrTrace_on) &&
(_tokenSet_40.member(LA(2)))) {
match(LITERAL_antlrTrace_on);
if (inputState->guessing == 0) {
#line 1708 "CPP_parser.g"
antlrTrace(true);
#line 9555 "CPPParser.cpp"
}
} else if ((LA(1) == LITERAL_antlrTrace_off) &&
(_tokenSet_40.member(LA(2)))) {
match(LITERAL_antlrTrace_off);
if (inputState->guessing == 0) {
#line 1710 "CPP_parser.g"
antlrTrace(false);
#line 9563 "CPPParser.cpp"
}
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
}
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_40);
} else {
throw;
}
}
}
void CPPParser::block_declaration() {
try { // for error handling
switch (LA(1)) {
case LITERAL_typedef:
case LITERAL_enum:
case ID:
case LITERAL_inline:
case LITERAL_friend:
case LITERAL_extern:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LITERAL_GFEXCLUDE:
case LITERAL_GFINCLUDE:
case LITERAL_GFID:
case LITERAL_GFUNREAD:
case LITERAL_GFARRAYSIZE:
case LITERAL_GFARRAYSIZES:
case LITERAL_GFARRAYELEMSIZE:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_static:
case LITERAL_mutable:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case LITERAL_const:
case LITERAL___const:
case LITERAL_volatile:
case LITERAL___volatile__:
case SCOPE: {
simple_declaration();
break;
}
case LITERAL_asm:
case LITERAL__asm:
case LITERAL___asm:
case LITERAL___asm__: {
asm_definition();
break;
}
case LITERAL_namespace: {
namespace_alias_definition();
break;
}
case LITERAL_using: {
using_statement();
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_40);
} else {
throw;
}
}
}
void CPPParser::labeled_statement() {
try { // for error handling
match(ID);
match(COLON);
statement();
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_40);
} else {
throw;
}
}
}
void CPPParser::case_statement() {
try { // for error handling
match(LITERAL_case);
constant_expression();
match(COLON);
statement();
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_40);
} else {
throw;
}
}
}
void CPPParser::default_statement() {
try { // for error handling
match(LITERAL_default);
match(COLON);
statement();
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_40);
} else {
throw;
}
}
}
void CPPParser::selection_statement() {
try { // for error handling
switch (LA(1)) {
case LITERAL_if: {
match(LITERAL_if);
match(LPAREN);
expression();
match(RPAREN);
statement();
{
if ((LA(1) == LITERAL_else) && (_tokenSet_49.member(LA(2)))) {
match(LITERAL_else);
statement();
} else if ((_tokenSet_40.member(LA(1))) &&
(_tokenSet_113.member(LA(2)))) {
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
break;
}
case LITERAL_switch: {
match(LITERAL_switch);
match(LPAREN);
expression();
match(RPAREN);
statement();
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_40);
} else {
throw;
}
}
}
void CPPParser::iteration_statement() {
try { // for error handling
switch (LA(1)) {
case LITERAL_while: {
match(LITERAL_while);
match(LPAREN);
expression();
match(RPAREN);
statement();
break;
}
case LITERAL_do: {
match(LITERAL_do);
statement();
match(LITERAL_while);
match(LPAREN);
expression();
match(RPAREN);
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1777 "CPP_parser.g"
end_of_stmt();
#line 9814 "CPPParser.cpp"
}
break;
}
case LITERAL_for: {
match(LITERAL_for);
match(LPAREN);
{
bool synPredMatched421 = false;
if (((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2))))) {
int _m421 = mark();
synPredMatched421 = true;
inputState->guessing++;
try {
{ declaration(); }
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched421 = false;
}
rewind(_m421);
inputState->guessing--;
}
if (synPredMatched421) {
declaration();
} else if ((_tokenSet_72.member(LA(1))) &&
(_tokenSet_112.member(LA(2)))) {
expression();
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1781 "CPP_parser.g"
end_of_stmt();
#line 9848 "CPPParser.cpp"
}
} else if ((LA(1) == SEMICOLON)) {
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1782 "CPP_parser.g"
end_of_stmt();
#line 9856 "CPPParser.cpp"
}
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
{
switch (LA(1)) {
case ID:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
expression();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1784 "CPP_parser.g"
end_of_stmt();
#line 9949 "CPPParser.cpp"
}
{
switch (LA(1)) {
case ID:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
expression();
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RPAREN);
statement();
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_40);
} else {
throw;
}
}
}
void CPPParser::jump_statement() {
try { // for error handling
{
switch (LA(1)) {
case LITERAL_goto: {
match(LITERAL_goto);
match(ID);
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1791 "CPP_parser.g"
end_of_stmt();
#line 10065 "CPPParser.cpp"
}
break;
}
case LITERAL_continue: {
match(LITERAL_continue);
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1792 "CPP_parser.g"
end_of_stmt();
#line 10076 "CPPParser.cpp"
}
break;
}
case LITERAL_break: {
match(LITERAL_break);
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1793 "CPP_parser.g"
end_of_stmt();
#line 10087 "CPPParser.cpp"
}
break;
}
case LITERAL_return: {
match(LITERAL_return);
if (inputState->guessing == 0) {
#line 1795 "CPP_parser.g"
in_return = true;
#line 10097 "CPPParser.cpp"
}
{
bool synPredMatched428 = false;
if (((LA(1) == LPAREN) && (LA(2) == ID))) {
int _m428 = mark();
synPredMatched428 = true;
inputState->guessing++;
try {
{
match(LPAREN);
if (!((qualifiedItemIsOneOf(qiType)))) {
throw ANTLR_USE_NAMESPACE(antlr)
SemanticException("(qualifiedItemIsOneOf(qiType) )");
}
match(ID);
match(RPAREN);
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched428 = false;
}
rewind(_m428);
inputState->guessing--;
}
if (synPredMatched428) {
match(LPAREN);
match(ID);
match(RPAREN);
{
switch (LA(1)) {
case ID:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
expression();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} else if ((_tokenSet_72.member(LA(1))) &&
(_tokenSet_112.member(LA(2)))) {
expression();
} else if ((LA(1) == SEMICOLON)) {
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1802 "CPP_parser.g"
in_return = false, end_of_stmt();
#line 10220 "CPPParser.cpp"
}
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_40);
} else {
throw;
}
}
}
void CPPParser::try_block() {
try { // for error handling
match(LITERAL_try);
compound_statement();
{ // ( ... )*
for (;;) {
if ((LA(1) == LITERAL_catch)) {
handler();
} else {
goto _loop432;
}
}
_loop432:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_40);
} else {
throw;
}
}
}
void CPPParser::throw_statement() {
try { // for error handling
match(LITERAL_throw);
{
switch (LA(1)) {
case ID:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
assignment_expression();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1833 "CPP_parser.g"
end_of_stmt();
#line 10358 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_40);
} else {
throw;
}
}
}
void CPPParser::simple_declaration() {
try { // for error handling
declaration_specifiers();
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LPAREN:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case TILDE:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
init_declarator_list();
break;
}
case SEMICOLON: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1725 "CPP_parser.g"
end_of_stmt();
#line 10417 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_40);
} else {
throw;
}
}
}
void CPPParser::asm_definition() {
try { // for error handling
{
switch (LA(1)) {
case LITERAL_asm: {
match(LITERAL_asm);
break;
}
case LITERAL__asm: {
match(LITERAL__asm);
break;
}
case LITERAL___asm: {
match(LITERAL___asm);
break;
}
case LITERAL___asm__: {
match(LITERAL___asm__);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(LPAREN);
match(StringLiteral);
match(RPAREN);
match(SEMICOLON);
if (inputState->guessing == 0) {
#line 1848 "CPP_parser.g"
end_of_stmt();
#line 10468 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_40);
} else {
throw;
}
}
}
void CPPParser::handler() {
try { // for error handling
match(LITERAL_catch);
if (inputState->guessing == 0) {
#line 1814 "CPP_parser.g"
exceptionBeginHandler();
#line 10488 "CPPParser.cpp"
}
if (inputState->guessing == 0) {
#line 1815 "CPP_parser.g"
declaratorParameterList(1);
#line 10493 "CPPParser.cpp"
}
match(LPAREN);
exception_declaration();
match(RPAREN);
if (inputState->guessing == 0) {
#line 1817 "CPP_parser.g"
declaratorEndParameterList(1);
#line 10501 "CPPParser.cpp"
}
compound_statement();
if (inputState->guessing == 0) {
#line 1819 "CPP_parser.g"
exceptionEndHandler();
#line 10507 "CPPParser.cpp"
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_114);
} else {
throw;
}
}
}
void CPPParser::exception_declaration() {
try { // for error handling
parameter_declaration_list();
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_71);
} else {
throw;
}
}
}
void CPPParser::assignment_expression() {
try { // for error handling
conditional_expression();
{
switch (LA(1)) {
case ASSIGNEQUAL:
case TIMESEQUAL:
case DIVIDEEQUAL:
case MINUSEQUAL:
case PLUSEQUAL:
case MODEQUAL:
case SHIFTLEFTEQUAL:
case SHIFTRIGHTEQUAL:
case BITWISEANDEQUAL:
case BITWISEXOREQUAL:
case BITWISEOREQUAL: {
{
switch (LA(1)) {
case ASSIGNEQUAL: {
match(ASSIGNEQUAL);
break;
}
case TIMESEQUAL: {
match(TIMESEQUAL);
break;
}
case DIVIDEEQUAL: {
match(DIVIDEEQUAL);
break;
}
case MINUSEQUAL: {
match(MINUSEQUAL);
break;
}
case PLUSEQUAL: {
match(PLUSEQUAL);
break;
}
case MODEQUAL: {
match(MODEQUAL);
break;
}
case SHIFTLEFTEQUAL: {
match(SHIFTLEFTEQUAL);
break;
}
case SHIFTRIGHTEQUAL: {
match(SHIFTRIGHTEQUAL);
break;
}
case BITWISEANDEQUAL: {
match(BITWISEANDEQUAL);
break;
}
case BITWISEXOREQUAL: {
match(BITWISEXOREQUAL);
break;
}
case BITWISEOREQUAL: {
match(BITWISEOREQUAL);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
remainder_expression();
break;
}
case GREATERTHAN:
case SEMICOLON:
case RCURLY:
case COLON:
case RPAREN:
case COMMA:
case RSQUARE:
case ELLIPSIS: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_74);
} else {
throw;
}
}
}
void CPPParser::conditional_expression() {
try { // for error handling
logical_or_expression();
{
switch (LA(1)) {
case QUESTIONMARK: {
match(QUESTIONMARK);
expression();
match(COLON);
conditional_expression();
break;
}
case GREATERTHAN:
case SEMICOLON:
case RCURLY:
case ASSIGNEQUAL:
case COLON:
case RPAREN:
case COMMA:
case RSQUARE:
case ELLIPSIS:
case TIMESEQUAL:
case DIVIDEEQUAL:
case MINUSEQUAL:
case PLUSEQUAL:
case MODEQUAL:
case SHIFTLEFTEQUAL:
case SHIFTRIGHTEQUAL:
case BITWISEANDEQUAL:
case BITWISEXOREQUAL:
case BITWISEOREQUAL: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_115);
} else {
throw;
}
}
}
void CPPParser::logical_or_expression() {
try { // for error handling
logical_and_expression();
{ // ( ... )*
for (;;) {
if ((LA(1) == OR)) {
match(OR);
logical_and_expression();
} else {
goto _loop458;
}
}
_loop458:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_116);
} else {
throw;
}
}
}
void CPPParser::logical_and_expression() {
try { // for error handling
inclusive_or_expression();
{ // ( ... )*
for (;;) {
if ((LA(1) == AND)) {
match(AND);
inclusive_or_expression();
} else {
goto _loop461;
}
}
_loop461:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_117);
} else {
throw;
}
}
}
void CPPParser::inclusive_or_expression() {
try { // for error handling
exclusive_or_expression();
{ // ( ... )*
for (;;) {
if ((LA(1) == BITWISEOR)) {
match(BITWISEOR);
exclusive_or_expression();
} else {
goto _loop464;
}
}
_loop464:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_118);
} else {
throw;
}
}
}
void CPPParser::exclusive_or_expression() {
try { // for error handling
and_expression();
{ // ( ... )*
for (;;) {
if ((LA(1) == BITWISEXOR)) {
match(BITWISEXOR);
and_expression();
} else {
goto _loop467;
}
}
_loop467:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_119);
} else {
throw;
}
}
}
void CPPParser::and_expression() {
try { // for error handling
equality_expression();
{ // ( ... )*
for (;;) {
if ((LA(1) == AMPERSAND)) {
match(AMPERSAND);
equality_expression();
} else {
goto _loop470;
}
}
_loop470:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_120);
} else {
throw;
}
}
}
void CPPParser::equality_expression() {
try { // for error handling
relational_expression();
{ // ( ... )*
for (;;) {
if ((LA(1) == NOTEQUAL || LA(1) == EQUAL)) {
{
switch (LA(1)) {
case NOTEQUAL: {
match(NOTEQUAL);
break;
}
case EQUAL: {
match(EQUAL);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
relational_expression();
} else {
goto _loop474;
}
}
_loop474:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_121);
} else {
throw;
}
}
}
void CPPParser::relational_expression() {
try { // for error handling
shift_expression();
{ // ( ... )*
for (;;) {
if ((_tokenSet_122.member(LA(1))) && (_tokenSet_72.member(LA(2)))) {
{
switch (LA(1)) {
case LESSTHAN: {
match(LESSTHAN);
break;
}
case GREATERTHAN: {
match(GREATERTHAN);
break;
}
case LESSTHANOREQUALTO: {
match(LESSTHANOREQUALTO);
break;
}
case GREATERTHANOREQUALTO: {
match(GREATERTHANOREQUALTO);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
shift_expression();
} else {
goto _loop478;
}
}
_loop478:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_123);
} else {
throw;
}
}
}
void CPPParser::additive_expression() {
try { // for error handling
multiplicative_expression();
{ // ( ... )*
for (;;) {
if ((LA(1) == PLUS || LA(1) == MINUS)) {
{
switch (LA(1)) {
case PLUS: {
match(PLUS);
break;
}
case MINUS: {
match(MINUS);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
multiplicative_expression();
} else {
goto _loop486;
}
}
_loop486:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_124);
} else {
throw;
}
}
}
void CPPParser::multiplicative_expression() {
try { // for error handling
pm_expression();
{ // ( ... )*
for (;;) {
if ((_tokenSet_125.member(LA(1)))) {
{
switch (LA(1)) {
case STAR: {
match(STAR);
break;
}
case DIVIDE: {
match(DIVIDE);
break;
}
case MOD: {
match(MOD);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
pm_expression();
} else {
goto _loop490;
}
}
_loop490:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_126);
} else {
throw;
}
}
}
void CPPParser::pm_expression() {
try { // for error handling
cast_expression();
{ // ( ... )*
for (;;) {
if ((LA(1) == DOTMBR || LA(1) == POINTERTOMBR)) {
{
switch (LA(1)) {
case DOTMBR: {
match(DOTMBR);
break;
}
case POINTERTOMBR: {
match(POINTERTOMBR);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
cast_expression();
} else {
goto _loop494;
}
}
_loop494:;
} // ( ... )*
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_127);
} else {
throw;
}
}
}
void CPPParser::cast_expression() {
#line 2021 "CPP_parser.g"
TypeQualifier tq;
TypeSpecifier ts;
#line 11084 "CPPParser.cpp"
try { // for error handling
bool synPredMatched501 = false;
if (((LA(1) == LPAREN) && (_tokenSet_128.member(LA(2))))) {
int _m501 = mark();
synPredMatched501 = true;
inputState->guessing++;
try {
{
match(LPAREN);
{ // ( ... )*
for (;;) {
if (((LA(1) >= LITERAL_const && LA(1) <= LITERAL___volatile__))) {
type_qualifier();
} else {
goto _loop498;
}
}
_loop498:;
} // ( ... )*
simple_type_specifier();
{ // ( ... )*
for (;;) {
if ((_tokenSet_25.member(LA(1)))) {
ptr_operator();
} else {
goto _loop500;
}
}
_loop500:;
} // ( ... )*
match(RPAREN);
unary_expression();
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched501 = false;
}
rewind(_m501);
inputState->guessing--;
}
if (synPredMatched501) {
match(LPAREN);
{ // ( ... )*
for (;;) {
if (((LA(1) >= LITERAL_const && LA(1) <= LITERAL___volatile__))) {
tq = type_qualifier();
} else {
goto _loop503;
}
}
_loop503:;
} // ( ... )*
ts = simple_type_specifier();
{ // ( ... )*
for (;;) {
if ((_tokenSet_25.member(LA(1)))) {
ptr_operator();
} else {
goto _loop505;
}
}
_loop505:;
} // ( ... )*
match(RPAREN);
unary_expression();
} else {
bool synPredMatched511 = false;
if (((LA(1) == LPAREN) && (_tokenSet_128.member(LA(2))))) {
int _m511 = mark();
synPredMatched511 = true;
inputState->guessing++;
try {
{
match(LPAREN);
{ // ( ... )*
for (;;) {
if (((LA(1) >= LITERAL_const &&
LA(1) <= LITERAL___volatile__))) {
type_qualifier();
} else {
goto _loop508;
}
}
_loop508:;
} // ( ... )*
simple_type_specifier();
{ // ( ... )*
for (;;) {
if ((_tokenSet_25.member(LA(1)))) {
ptr_operator();
} else {
goto _loop510;
}
}
_loop510:;
} // ( ... )*
match(RPAREN);
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched511 = false;
}
rewind(_m511);
inputState->guessing--;
}
if (synPredMatched511) {
match(LPAREN);
{ // ( ... )*
for (;;) {
if (((LA(1) >= LITERAL_const && LA(1) <= LITERAL___volatile__))) {
tq = type_qualifier();
} else {
goto _loop513;
}
}
_loop513:;
} // ( ... )*
ts = simple_type_specifier();
{ // ( ... )*
for (;;) {
if ((_tokenSet_25.member(LA(1)))) {
ptr_operator();
} else {
goto _loop515;
}
}
_loop515:;
} // ( ... )*
match(RPAREN);
cast_expression();
} else if ((_tokenSet_72.member(LA(1))) && (_tokenSet_73.member(LA(2)))) {
unary_expression();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_129);
} else {
throw;
}
}
}
void CPPParser::unary_expression() {
try { // for error handling
{
switch (LA(1)) {
case PLUSPLUS: {
match(PLUSPLUS);
unary_expression();
break;
}
case MINUSMINUS: {
match(MINUSMINUS);
unary_expression();
break;
}
case LITERAL_sizeof:
case LITERAL___alignof__: {
{
switch (LA(1)) {
case LITERAL_sizeof: {
match(LITERAL_sizeof);
break;
}
case LITERAL___alignof__: {
match(LITERAL___alignof__);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
{
bool synPredMatched523 = false;
if (((_tokenSet_72.member(LA(1))) &&
(_tokenSet_73.member(LA(2))))) {
int _m523 = mark();
synPredMatched523 = true;
inputState->guessing++;
try {
{ unary_expression(); }
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched523 = false;
}
rewind(_m523);
inputState->guessing--;
}
if (synPredMatched523) {
unary_expression();
} else if ((LA(1) == LPAREN) && (_tokenSet_12.member(LA(2)))) {
match(LPAREN);
type_id();
match(RPAREN);
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
break;
}
default:
bool synPredMatched519 = false;
if (((_tokenSet_130.member(LA(1))) &&
(_tokenSet_131.member(LA(2))))) {
int _m519 = mark();
synPredMatched519 = true;
inputState->guessing++;
try {
{ postfix_expression(); }
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched519 = false;
}
rewind(_m519);
inputState->guessing--;
}
if (synPredMatched519) {
postfix_expression();
} else if ((_tokenSet_132.member(LA(1))) &&
(_tokenSet_72.member(LA(2)))) {
unary_operator();
cast_expression();
} else if ((_tokenSet_133.member(LA(1))) &&
(_tokenSet_134.member(LA(2)))) {
{
switch (LA(1)) {
case SCOPE: {
match(SCOPE);
break;
}
case LITERAL_new:
case LITERAL_delete: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
{
switch (LA(1)) {
case LITERAL_new: {
new_expression();
break;
}
case LITERAL_delete: {
delete_expression();
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_129);
} else {
throw;
}
}
}
void CPPParser::postfix_expression() {
#line 2063 "CPP_parser.g"
TypeSpecifier ts;
#line 11404 "CPPParser.cpp"
try { // for error handling
{
switch (LA(1)) {
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast: {
{
switch (LA(1)) {
case LITERAL_dynamic_cast: {
match(LITERAL_dynamic_cast);
break;
}
case LITERAL_static_cast: {
match(LITERAL_static_cast);
break;
}
case LITERAL_reinterpret_cast: {
match(LITERAL_reinterpret_cast);
break;
}
case LITERAL_const_cast: {
match(LITERAL_const_cast);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(LESSTHAN);
{
switch (LA(1)) {
case LITERAL_const: {
match(LITERAL_const);
break;
}
case LITERAL___const: {
match(LITERAL___const);
break;
}
case ID:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case SCOPE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
ts = type_specifier();
{
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
ptr_operator();
break;
}
case GREATERTHAN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(GREATERTHAN);
match(LPAREN);
expression();
match(RPAREN);
break;
}
case LITERAL_typeid: {
match(LITERAL_typeid);
match(LPAREN);
{
bool synPredMatched544 = false;
if (((_tokenSet_12.member(LA(1))) &&
(_tokenSet_135.member(LA(2))))) {
int _m544 = mark();
synPredMatched544 = true;
inputState->guessing++;
try {
{ type_id(); }
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched544 = false;
}
rewind(_m544);
inputState->guessing--;
}
if (synPredMatched544) {
type_id();
} else if ((_tokenSet_72.member(LA(1))) &&
(_tokenSet_136.member(LA(2)))) {
expression();
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
match(RPAREN);
break;
}
default:
bool synPredMatched529 = false;
if ((((_tokenSet_103.member(LA(1))) &&
(_tokenSet_137.member(LA(2)))) &&
(!(LA(1) == LPAREN)))) {
int _m529 = mark();
synPredMatched529 = true;
inputState->guessing++;
try {
{
ts = simple_type_specifier();
match(LPAREN);
match(RPAREN);
match(LPAREN);
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched529 = false;
}
rewind(_m529);
inputState->guessing--;
}
if (synPredMatched529) {
ts = simple_type_specifier();
match(LPAREN);
match(RPAREN);
match(LPAREN);
{
switch (LA(1)) {
case ID:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
expression_list();
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RPAREN);
} else {
bool synPredMatched532 = false;
if ((((_tokenSet_103.member(LA(1))) &&
(_tokenSet_137.member(LA(2)))) &&
(!(LA(1) == LPAREN)))) {
int _m532 = mark();
synPredMatched532 = true;
inputState->guessing++;
try {
{
ts = simple_type_specifier();
match(LPAREN);
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched532 = false;
}
rewind(_m532);
inputState->guessing--;
}
if (synPredMatched532) {
ts = simple_type_specifier();
match(LPAREN);
{
switch (LA(1)) {
case ID:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
expression_list();
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RPAREN);
} else if ((_tokenSet_138.member(LA(1))) &&
(_tokenSet_131.member(LA(2)))) {
primary_expression();
{ // ( ... )*
for (;;) {
switch (LA(1)) {
case LSQUARE: {
match(LSQUARE);
expression();
match(RSQUARE);
break;
}
case LPAREN: {
match(LPAREN);
{
switch (LA(1)) {
case ID:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
expression_list();
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RPAREN);
break;
}
case DOT:
case POINTERTO: {
{
switch (LA(1)) {
case DOT: {
match(DOT);
break;
}
case POINTERTO: {
match(POINTERTO);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
{
switch (LA(1)) {
case LITERAL_template: {
match(LITERAL_template);
break;
}
case ID:
case OPERATOR:
case TILDE:
case SCOPE: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
id_expression();
break;
}
case PLUSPLUS: {
match(PLUSPLUS);
break;
}
case MINUSMINUS: {
match(MINUSMINUS);
break;
}
default: { goto _loop538; }
}
}
_loop538:;
} // ( ... )*
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_129);
} else {
throw;
}
}
}
void CPPParser::unary_operator() {
try { // for error handling
switch (LA(1)) {
case AMPERSAND: {
match(AMPERSAND);
break;
}
case STAR: {
match(STAR);
break;
}
case PLUS: {
match(PLUS);
break;
}
case MINUS: {
match(MINUS);
break;
}
case TILDE: {
match(TILDE);
break;
}
case NOT: {
match(NOT);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_72);
} else {
throw;
}
}
}
void CPPParser::new_expression() {
try { // for error handling
{
match(LITERAL_new);
{
bool synPredMatched557 = false;
if (((LA(1) == LPAREN) && (_tokenSet_72.member(LA(2))))) {
int _m557 = mark();
synPredMatched557 = true;
inputState->guessing++;
try {
{
match(LPAREN);
expression_list();
match(RPAREN);
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& pe) {
synPredMatched557 = false;
}
rewind(_m557);
inputState->guessing--;
}
if (synPredMatched557) {
match(LPAREN);
expression_list();
match(RPAREN);
} else if ((_tokenSet_139.member(LA(1))) &&
(_tokenSet_140.member(LA(2)))) {
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
{
switch (LA(1)) {
case LITERAL_typedef:
case LITERAL_enum:
case ID:
case LITERAL_inline:
case LITERAL_friend:
case LITERAL_extern:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_class:
case LITERAL__stdcall:
case LITERAL___stdcall:
case LITERAL_GFEXCLUDE:
case LITERAL_GFINCLUDE:
case LITERAL_GFID:
case LITERAL_GFUNREAD:
case LITERAL_GFARRAYSIZE:
case LITERAL_GFARRAYSIZES:
case LITERAL_GFARRAYELEMSIZE:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_static:
case LITERAL_mutable:
case LITERAL__inline:
case LITERAL___inline:
case LITERAL_virtual:
case LITERAL_explicit:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case LITERAL_const:
case LITERAL___const:
case LITERAL_volatile:
case LITERAL___volatile__:
case SCOPE: {
new_type_id();
break;
}
case LPAREN: {
match(LPAREN);
type_id();
match(RPAREN);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
{
switch (LA(1)) {
case LPAREN: {
new_initializer();
break;
}
case LESSTHAN:
case GREATERTHAN:
case SEMICOLON:
case RCURLY:
case ASSIGNEQUAL:
case COLON:
case RPAREN:
case COMMA:
case RSQUARE:
case STAR:
case AMPERSAND:
case ELLIPSIS:
case TIMESEQUAL:
case DIVIDEEQUAL:
case MINUSEQUAL:
case PLUSEQUAL:
case MODEQUAL:
case SHIFTLEFTEQUAL:
case SHIFTRIGHTEQUAL:
case BITWISEANDEQUAL:
case BITWISEXOREQUAL:
case BITWISEOREQUAL:
case QUESTIONMARK:
case OR:
case AND:
case BITWISEOR:
case BITWISEXOR:
case NOTEQUAL:
case EQUAL:
case LESSTHANOREQUALTO:
case GREATERTHANOREQUALTO:
case SHIFTLEFT:
case SHIFTRIGHT:
case PLUS:
case MINUS:
case DIVIDE:
case MOD:
case DOTMBR:
case POINTERTOMBR: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_129);
} else {
throw;
}
}
}
void CPPParser::delete_expression() {
try { // for error handling
match(LITERAL_delete);
{
switch (LA(1)) {
case LSQUARE: {
match(LSQUARE);
match(RSQUARE);
break;
}
case ID:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
cast_expression();
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_129);
} else {
throw;
}
}
}
void CPPParser::primary_expression() {
try { // for error handling
switch (LA(1)) {
case ID:
case OPERATOR:
case TILDE:
case SCOPE: {
id_expression();
break;
}
case StringLiteral:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO: {
constant();
break;
}
case LITERAL_this: {
match(LITERAL_this);
break;
}
case LPAREN: {
match(LPAREN);
expression();
match(RPAREN);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_141);
} else {
throw;
}
}
}
void CPPParser::id_expression() {
#line 2105 "CPP_parser.g"
char* s;
#line 12353 "CPPParser.cpp"
try { // for error handling
s = scope_override();
{
switch (LA(1)) {
case ID: {
match(ID);
break;
}
case OPERATOR: {
match(OPERATOR);
optor();
break;
}
case TILDE: {
match(TILDE);
{
switch (LA(1)) {
case STAR: {
match(STAR);
break;
}
case ID: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(ID);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_141);
} else {
throw;
}
}
}
void CPPParser::constant() {
try { // for error handling
switch (LA(1)) {
case OCTALINT: {
match(OCTALINT);
break;
}
case DECIMALINT: {
match(DECIMALINT);
break;
}
case HEXADECIMALINT: {
match(HEXADECIMALINT);
break;
}
case CharLiteral: {
match(CharLiteral);
break;
}
case WCharLiteral: {
match(WCharLiteral);
break;
}
case StringLiteral:
case WStringLiteral: {
{ // ( ... )+
int _cnt551 = 0;
for (;;) {
switch (LA(1)) {
case StringLiteral: {
match(StringLiteral);
break;
}
case WStringLiteral: {
match(WStringLiteral);
break;
}
default: {
if (_cnt551 >= 1) {
goto _loop551;
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
_cnt551++;
}
_loop551:;
} // ( ... )+
break;
}
case FLOATONE: {
match(FLOATONE);
break;
}
case FLOATTWO: {
match(FLOATTWO);
break;
}
case LITERAL_true: {
match(LITERAL_true);
break;
}
case LITERAL_false: {
match(LITERAL_false);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_141);
} else {
throw;
}
}
}
void CPPParser::new_type_id() {
try { // for error handling
declaration_specifiers();
{
if ((_tokenSet_142.member(LA(1))) && (_tokenSet_143.member(LA(2)))) {
new_declarator();
} else if ((_tokenSet_144.member(LA(1))) &&
(_tokenSet_57.member(LA(2)))) {
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_144);
} else {
throw;
}
}
}
void CPPParser::new_initializer() {
try { // for error handling
match(LPAREN);
{
switch (LA(1)) {
case ID:
case StringLiteral:
case LPAREN:
case LITERAL_typename:
case LITERAL_char:
case LITERAL_wchar_t:
case LITERAL_bool:
case LITERAL_short:
case LITERAL_int:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case LITERAL_long:
case LITERAL_signed:
case LITERAL_unsigned:
case LITERAL_float:
case LITERAL_double:
case LITERAL_void:
case LITERAL__declspec:
case LITERAL___declspec:
case OPERATOR:
case LITERAL_this:
case LITERAL_true:
case LITERAL_false:
case OCTALINT:
case TILDE:
case STAR:
case AMPERSAND:
case PLUS:
case MINUS:
case PLUSPLUS:
case MINUSMINUS:
case LITERAL_sizeof:
case LITERAL___alignof__:
case SCOPE:
case LITERAL_dynamic_cast:
case LITERAL_static_cast:
case LITERAL_reinterpret_cast:
case LITERAL_const_cast:
case LITERAL_typeid:
case DECIMALINT:
case HEXADECIMALINT:
case CharLiteral:
case WCharLiteral:
case WStringLiteral:
case FLOATONE:
case FLOATTWO:
case NOT:
case LITERAL_new:
case LITERAL_delete: {
expression_list();
break;
}
case RPAREN: {
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
match(RPAREN);
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_129);
} else {
throw;
}
}
}
void CPPParser::new_declarator() {
try { // for error handling
switch (LA(1)) {
case ID:
case LITERAL__stdcall:
case LITERAL___stdcall:
case STAR:
case AMPERSAND:
case SCOPE:
case LITERAL__cdecl:
case LITERAL___cdecl:
case LITERAL__near:
case LITERAL___near:
case LITERAL__far:
case LITERAL___far:
case LITERAL___interrupt:
case LITERAL_pascal:
case LITERAL__pascal:
case LITERAL___pascal: {
ptr_operator();
{
if ((_tokenSet_142.member(LA(1))) && (_tokenSet_143.member(LA(2)))) {
new_declarator();
} else if ((_tokenSet_144.member(LA(1))) &&
(_tokenSet_57.member(LA(2)))) {
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
break;
}
case LSQUARE: {
direct_new_declarator();
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_144);
} else {
throw;
}
}
}
void CPPParser::direct_new_declarator() {
try { // for error handling
{ // ( ... )+
int _cnt570 = 0;
for (;;) {
if ((LA(1) == LSQUARE)) {
match(LSQUARE);
expression();
match(RSQUARE);
} else {
if (_cnt570 >= 1) {
goto _loop570;
} else {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
_cnt570++;
}
_loop570:;
} // ( ... )+
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_144);
} else {
throw;
}
}
}
void CPPParser::ptr_to_member() {
#line 2211 "CPP_parser.g"
char* s;
#line 12715 "CPPParser.cpp"
try { // for error handling
s = scope_override();
match(STAR);
if (inputState->guessing == 0) {
#line 2214 "CPP_parser.g"
is_pointer = true;
#line 12723 "CPPParser.cpp"
}
cv_qualifier_seq();
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_24);
} else {
throw;
}
}
}
void CPPParser::optor_simple_tokclass() {
try { // for error handling
{
switch (LA(1)) {
case PLUS: {
match(PLUS);
break;
}
case MINUS: {
match(MINUS);
break;
}
case STAR: {
match(STAR);
break;
}
case DIVIDE: {
match(DIVIDE);
break;
}
case MOD: {
match(MOD);
break;
}
case BITWISEXOR: {
match(BITWISEXOR);
break;
}
case AMPERSAND: {
match(AMPERSAND);
break;
}
case BITWISEOR: {
match(BITWISEOR);
break;
}
case TILDE: {
match(TILDE);
break;
}
case NOT: {
match(NOT);
break;
}
case SHIFTLEFT: {
match(SHIFTLEFT);
break;
}
case SHIFTRIGHT: {
match(SHIFTRIGHT);
break;
}
case ASSIGNEQUAL: {
match(ASSIGNEQUAL);
break;
}
case TIMESEQUAL: {
match(TIMESEQUAL);
break;
}
case DIVIDEEQUAL: {
match(DIVIDEEQUAL);
break;
}
case MODEQUAL: {
match(MODEQUAL);
break;
}
case PLUSEQUAL: {
match(PLUSEQUAL);
break;
}
case MINUSEQUAL: {
match(MINUSEQUAL);
break;
}
case SHIFTLEFTEQUAL: {
match(SHIFTLEFTEQUAL);
break;
}
case SHIFTRIGHTEQUAL: {
match(SHIFTRIGHTEQUAL);
break;
}
case BITWISEANDEQUAL: {
match(BITWISEANDEQUAL);
break;
}
case BITWISEXOREQUAL: {
match(BITWISEXOREQUAL);
break;
}
case BITWISEOREQUAL: {
match(BITWISEOREQUAL);
break;
}
case EQUAL: {
match(EQUAL);
break;
}
case NOTEQUAL: {
match(NOTEQUAL);
break;
}
case LESSTHAN: {
match(LESSTHAN);
break;
}
case GREATERTHAN: {
match(GREATERTHAN);
break;
}
case LESSTHANOREQUALTO: {
match(LESSTHANOREQUALTO);
break;
}
case GREATERTHANOREQUALTO: {
match(GREATERTHANOREQUALTO);
break;
}
case OR: {
match(OR);
break;
}
case AND: {
match(AND);
break;
}
case PLUSPLUS: {
match(PLUSPLUS);
break;
}
case MINUSMINUS: {
match(MINUSMINUS);
break;
}
case COMMA: {
match(COMMA);
break;
}
case POINTERTO: {
match(POINTERTO);
break;
}
case POINTERTOMBR: {
match(POINTERTOMBR);
break;
}
default: {
throw ANTLR_USE_NAMESPACE(antlr)
NoViableAltException(LT(1), getFilename());
}
}
}
} catch (ANTLR_USE_NAMESPACE(antlr) RecognitionException& ex) {
if (inputState->guessing == 0) {
reportError(ex);
recover(ex, _tokenSet_64);
} else {
throw;
}
}
}
void CPPParser::initializeASTFactory(ANTLR_USE_NAMESPACE(antlr) ASTFactory&) {}
const char* CPPParser::tokenNames[] = {"<0>",
"EOF",
"<2>",
"NULL_TREE_LOOKAHEAD",
"\"template\"",
"LESSTHAN",
"GREATERTHAN",
"\"typedef\"",
"SEMICOLON",
"\"enum\"",
"ID",
"LCURLY",
"\"inline\"",
"\"friend\"",
"\"namespace\"",
"\"antlrTrace_on\"",
"\"antlrTrace_off\"",
"RCURLY",
"ASSIGNEQUAL",
"COLON",
"\"extern\"",
"StringLiteral",
"\"struct\"",
"\"union\"",
"\"class\"",
"\"_stdcall\"",
"\"__stdcall\"",
"\"GFEXCLUDE\"",
"\"GFINCLUDE\"",
"\"GFID\"",
"\"GFUNREAD\"",
"\"GFARRAYSIZE\"",
"LPAREN",
"RPAREN",
"\"GFARRAYSIZES\"",
"\"GFARRAYELEMSIZE\"",
"\"auto\"",
"\"register\"",
"\"static\"",
"\"mutable\"",
"\"_inline\"",
"\"__inline\"",
"\"virtual\"",
"\"explicit\"",
"\"typename\"",
"\"char\"",
"\"wchar_t\"",
"\"bool\"",
"\"short\"",
"\"int\"",
"\"_int8\"",
"\"__int8\"",
"\"int8_t\"",
"\"_int16\"",
"\"__int16\"",
"\"int16_t\"",
"\"_int32\"",
"\"__int32\"",
"\"int32_t\"",
"\"_int64\"",
"\"__int64\"",
"\"int64_t\"",
"\"uint8_t\"",
"\"uint16_t\"",
"\"uint32_t\"",
"\"uint64_t\"",
"\"_w64\"",
"\"__w64\"",
"\"long\"",
"\"signed\"",
"\"unsigned\"",
"\"float\"",
"\"double\"",
"\"void\"",
"\"_declspec\"",
"\"__declspec\"",
"\"const\"",
"\"__const\"",
"\"volatile\"",
"\"__volatile__\"",
"\"GFIGNORE\"",
"COMMA",
"\"public\"",
"\"protected\"",
"\"private\"",
"\"operator\"",
"\"this\"",
"\"true\"",
"\"false\"",
"OCTALINT",
"LSQUARE",
"RSQUARE",
"TILDE",
"STAR",
"AMPERSAND",
"ELLIPSIS",
"\"throw\"",
"\"using\"",
"\"case\"",
"\"default\"",
"\"if\"",
"\"else\"",
"\"switch\"",
"\"while\"",
"\"do\"",
"\"for\"",
"\"goto\"",
"\"continue\"",
"\"break\"",
"\"return\"",
"\"try\"",
"\"catch\"",
"\"asm\"",
"\"_asm\"",
"\"__asm\"",
"\"__asm__\"",
"TIMESEQUAL",
"DIVIDEEQUAL",
"MINUSEQUAL",
"PLUSEQUAL",
"MODEQUAL",
"SHIFTLEFTEQUAL",
"SHIFTRIGHTEQUAL",
"BITWISEANDEQUAL",
"BITWISEXOREQUAL",
"BITWISEOREQUAL",
"QUESTIONMARK",
"OR",
"AND",
"BITWISEOR",
"BITWISEXOR",
"NOTEQUAL",
"EQUAL",
"LESSTHANOREQUALTO",
"GREATERTHANOREQUALTO",
"SHIFTLEFT",
"SHIFTRIGHT",
"PLUS",
"MINUS",
"DIVIDE",
"MOD",
"DOTMBR",
"POINTERTOMBR",
"PLUSPLUS",
"MINUSMINUS",
"\"sizeof\"",
"\"__alignof__\"",
"SCOPE",
"DOT",
"POINTERTO",
"\"dynamic_cast\"",
"\"static_cast\"",
"\"reinterpret_cast\"",
"\"const_cast\"",
"\"typeid\"",
"DECIMALINT",
"HEXADECIMALINT",
"CharLiteral",
"WCharLiteral",
"WStringLiteral",
"FLOATONE",
"FLOATTWO",
"NOT",
"\"new\"",
"\"_cdecl\"",
"\"__cdecl\"",
"\"_near\"",
"\"__near\"",
"\"_far\"",
"\"__far\"",
"\"__interrupt\"",
"\"pascal\"",
"\"_pascal\"",
"\"__pascal\"",
"\"delete\"",
"Whitespace",
"Comment",
"CPPComment",
"a preprocessor directive",
"LineDirective",
"Space",
"Pragma",
"Error",
"EndOfLine",
"Escape",
"Digit",
"Decimal",
"LongSuffix",
"UnsignedSuffix",
"FloatSuffix",
"Exponent",
"Vocabulary",
"Number",
0};
const unsigned long CPPParser::_tokenSet_0_data_[] = {
4291950480UL, 4294967293UL, 1910571007UL, 2UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "template" "typedef" SEMICOLON "enum" ID "inline" "friend" "namespace"
// "antlrTrace_on" "antlrTrace_off" "extern" "struct" "union" "class" "_stdcall"
// "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE"
// LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static" "mutable"
// "_inline" "__inline" "virtual" "explicit" "typename" "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" "operator" "this" "true" "false" TILDE STAR AMPERSAND
// "using" SCOPE "_cdecl" "__cdecl" "_near" "__near" "_far" "__far"
// "__interrupt"
// "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_0(
_tokenSet_0_data_, 12);
const unsigned long CPPParser::_tokenSet_1_data_[] = {2UL, 0UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// EOF
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_1(
_tokenSet_1_data_, 8);
const unsigned long CPPParser::_tokenSet_2_data_[] = {
4291835520UL, 4294967292UL, 65535UL, 2UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "typedef" "enum" ID "inline" "friend" "extern" "struct" "union" "class"
// "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD"
// "GFARRAYSIZE"
// "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static" "mutable"
// "_inline" "__inline" "virtual" "explicit" "typename" "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" "using" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_2(
_tokenSet_2_data_, 12);
const unsigned long CPPParser::_tokenSet_3_data_[] = {
4293949344UL, 4294967293UL, 1910571007UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN "typedef" SEMICOLON "enum" ID "inline" "friend" "namespace"
// "extern" StringLiteral "struct" "union" "class" "_stdcall" "__stdcall"
// "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES"
// "GFARRAYELEMSIZE" "auto" "register" "static" "mutable" "_inline" "__inline"
// "virtual" "explicit" "typename" "char" "wchar_t" "bool" "short" "int"
// "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32"
// "int32_t" "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t"
// "uint64_t" "_w64" "__w64" "long" "signed" "unsigned" "float" "double"
// "void" "_declspec" "__declspec" "const" "__const" "volatile" "__volatile__"
// "operator" "this" "true" "false" TILDE STAR AMPERSAND SCOPE "_cdecl"
// "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal" "_pascal"
// "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_3(
_tokenSet_3_data_, 12);
const unsigned long CPPParser::_tokenSet_4_data_[] = {4096UL, 3840UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// "inline" "_inline" "__inline" "virtual" "explicit"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_4(
_tokenSet_4_data_, 8);
const unsigned long CPPParser::_tokenSet_5_data_[] = {
3072UL, 0UL, 31457280UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID LCURLY "operator" "this" "true" "false" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_5(
_tokenSet_5_data_, 12);
const unsigned long CPPParser::_tokenSet_6_data_[] = {
5136UL, 1792UL, 268435456UL, 0UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "template" ID "inline" "_inline" "__inline" "virtual" TILDE SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_6(
_tokenSet_6_data_, 12);
const unsigned long CPPParser::_tokenSet_7_data_[] = {
5152UL, 1792UL, 268435456UL, 0UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN ID "inline" "_inline" "__inline" "virtual" TILDE SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_7(
_tokenSet_7_data_, 12);
const unsigned long CPPParser::_tokenSet_8_data_[] = {
5120UL, 2816UL, 0UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID "inline" "_inline" "__inline" "explicit" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_8(
_tokenSet_8_data_, 12);
const unsigned long CPPParser::_tokenSet_9_data_[] = {
5152UL, 2817UL, 0UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN ID "inline" LPAREN "_inline" "__inline" "explicit" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_9(
_tokenSet_9_data_, 12);
const unsigned long CPPParser::_tokenSet_10_data_[] = {
5120UL, 0UL, 2097152UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID "inline" "operator" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_10(
_tokenSet_10_data_, 12);
const unsigned long CPPParser::_tokenSet_11_data_[] = {
4291835552UL, 4294967292UL, 2162687UL, 0UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN "typedef" "enum" ID "inline" "friend" "extern" "struct" "union"
// "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD"
// "GFARRAYSIZE" "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static"
// "mutable" "_inline" "__inline" "virtual" "explicit" "typename" "char"
// "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16"
// "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t"
// "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed"
// "unsigned" "float" "double" "void" "_declspec" "__declspec" "const"
// "__const" "volatile" "__volatile__" "operator" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_11(
_tokenSet_11_data_, 12);
const unsigned long CPPParser::_tokenSet_12_data_[] = {
4291835520UL, 4294967292UL, 65535UL, 0UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "typedef" "enum" ID "inline" "friend" "extern" "struct" "union" "class"
// "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD"
// "GFARRAYSIZE"
// "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static" "mutable"
// "_inline" "__inline" "virtual" "explicit" "typename" "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_12(
_tokenSet_12_data_, 12);
const unsigned long CPPParser::_tokenSet_13_data_[] = {
4291835552UL, 4294967293UL, 1642135551UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN "typedef" "enum" ID "inline" "friend" "extern" "struct" "union"
// "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD"
// "GFARRAYSIZE" LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register"
// "static" "mutable" "_inline" "__inline" "virtual" "explicit" "typename"
// "char" "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16"
// "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64"
// "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64"
// "long" "signed" "unsigned" "float" "double" "void" "_declspec" "__declspec"
// "const" "__const" "volatile" "__volatile__" "operator" "this" "true"
// "false" STAR AMPERSAND SCOPE "_cdecl" "__cdecl" "_near" "__near" "_far"
// "__far" "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_13(
_tokenSet_13_data_, 12);
const unsigned long CPPParser::_tokenSet_14_data_[] = {
4291835520UL, 4294967293UL, 1642135551UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "typedef" "enum" ID "inline" "friend" "extern" "struct" "union" "class"
// "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD"
// "GFARRAYSIZE"
// LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static" "mutable"
// "_inline" "__inline" "virtual" "explicit" "typename" "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" "operator" "this" "true" "false" STAR AMPERSAND SCOPE
// "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal"
// "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_14(
_tokenSet_14_data_, 12);
const unsigned long CPPParser::_tokenSet_15_data_[] = {
4292097760UL, 4294967293UL, 1977810943UL, 3220176896UL, 2744319UL, 32764UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN "typedef" "enum" ID "inline" "friend" ASSIGNEQUAL
// "extern" "struct" "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE"
// "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES"
// "GFARRAYELEMSIZE"
// "auto" "register" "static" "mutable" "_inline" "__inline" "virtual"
// "explicit" "typename" "char" "wchar_t" "bool" "short" "int" "_int8"
// "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t"
// "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t"
// "_w64" "__w64" "long" "signed" "unsigned" "float" "double" "void" "_declspec"
// "__declspec" "const" "__const" "volatile" "__volatile__" COMMA "operator"
// "this" "true" "false" LSQUARE TILDE STAR AMPERSAND TIMESEQUAL DIVIDEEQUAL
// MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL BITWISEOREQUAL OR AND BITWISEOR BITWISEXOR NOTEQUAL
// EQUAL LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS
// MINUS DIVIDE MOD POINTERTOMBR PLUSPLUS MINUSMINUS SCOPE POINTERTO NOT
// "new" "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt"
// "pascal" "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_15(
_tokenSet_15_data_, 12);
const unsigned long CPPParser::_tokenSet_16_data_[] = {
29372416UL, 3840UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "inline" "friend" "struct" "union" "class" "_inline" "__inline" "virtual"
// "explicit"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_16(
_tokenSet_16_data_, 8);
const unsigned long CPPParser::_tokenSet_17_data_[] = {
29367296UL, 3840UL, 31525888UL, 0UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID LCURLY "inline" "struct" "union" "class" "_inline" "__inline" "virtual"
// "explicit" "_declspec" "__declspec" "GFIGNORE" "operator" "this" "true"
// "false" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_17(
_tokenSet_17_data_, 12);
const unsigned long CPPParser::_tokenSet_18_data_[] = {
4291835808UL, 4294967293UL, 1910571007UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN "typedef" SEMICOLON "enum" ID "inline" "friend" "extern" "struct"
// "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID"
// "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto"
// "register" "static" "mutable" "_inline" "__inline" "virtual" "explicit"
// "typename" "char" "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t"
// "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64"
// "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64"
// "long" "signed" "unsigned" "float" "double" "void" "_declspec" "__declspec"
// "const" "__const" "volatile" "__volatile__" "operator" "this" "true"
// "false" TILDE STAR AMPERSAND SCOPE "_cdecl" "__cdecl" "_near" "__near"
// "_far" "__far" "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_18(
_tokenSet_18_data_, 12);
const unsigned long CPPParser::_tokenSet_19_data_[] = {
4292081554UL, 4294967293UL, 1910571007UL, 2UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// EOF "template" "typedef" SEMICOLON "enum" ID "inline" "friend" "namespace"
// "antlrTrace_on" "antlrTrace_off" RCURLY "extern" "struct" "union" "class"
// "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD"
// "GFARRAYSIZE"
// LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static" "mutable"
// "_inline" "__inline" "virtual" "explicit" "typename" "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" "operator" "this" "true" "false" TILDE STAR AMPERSAND
// "using" SCOPE "_cdecl" "__cdecl" "_near" "__near" "_far" "__far"
// "__interrupt"
// "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_19(
_tokenSet_19_data_, 12);
const unsigned long CPPParser::_tokenSet_20_data_[] = {
4291934096UL, 4294967293UL, 1912406015UL, 2UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "template" "typedef" SEMICOLON "enum" ID "inline" "friend" "antlrTrace_on"
// "antlrTrace_off" "extern" "struct" "union" "class" "_stdcall" "__stdcall"
// "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES"
// "GFARRAYELEMSIZE" "auto" "register" "static" "mutable" "_inline" "__inline"
// "virtual" "explicit" "typename" "char" "wchar_t" "bool" "short" "int"
// "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32"
// "int32_t" "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t"
// "uint64_t" "_w64" "__w64" "long" "signed" "unsigned" "float" "double"
// "void" "_declspec" "__declspec" "const" "__const" "volatile" "__volatile__"
// "public" "protected" "private" "operator" "this" "true" "false" TILDE
// STAR AMPERSAND "using" SCOPE "_cdecl" "__cdecl" "_near" "__near" "_far"
// "__far" "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_20(
_tokenSet_20_data_, 12);
const unsigned long CPPParser::_tokenSet_21_data_[] = {
100664576UL, 1UL, 1910505472UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// SEMICOLON ID "_stdcall" "__stdcall" LPAREN "operator" "this" "true"
// "false" TILDE STAR AMPERSAND SCOPE "_cdecl" "__cdecl" "_near" "__near"
// "_far" "__far" "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_21(
_tokenSet_21_data_, 12);
const unsigned long CPPParser::_tokenSet_22_data_[] = {256UL, 0UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// SEMICOLON
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_22(
_tokenSet_22_data_, 8);
const unsigned long CPPParser::_tokenSet_23_data_[] = {
101188864UL, 1UL, 1910505472UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// SEMICOLON ID COLON "_stdcall" "__stdcall" LPAREN "operator" "this" "true"
// "false" TILDE STAR AMPERSAND SCOPE "_cdecl" "__cdecl" "_near" "__near"
// "_far" "__far" "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_23(
_tokenSet_23_data_, 12);
const unsigned long CPPParser::_tokenSet_24_data_[] = {
101582176UL, 3UL, 4259446784UL, 4293918720UL, 557055UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON ID RCURLY ASSIGNEQUAL COLON "_stdcall"
// "__stdcall" LPAREN RPAREN COMMA "operator" "this" "true" "false" LSQUARE
// RSQUARE TILDE STAR AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL
// PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL
// BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL
// LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS
// DIVIDE MOD DOTMBR POINTERTOMBR SCOPE "_cdecl" "__cdecl" "_near" "__near"
// "_far" "__far" "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_24(
_tokenSet_24_data_, 12);
const unsigned long CPPParser::_tokenSet_25_data_[] = {
100664320UL, 0UL, 1610612736UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID "_stdcall" "__stdcall" STAR AMPERSAND SCOPE "_cdecl" "__cdecl" "_near"
// "__near" "_far" "__far" "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_25(
_tokenSet_25_data_, 12);
const unsigned long CPPParser::_tokenSet_26_data_[] = {
100664352UL, 1UL, 1642131456UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN ID "_stdcall" "__stdcall" LPAREN "const" "__const" "volatile"
// "__volatile__" "operator" "this" "true" "false" STAR AMPERSAND SCOPE
// "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal"
// "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_26(
_tokenSet_26_data_, 12);
const unsigned long CPPParser::_tokenSet_27_data_[] = {
1024UL, 1UL, 31457280UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID LPAREN "operator" "this" "true" "false" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_27(
_tokenSet_27_data_, 12);
const unsigned long CPPParser::_tokenSet_28_data_[] = {
263264UL, 1UL, 1977745408UL, 3220176896UL, 2744319UL, 16396UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN ID ASSIGNEQUAL LPAREN COMMA "operator" "this" "true"
// "false" LSQUARE TILDE STAR AMPERSAND TIMESEQUAL DIVIDEEQUAL MINUSEQUAL
// PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL
// BITWISEOREQUAL OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL LESSTHANOREQUALTO
// GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS DIVIDE MOD POINTERTOMBR
// PLUSPLUS MINUSMINUS SCOPE POINTERTO NOT "new" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_28(
_tokenSet_28_data_, 12);
const unsigned long CPPParser::_tokenSet_29_data_[] = {
4291837824UL, 4294967292UL, 65535UL, 2UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "typedef" SEMICOLON "enum" ID LCURLY "inline" "friend" "extern" "struct"
// "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID"
// "GFUNREAD" "GFARRAYSIZE" "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register"
// "static" "mutable" "_inline" "__inline" "virtual" "explicit" "typename"
// "char" "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16"
// "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64"
// "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64"
// "long" "signed" "unsigned" "float" "double" "void" "_declspec" "__declspec"
// "const" "__const" "volatile" "__volatile__" "using" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_29(
_tokenSet_29_data_, 12);
const unsigned long CPPParser::_tokenSet_30_data_[] = {
4294180754UL, 4294967293UL, 1945960447UL, 1015807UL, 4291790336UL, 32767UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// EOF "template" "typedef" SEMICOLON "enum" ID LCURLY "inline" "friend"
// "namespace" "antlrTrace_on" "antlrTrace_off" RCURLY "extern" StringLiteral
// "struct" "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE"
// "GFID" "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE"
// "auto" "register" "static" "mutable" "_inline" "__inline" "virtual"
// "explicit" "typename" "char" "wchar_t" "bool" "short" "int" "_int8"
// "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t"
// "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t"
// "_w64" "__w64" "long" "signed" "unsigned" "float" "double" "void" "_declspec"
// "__declspec" "const" "__const" "volatile" "__volatile__" "public" "protected"
// "private" "operator" "this" "true" "false" OCTALINT TILDE STAR AMPERSAND
// "throw" "using" "case" "default" "if" "else" "switch" "while" "do" "for"
// "goto" "continue" "break" "return" "try" "asm" "_asm" "__asm" "__asm__"
// PLUS MINUS PLUSPLUS MINUSMINUS "sizeof" "__alignof__" SCOPE "dynamic_cast"
// "static_cast" "reinterpret_cast" "const_cast" "typeid" DECIMALINT
// HEXADECIMALINT
// CharLiteral WCharLiteral WStringLiteral FLOATONE FLOATTWO NOT "new"
// "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal"
// "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_30(
_tokenSet_30_data_, 12);
const unsigned long CPPParser::_tokenSet_31_data_[] = {
4291835520UL, 4294967293UL, 1910571007UL, 2UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "typedef" "enum" ID "inline" "friend" "extern" "struct" "union" "class"
// "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD"
// "GFARRAYSIZE"
// LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static" "mutable"
// "_inline" "__inline" "virtual" "explicit" "typename" "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" "operator" "this" "true" "false" TILDE STAR AMPERSAND
// "using" SCOPE "_cdecl" "__cdecl" "_near" "__near" "_far" "__far"
// "__interrupt"
// "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_31(
_tokenSet_31_data_, 12);
const unsigned long CPPParser::_tokenSet_32_data_[] = {2304UL, 0UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// SEMICOLON LCURLY
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_32(
_tokenSet_32_data_, 8);
const unsigned long CPPParser::_tokenSet_33_data_[] = {
1024UL, 0UL, 0UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_33(
_tokenSet_33_data_, 12);
const unsigned long CPPParser::_tokenSet_34_data_[] = {
1024UL, 0UL, 836763648UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID "operator" "this" "true" "false" TILDE STAR
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_34(
_tokenSet_34_data_, 8);
const unsigned long CPPParser::_tokenSet_35_data_[] = {
4291837568UL, 4294967292UL, 65535UL, 2UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "typedef" "enum" ID LCURLY "inline" "friend" "extern" "struct" "union"
// "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD"
// "GFARRAYSIZE" "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static"
// "mutable" "_inline" "__inline" "virtual" "explicit" "typename" "char"
// "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16"
// "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t"
// "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed"
// "unsigned" "float" "double" "void" "_declspec" "__declspec" "const"
// "__const" "volatile" "__volatile__" "using" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_35(
_tokenSet_35_data_, 12);
const unsigned long CPPParser::_tokenSet_36_data_[] = {
4294180784UL, 4294967293UL, 1945960447UL, 1015775UL, 4291790336UL, 32767UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "template" LESSTHAN "typedef" SEMICOLON "enum" ID LCURLY "inline" "friend"
// "namespace" "antlrTrace_on" "antlrTrace_off" RCURLY "extern" StringLiteral
// "struct" "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE"
// "GFID" "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE"
// "auto" "register" "static" "mutable" "_inline" "__inline" "virtual"
// "explicit" "typename" "char" "wchar_t" "bool" "short" "int" "_int8"
// "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t"
// "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t"
// "_w64" "__w64" "long" "signed" "unsigned" "float" "double" "void" "_declspec"
// "__declspec" "const" "__const" "volatile" "__volatile__" "public" "protected"
// "private" "operator" "this" "true" "false" OCTALINT TILDE STAR AMPERSAND
// "throw" "using" "case" "default" "if" "switch" "while" "do" "for" "goto"
// "continue" "break" "return" "try" "asm" "_asm" "__asm" "__asm__" PLUS
// MINUS PLUSPLUS MINUSMINUS "sizeof" "__alignof__" SCOPE "dynamic_cast"
// "static_cast" "reinterpret_cast" "const_cast" "typeid" DECIMALINT
// HEXADECIMALINT
// CharLiteral WCharLiteral WStringLiteral FLOATONE FLOATTWO NOT "new"
// "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal"
// "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_36(
_tokenSet_36_data_, 12);
const unsigned long CPPParser::_tokenSet_37_data_[] = {
4294180752UL, 4294967293UL, 1945960447UL, 1015775UL, 4291790336UL, 32767UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "template" "typedef" SEMICOLON "enum" ID LCURLY "inline" "friend" "namespace"
// "antlrTrace_on" "antlrTrace_off" RCURLY "extern" StringLiteral "struct"
// "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID"
// "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto"
// "register" "static" "mutable" "_inline" "__inline" "virtual" "explicit"
// "typename" "char" "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t"
// "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64"
// "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64"
// "long" "signed" "unsigned" "float" "double" "void" "_declspec" "__declspec"
// "const" "__const" "volatile" "__volatile__" "public" "protected" "private"
// "operator" "this" "true" "false" OCTALINT TILDE STAR AMPERSAND "throw"
// "using" "case" "default" "if" "switch" "while" "do" "for" "goto" "continue"
// "break" "return" "try" "asm" "_asm" "__asm" "__asm__" PLUS MINUS PLUSPLUS
// MINUSMINUS "sizeof" "__alignof__" SCOPE "dynamic_cast" "static_cast"
// "reinterpret_cast" "const_cast" "typeid" DECIMALINT HEXADECIMALINT
// CharLiteral
// WCharLiteral WStringLiteral FLOATONE FLOATTWO NOT "new" "_cdecl" "__cdecl"
// "_near" "__near" "_far" "__far" "__interrupt" "pascal" "_pascal" "__pascal"
// "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_37(
_tokenSet_37_data_, 12);
const unsigned long CPPParser::_tokenSet_38_data_[] = {
100664320UL, 1UL, 1642070016UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID "_stdcall" "__stdcall" LPAREN "operator" "this" "true" "false" STAR
// AMPERSAND SCOPE "_cdecl" "__cdecl" "_near" "__near" "_far" "__far"
// "__interrupt"
// "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_38(
_tokenSet_38_data_, 12);
const unsigned long CPPParser::_tokenSet_39_data_[] = {
100926560UL, 1UL, 1977806848UL, 3220176896UL, 2744319UL, 32764UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN ID ASSIGNEQUAL "_stdcall" "__stdcall" LPAREN "const"
// "__const" "volatile" "__volatile__" COMMA "operator" "this" "true" "false"
// LSQUARE TILDE STAR AMPERSAND TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL
// MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL
// BITWISEOREQUAL OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL LESSTHANOREQUALTO
// GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS DIVIDE MOD POINTERTOMBR
// PLUSPLUS MINUSMINUS SCOPE POINTERTO NOT "new" "_cdecl" "__cdecl" "_near"
// "__near" "_far" "__far" "__interrupt" "pascal" "_pascal" "__pascal"
// "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_39(
_tokenSet_39_data_, 12);
const unsigned long CPPParser::_tokenSet_40_data_[] = {
4294180752UL, 4294967293UL, 1945960447UL, 1015807UL, 4291790336UL, 32767UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "template" "typedef" SEMICOLON "enum" ID LCURLY "inline" "friend" "namespace"
// "antlrTrace_on" "antlrTrace_off" RCURLY "extern" StringLiteral "struct"
// "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID"
// "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto"
// "register" "static" "mutable" "_inline" "__inline" "virtual" "explicit"
// "typename" "char" "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t"
// "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64"
// "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64"
// "long" "signed" "unsigned" "float" "double" "void" "_declspec" "__declspec"
// "const" "__const" "volatile" "__volatile__" "public" "protected" "private"
// "operator" "this" "true" "false" OCTALINT TILDE STAR AMPERSAND "throw"
// "using" "case" "default" "if" "else" "switch" "while" "do" "for" "goto"
// "continue" "break" "return" "try" "asm" "_asm" "__asm" "__asm__" PLUS
// MINUS PLUSPLUS MINUSMINUS "sizeof" "__alignof__" SCOPE "dynamic_cast"
// "static_cast" "reinterpret_cast" "const_cast" "typeid" DECIMALINT
// HEXADECIMALINT
// CharLiteral WCharLiteral WStringLiteral FLOATONE FLOATTWO NOT "new"
// "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal"
// "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_40(
_tokenSet_40_data_, 12);
const unsigned long CPPParser::_tokenSet_41_data_[] = {
101453120UL, 3UL, 4125229056UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN SEMICOLON ID LCURLY ASSIGNEQUAL COLON "_stdcall" "__stdcall"
// LPAREN RPAREN COMMA "operator" "this" "true" "false" LSQUARE TILDE STAR
// AMPERSAND ELLIPSIS SCOPE "_cdecl" "__cdecl" "_near" "__near" "_far"
// "__far" "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_41(
_tokenSet_41_data_, 12);
const unsigned long CPPParser::_tokenSet_42_data_[] = {
5120UL, 1792UL, 268435456UL, 0UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID "inline" "_inline" "__inline" "virtual" TILDE SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_42(
_tokenSet_42_data_, 12);
const unsigned long CPPParser::_tokenSet_43_data_[] = {
4291835520UL, 4294967292UL, 2162687UL, 0UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "typedef" "enum" ID "inline" "friend" "extern" "struct" "union" "class"
// "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD"
// "GFARRAYSIZE"
// "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static" "mutable"
// "_inline" "__inline" "virtual" "explicit" "typename" "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" "operator" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_43(
_tokenSet_43_data_, 12);
const unsigned long CPPParser::_tokenSet_44_data_[] = {
1024UL, 0UL, 31457280UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID "operator" "this" "true" "false" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_44(
_tokenSet_44_data_, 12);
const unsigned long CPPParser::_tokenSet_45_data_[] = {
263520UL, 1UL, 1977745408UL, 3220176896UL, 2744319UL, 16396UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON ID ASSIGNEQUAL LPAREN COMMA "operator"
// "this" "true" "false" LSQUARE TILDE STAR AMPERSAND TIMESEQUAL DIVIDEEQUAL
// MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL BITWISEOREQUAL OR AND BITWISEOR BITWISEXOR NOTEQUAL
// EQUAL LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS
// MINUS DIVIDE MOD POINTERTOMBR PLUSPLUS MINUSMINUS SCOPE POINTERTO NOT
// "new" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_45(
_tokenSet_45_data_, 12);
const unsigned long CPPParser::_tokenSet_46_data_[] = {
100668416UL, 3841UL, 1642070016UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID "inline" "_stdcall" "__stdcall" LPAREN "_inline" "__inline" "virtual"
// "explicit" "operator" "this" "true" "false" STAR AMPERSAND SCOPE "_cdecl"
// "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal" "_pascal"
// "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_46(
_tokenSet_46_data_, 12);
const unsigned long CPPParser::_tokenSet_47_data_[] = {
100930656UL, 3841UL, 1977806848UL, 3220176896UL, 2744319UL, 32764UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN ID "inline" ASSIGNEQUAL "_stdcall" "__stdcall"
// LPAREN "_inline" "__inline" "virtual" "explicit" "const" "__const" "volatile"
// "__volatile__" COMMA "operator" "this" "true" "false" LSQUARE TILDE
// STAR AMPERSAND TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL
// SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL
// OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL LESSTHANOREQUALTO
// GREATERTHANOREQUALTO
// SHIFTLEFT SHIFTRIGHT PLUS MINUS DIVIDE MOD POINTERTOMBR PLUSPLUS MINUSMINUS
// SCOPE POINTERTO NOT "new" "_cdecl" "__cdecl" "_near" "__near" "_far"
// "__far" "__interrupt" "pascal" "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_47(
_tokenSet_47_data_, 12);
const unsigned long CPPParser::_tokenSet_48_data_[] = {526592UL, 0UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// SEMICOLON LCURLY COLON
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_48(
_tokenSet_48_data_, 8);
const unsigned long CPPParser::_tokenSet_49_data_[] = {
4294049680UL, 4294967293UL, 1945960447UL, 1015775UL, 4291790336UL, 32767UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "template" "typedef" SEMICOLON "enum" ID LCURLY "inline" "friend" "namespace"
// "antlrTrace_on" "antlrTrace_off" "extern" StringLiteral "struct" "union"
// "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD"
// "GFARRAYSIZE" LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register"
// "static" "mutable" "_inline" "__inline" "virtual" "explicit" "typename"
// "char" "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16"
// "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64"
// "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64"
// "long" "signed" "unsigned" "float" "double" "void" "_declspec" "__declspec"
// "const" "__const" "volatile" "__volatile__" "public" "protected" "private"
// "operator" "this" "true" "false" OCTALINT TILDE STAR AMPERSAND "throw"
// "using" "case" "default" "if" "switch" "while" "do" "for" "goto" "continue"
// "break" "return" "try" "asm" "_asm" "__asm" "__asm__" PLUS MINUS PLUSPLUS
// MINUSMINUS "sizeof" "__alignof__" SCOPE "dynamic_cast" "static_cast"
// "reinterpret_cast" "const_cast" "typeid" DECIMALINT HEXADECIMALINT
// CharLiteral
// WCharLiteral WStringLiteral FLOATONE FLOATTWO NOT "new" "_cdecl" "__cdecl"
// "_near" "__near" "_far" "__far" "__interrupt" "pascal" "_pascal" "__pascal"
// "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_49(
_tokenSet_49_data_, 12);
const unsigned long CPPParser::_tokenSet_50_data_[] = {
4294180754UL, 4294967293UL, 1945960447UL, 1048575UL, 4291790336UL, 32767UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// EOF "template" "typedef" SEMICOLON "enum" ID LCURLY "inline" "friend"
// "namespace" "antlrTrace_on" "antlrTrace_off" RCURLY "extern" StringLiteral
// "struct" "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE"
// "GFID" "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE"
// "auto" "register" "static" "mutable" "_inline" "__inline" "virtual"
// "explicit" "typename" "char" "wchar_t" "bool" "short" "int" "_int8"
// "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t"
// "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t"
// "_w64" "__w64" "long" "signed" "unsigned" "float" "double" "void" "_declspec"
// "__declspec" "const" "__const" "volatile" "__volatile__" "public" "protected"
// "private" "operator" "this" "true" "false" OCTALINT TILDE STAR AMPERSAND
// "throw" "using" "case" "default" "if" "else" "switch" "while" "do" "for"
// "goto" "continue" "break" "return" "try" "catch" "asm" "_asm" "__asm"
// "__asm__" PLUS MINUS PLUSPLUS MINUSMINUS "sizeof" "__alignof__" SCOPE
// "dynamic_cast" "static_cast" "reinterpret_cast" "const_cast" "typeid"
// DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral WStringLiteral FLOATONE
// FLOATTWO NOT "new" "_cdecl" "__cdecl" "_near" "__near" "_far" "__far"
// "__interrupt" "pascal" "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_50(
_tokenSet_50_data_, 12);
const unsigned long CPPParser::_tokenSet_51_data_[] = {
525312UL, 1024UL, 0UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID COLON "virtual" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_51(
_tokenSet_51_data_, 12);
const unsigned long CPPParser::_tokenSet_52_data_[] = {64UL, 0UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// GREATERTHAN
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_52(
_tokenSet_52_data_, 8);
const unsigned long CPPParser::_tokenSet_53_data_[] = {2048UL, 0UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// LCURLY
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_53(
_tokenSet_53_data_, 8);
const unsigned long CPPParser::_tokenSet_54_data_[] = {
4292755424UL, 4294967295UL, 4259512319UL, 4293918723UL, 557055UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN "typedef" SEMICOLON "enum" ID LCURLY "inline" "friend"
// RCURLY ASSIGNEQUAL COLON "extern" "struct" "union" "class" "_stdcall"
// "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE"
// LPAREN RPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static"
// "mutable" "_inline" "__inline" "virtual" "explicit" "typename" "char"
// "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16"
// "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t"
// "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed"
// "unsigned" "float" "double" "void" "_declspec" "__declspec" "const"
// "__const" "volatile" "__volatile__" COMMA "operator" "this" "true" "false"
// LSQUARE RSQUARE TILDE STAR AMPERSAND ELLIPSIS "throw" "using" TIMESEQUAL
// DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL
// BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR
// BITWISEXOR NOTEQUAL EQUAL LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT
// SHIFTRIGHT PLUS MINUS DIVIDE MOD DOTMBR POINTERTOMBR SCOPE "_cdecl"
// "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal" "_pascal"
// "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_54(
_tokenSet_54_data_, 12);
const unsigned long CPPParser::_tokenSet_55_data_[] = {
4293932672UL, 4294967293UL, 1944125439UL, 0UL, 4291790336UL, 16399UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "typedef" "enum" ID "inline" "friend" "extern" StringLiteral "struct"
// "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID"
// "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto"
// "register" "static" "mutable" "_inline" "__inline" "virtual" "explicit"
// "typename" "char" "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t"
// "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64"
// "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64"
// "long" "signed" "unsigned" "float" "double" "void" "_declspec" "__declspec"
// "const" "__const" "volatile" "__volatile__" "operator" "this" "true"
// "false" OCTALINT TILDE STAR AMPERSAND PLUS MINUS PLUSPLUS MINUSMINUS
// "sizeof" "__alignof__" SCOPE "dynamic_cast" "static_cast" "reinterpret_cast"
// "const_cast" "typeid" DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral
// WStringLiteral FLOATONE FLOATTWO NOT "new" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_55(
_tokenSet_55_data_, 12);
const unsigned long CPPParser::_tokenSet_56_data_[] = {
101584224UL, 3UL, 4259446784UL, 4293918720UL, 557055UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON ID LCURLY RCURLY ASSIGNEQUAL COLON "_stdcall"
// "__stdcall" LPAREN RPAREN COMMA "operator" "this" "true" "false" LSQUARE
// RSQUARE TILDE STAR AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL
// PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL
// BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL
// LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS
// DIVIDE MOD DOTMBR POINTERTOMBR SCOPE "_cdecl" "__cdecl" "_near" "__near"
// "_far" "__far" "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_56(
_tokenSet_56_data_, 12);
const unsigned long CPPParser::_tokenSet_57_data_[] = {
4294967282UL, 4294967295UL, 4294967295UL, 4294934527UL,
4294967295UL, 32767UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// EOF "template" LESSTHAN GREATERTHAN "typedef" SEMICOLON "enum" ID LCURLY
// "inline" "friend" "namespace" "antlrTrace_on" "antlrTrace_off" RCURLY
// ASSIGNEQUAL COLON "extern" StringLiteral "struct" "union" "class" "_stdcall"
// "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE"
// LPAREN RPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static"
// "mutable" "_inline" "__inline" "virtual" "explicit" "typename" "char"
// "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16"
// "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t"
// "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed"
// "unsigned" "float" "double" "void" "_declspec" "__declspec" "const"
// "__const" "volatile" "__volatile__" "GFIGNORE" COMMA "public" "protected"
// "private" "operator" "this" "true" "false" OCTALINT LSQUARE RSQUARE
// TILDE STAR AMPERSAND ELLIPSIS "throw" "using" "case" "default" "if"
// "else" "switch" "while" "do" "for" "goto" "continue" "break" "return"
// "try" "asm" "_asm" "__asm" "__asm__" TIMESEQUAL DIVIDEEQUAL MINUSEQUAL
// PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL
// BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL
// LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS
// DIVIDE MOD DOTMBR POINTERTOMBR PLUSPLUS MINUSMINUS "sizeof" "__alignof__"
// SCOPE DOT POINTERTO "dynamic_cast" "static_cast" "reinterpret_cast"
// "const_cast" "typeid" DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral
// WStringLiteral FLOATONE FLOATTWO NOT "new" "_cdecl" "__cdecl" "_near"
// "__near" "_far" "__far" "__interrupt" "pascal" "_pascal" "__pascal"
// "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_57(
_tokenSet_57_data_, 12);
const unsigned long CPPParser::_tokenSet_58_data_[] = {
3072UL, 0UL, 31522816UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID LCURLY "GFIGNORE" "operator" "this" "true" "false" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_58(
_tokenSet_58_data_, 12);
const unsigned long CPPParser::_tokenSet_59_data_[] = {
524544UL, 2UL, 134217728UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// SEMICOLON COLON RPAREN RSQUARE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_59(
_tokenSet_59_data_, 8);
const unsigned long CPPParser::_tokenSet_60_data_[] = {
2048UL, 0UL, 131072UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LCURLY COMMA
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_60(
_tokenSet_60_data_, 8);
const unsigned long CPPParser::_tokenSet_61_data_[] = {131072UL, 0UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// RCURLY
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_61(
_tokenSet_61_data_, 8);
const unsigned long CPPParser::_tokenSet_62_data_[] = {
131072UL, 0UL, 131072UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// RCURLY COMMA
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_62(
_tokenSet_62_data_, 8);
const unsigned long CPPParser::_tokenSet_63_data_[] = {
917760UL, 0UL, 134348800UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// SEMICOLON RCURLY ASSIGNEQUAL COLON COMMA RSQUARE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_63(
_tokenSet_63_data_, 8);
const unsigned long CPPParser::_tokenSet_64_data_[] = {
101584224UL, 3UL, 4259446784UL, 4293918720UL, 3801087UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON ID LCURLY RCURLY ASSIGNEQUAL COLON "_stdcall"
// "__stdcall" LPAREN RPAREN COMMA "operator" "this" "true" "false" LSQUARE
// RSQUARE TILDE STAR AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL
// PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL
// BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL
// LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS
// DIVIDE MOD DOTMBR POINTERTOMBR PLUSPLUS MINUSMINUS SCOPE DOT POINTERTO
// "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal"
// "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_64(
_tokenSet_64_data_, 12);
const unsigned long CPPParser::_tokenSet_65_data_[] = {
256UL, 0UL, 131072UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// SEMICOLON COMMA
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_65(
_tokenSet_65_data_, 8);
const unsigned long CPPParser::_tokenSet_66_data_[] = {
100664352UL, 1UL, 1910566912UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN ID "_stdcall" "__stdcall" LPAREN "const" "__const" "volatile"
// "__volatile__" "operator" "this" "true" "false" TILDE STAR AMPERSAND
// SCOPE "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt"
// "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_66(
_tokenSet_66_data_, 12);
const unsigned long CPPParser::_tokenSet_67_data_[] = {
1024UL, 1UL, 299892736UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID LPAREN "operator" "this" "true" "false" TILDE SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_67(
_tokenSet_67_data_, 12);
const unsigned long CPPParser::_tokenSet_68_data_[] = {
100926816UL, 3UL, 4125229056UL, 3220176896UL, 2744319UL, 32764UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON ID ASSIGNEQUAL "_stdcall" "__stdcall"
// LPAREN RPAREN COMMA "operator" "this" "true" "false" LSQUARE TILDE STAR
// AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL
// SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL
// OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL LESSTHANOREQUALTO
// GREATERTHANOREQUALTO
// SHIFTLEFT SHIFTRIGHT PLUS MINUS DIVIDE MOD POINTERTOMBR PLUSPLUS MINUSMINUS
// SCOPE POINTERTO NOT "new" "_cdecl" "__cdecl" "_near" "__near" "_far"
// "__far" "__interrupt" "pascal" "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_68(
_tokenSet_68_data_, 12);
const unsigned long CPPParser::_tokenSet_69_data_[] = {
262464UL, 3UL, 2147614720UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN SEMICOLON ASSIGNEQUAL LPAREN RPAREN COMMA ELLIPSIS
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_69(
_tokenSet_69_data_, 8);
const unsigned long CPPParser::_tokenSet_70_data_[] = {
131328UL, 0UL, 131072UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// SEMICOLON RCURLY COMMA
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_70(
_tokenSet_70_data_, 8);
const unsigned long CPPParser::_tokenSet_71_data_[] = {0UL, 2UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// RPAREN
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_71(
_tokenSet_71_data_, 8);
const unsigned long CPPParser::_tokenSet_72_data_[] = {
2098176UL, 4294963201UL, 1944063999UL, 0UL, 4291790336UL, 16399UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID StringLiteral LPAREN "typename" "char" "wchar_t" "bool" "short" "int"
// "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32"
// "int32_t" "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t"
// "uint64_t" "_w64" "__w64" "long" "signed" "unsigned" "float" "double"
// "void" "_declspec" "__declspec" "operator" "this" "true" "false" OCTALINT
// TILDE STAR AMPERSAND PLUS MINUS PLUSPLUS MINUSMINUS "sizeof" "__alignof__"
// SCOPE "dynamic_cast" "static_cast" "reinterpret_cast" "const_cast" "typeid"
// DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral WStringLiteral FLOATONE
// FLOATTWO NOT "new" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_72(
_tokenSet_72_data_, 12);
const unsigned long CPPParser::_tokenSet_73_data_[] = {
4294850528UL, 4294967295UL, 4293066751UL, 4293918720UL,
4294967295UL, 16399UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN "typedef" SEMICOLON "enum" ID "inline" "friend"
// RCURLY ASSIGNEQUAL COLON "extern" StringLiteral "struct" "union" "class"
// "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD"
// "GFARRAYSIZE"
// LPAREN RPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static"
// "mutable" "_inline" "__inline" "virtual" "explicit" "typename" "char"
// "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16"
// "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t"
// "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed"
// "unsigned" "float" "double" "void" "_declspec" "__declspec" "const"
// "__const" "volatile" "__volatile__" COMMA "operator" "this" "true" "false"
// OCTALINT LSQUARE RSQUARE TILDE STAR AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL
// MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR
// NOTEQUAL EQUAL LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT
// PLUS MINUS DIVIDE MOD DOTMBR POINTERTOMBR PLUSPLUS MINUSMINUS "sizeof"
// "__alignof__" SCOPE DOT POINTERTO "dynamic_cast" "static_cast"
// "reinterpret_cast"
// "const_cast" "typeid" DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral
// WStringLiteral FLOATONE FLOATTWO NOT "new" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_73(
_tokenSet_73_data_, 12);
const unsigned long CPPParser::_tokenSet_74_data_[] = {
655680UL, 2UL, 2281832448UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN SEMICOLON RCURLY COLON RPAREN COMMA RSQUARE ELLIPSIS
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_74(
_tokenSet_74_data_, 8);
const unsigned long CPPParser::_tokenSet_75_data_[] = {
2622464UL, 4294963201UL, 1944063999UL, 0UL, 4291790336UL, 16399UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID COLON StringLiteral LPAREN "typename" "char" "wchar_t" "bool" "short"
// "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32"
// "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t" "uint16_t"
// "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned" "float"
// "double" "void" "_declspec" "__declspec" "operator" "this" "true" "false"
// OCTALINT TILDE STAR AMPERSAND PLUS MINUS PLUSPLUS MINUSMINUS "sizeof"
// "__alignof__" SCOPE "dynamic_cast" "static_cast" "reinterpret_cast"
// "const_cast" "typeid" DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral
// WStringLiteral FLOATONE FLOATTWO NOT "new" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_75(
_tokenSet_75_data_, 12);
const unsigned long CPPParser::_tokenSet_76_data_[] = {
100664320UL, 1UL, 1910505472UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID "_stdcall" "__stdcall" LPAREN "operator" "this" "true" "false" TILDE
// STAR AMPERSAND SCOPE "_cdecl" "__cdecl" "_near" "__near" "_far" "__far"
// "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_76(
_tokenSet_76_data_, 12);
const unsigned long CPPParser::_tokenSet_77_data_[] = {
100926816UL, 1UL, 1977806848UL, 3220176896UL, 2744319UL, 32764UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON ID ASSIGNEQUAL "_stdcall" "__stdcall"
// LPAREN "const" "__const" "volatile" "__volatile__" COMMA "operator"
// "this" "true" "false" LSQUARE TILDE STAR AMPERSAND TIMESEQUAL DIVIDEEQUAL
// MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL BITWISEOREQUAL OR AND BITWISEOR BITWISEXOR NOTEQUAL
// EQUAL LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS
// MINUS DIVIDE MOD POINTERTOMBR PLUSPLUS MINUSMINUS SCOPE POINTERTO NOT
// "new" "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt"
// "pascal" "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_77(
_tokenSet_77_data_, 12);
const unsigned long CPPParser::_tokenSet_78_data_[] = {
262400UL, 0UL, 131072UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// SEMICOLON ASSIGNEQUAL COMMA
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_78(
_tokenSet_78_data_, 8);
const unsigned long CPPParser::_tokenSet_79_data_[] = {
4293932672UL, 4294967295UL, 4225826815UL, 0UL, 4291790336UL, 32767UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "typedef" "enum" ID "inline" "friend" "extern" StringLiteral "struct"
// "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID"
// "GFUNREAD" "GFARRAYSIZE" LPAREN RPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE"
// "auto" "register" "static" "mutable" "_inline" "__inline" "virtual"
// "explicit" "typename" "char" "wchar_t" "bool" "short" "int" "_int8"
// "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t"
// "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t"
// "_w64" "__w64" "long" "signed" "unsigned" "float" "double" "void" "_declspec"
// "__declspec" "const" "__const" "volatile" "__volatile__" "operator"
// "this" "true" "false" OCTALINT RSQUARE TILDE STAR AMPERSAND ELLIPSIS
// PLUS MINUS PLUSPLUS MINUSMINUS "sizeof" "__alignof__" SCOPE "dynamic_cast"
// "static_cast" "reinterpret_cast" "const_cast" "typeid" DECIMALINT
// HEXADECIMALINT
// CharLiteral WCharLiteral WStringLiteral FLOATONE FLOATTWO NOT "new"
// "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal"
// "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_79(
_tokenSet_79_data_, 12);
const unsigned long CPPParser::_tokenSet_80_data_[] = {
4294967250UL, 4294967295UL, 4160684031UL, 1015807UL, 4291790336UL, 32767UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// EOF "template" GREATERTHAN "typedef" SEMICOLON "enum" ID LCURLY "inline"
// "friend" "namespace" "antlrTrace_on" "antlrTrace_off" RCURLY ASSIGNEQUAL
// COLON "extern" StringLiteral "struct" "union" "class" "_stdcall" "__stdcall"
// "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE" LPAREN RPAREN
// "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static" "mutable"
// "_inline" "__inline" "virtual" "explicit" "typename" "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" COMMA "public" "protected" "private" "operator" "this"
// "true" "false" OCTALINT LSQUARE TILDE STAR AMPERSAND ELLIPSIS "throw"
// "using" "case" "default" "if" "else" "switch" "while" "do" "for" "goto"
// "continue" "break" "return" "try" "asm" "_asm" "__asm" "__asm__" PLUS
// MINUS PLUSPLUS MINUSMINUS "sizeof" "__alignof__" SCOPE "dynamic_cast"
// "static_cast" "reinterpret_cast" "const_cast" "typeid" DECIMALINT
// HEXADECIMALINT
// CharLiteral WCharLiteral WStringLiteral FLOATONE FLOATTWO NOT "new"
// "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal"
// "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_80(
_tokenSet_80_data_, 12);
const unsigned long CPPParser::_tokenSet_81_data_[] = {
263520UL, 3UL, 4125229056UL, 3220176896UL, 2744319UL, 16396UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON ID ASSIGNEQUAL LPAREN RPAREN COMMA "operator"
// "this" "true" "false" LSQUARE TILDE STAR AMPERSAND ELLIPSIS TIMESEQUAL
// DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL
// BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL OR AND BITWISEOR BITWISEXOR
// NOTEQUAL EQUAL LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT
// PLUS MINUS DIVIDE MOD POINTERTOMBR PLUSPLUS MINUSMINUS SCOPE POINTERTO
// NOT "new" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_81(
_tokenSet_81_data_, 12);
const unsigned long CPPParser::_tokenSet_82_data_[] = {
4292624320UL, 4294967295UL, 2147680255UL, 2UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN "typedef" SEMICOLON "enum" ID LCURLY "inline" "friend"
// ASSIGNEQUAL
// COLON "extern" "struct" "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE"
// "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE" LPAREN RPAREN "GFARRAYSIZES"
// "GFARRAYELEMSIZE" "auto" "register" "static" "mutable" "_inline" "__inline"
// "virtual" "explicit" "typename" "char" "wchar_t" "bool" "short" "int"
// "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32"
// "int32_t" "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t"
// "uint64_t" "_w64" "__w64" "long" "signed" "unsigned" "float" "double"
// "void" "_declspec" "__declspec" "const" "__const" "volatile" "__volatile__"
// COMMA ELLIPSIS "using" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_82(
_tokenSet_82_data_, 12);
const unsigned long CPPParser::_tokenSet_83_data_[] = {
4292099968UL, 4294967292UL, 65535UL, 3UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "typedef" SEMICOLON "enum" ID LCURLY "inline" "friend" ASSIGNEQUAL "extern"
// "struct" "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE"
// "GFID" "GFUNREAD" "GFARRAYSIZE" "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto"
// "register" "static" "mutable" "_inline" "__inline" "virtual" "explicit"
// "typename" "char" "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t"
// "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64"
// "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64"
// "long" "signed" "unsigned" "float" "double" "void" "_declspec" "__declspec"
// "const" "__const" "volatile" "__volatile__" "throw" "using" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_83(
_tokenSet_83_data_, 12);
const unsigned long CPPParser::_tokenSet_84_data_[] = {526336UL, 0UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// LCURLY COLON
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_84(
_tokenSet_84_data_, 8);
const unsigned long CPPParser::_tokenSet_85_data_[] = {0UL, 1UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// LPAREN
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_85(
_tokenSet_85_data_, 8);
const unsigned long CPPParser::_tokenSet_86_data_[] = {
1024UL, 0UL, 268435456UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID TILDE SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_86(
_tokenSet_86_data_, 12);
const unsigned long CPPParser::_tokenSet_87_data_[] = {
0UL, 2UL, 2147483648UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// RPAREN ELLIPSIS
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_87(
_tokenSet_87_data_, 8);
const unsigned long CPPParser::_tokenSet_88_data_[] = {
4292097760UL, 4294967295UL, 4125294591UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN "typedef" "enum" ID "inline" "friend" ASSIGNEQUAL
// "extern" "struct" "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE"
// "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE" LPAREN RPAREN "GFARRAYSIZES"
// "GFARRAYELEMSIZE" "auto" "register" "static" "mutable" "_inline" "__inline"
// "virtual" "explicit" "typename" "char" "wchar_t" "bool" "short" "int"
// "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32"
// "int32_t" "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t"
// "uint64_t" "_w64" "__w64" "long" "signed" "unsigned" "float" "double"
// "void" "_declspec" "__declspec" "const" "__const" "volatile" "__volatile__"
// COMMA "operator" "this" "true" "false" LSQUARE TILDE STAR AMPERSAND
// ELLIPSIS SCOPE "_cdecl" "__cdecl" "_near" "__near" "_far" "__far"
// "__interrupt"
// "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_88(
_tokenSet_88_data_, 12);
const unsigned long CPPParser::_tokenSet_89_data_[] = {
100926560UL, 3UL, 4125290496UL, 3220176896UL, 2744319UL, 32764UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN ID ASSIGNEQUAL "_stdcall" "__stdcall" LPAREN RPAREN
// "const" "__const" "volatile" "__volatile__" COMMA "operator" "this"
// "true" "false" LSQUARE TILDE STAR AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL
// MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL BITWISEOREQUAL OR AND BITWISEOR BITWISEXOR NOTEQUAL
// EQUAL LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS
// MINUS DIVIDE MOD POINTERTOMBR PLUSPLUS MINUSMINUS SCOPE POINTERTO NOT
// "new" "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt"
// "pascal" "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_89(
_tokenSet_89_data_, 12);
const unsigned long CPPParser::_tokenSet_90_data_[] = {
100926528UL, 3UL, 3825336320UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN ID ASSIGNEQUAL "_stdcall" "__stdcall" LPAREN RPAREN COMMA
// LSQUARE STAR AMPERSAND ELLIPSIS SCOPE "_cdecl" "__cdecl" "_near" "__near"
// "_far" "__far" "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_90(
_tokenSet_90_data_, 12);
const unsigned long CPPParser::_tokenSet_91_data_[] = {
4294721520UL, 4294967295UL, 4293066751UL, 3UL, 4291790336UL, 32767UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "template" LESSTHAN GREATERTHAN "typedef" SEMICOLON "enum" ID LCURLY
// "inline" "friend" ASSIGNEQUAL COLON "extern" StringLiteral "struct"
// "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID"
// "GFUNREAD" "GFARRAYSIZE" LPAREN RPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE"
// "auto" "register" "static" "mutable" "_inline" "__inline" "virtual"
// "explicit" "typename" "char" "wchar_t" "bool" "short" "int" "_int8"
// "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t"
// "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t"
// "_w64" "__w64" "long" "signed" "unsigned" "float" "double" "void" "_declspec"
// "__declspec" "const" "__const" "volatile" "__volatile__" COMMA "operator"
// "this" "true" "false" OCTALINT LSQUARE RSQUARE TILDE STAR AMPERSAND
// ELLIPSIS "throw" "using" PLUS MINUS PLUSPLUS MINUSMINUS "sizeof"
// "__alignof__"
// SCOPE "dynamic_cast" "static_cast" "reinterpret_cast" "const_cast" "typeid"
// DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral WStringLiteral FLOATONE
// FLOATTWO NOT "new" "_cdecl" "__cdecl" "_near" "__near" "_far" "__far"
// "__interrupt" "pascal" "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_91(
_tokenSet_91_data_, 12);
const unsigned long CPPParser::_tokenSet_92_data_[] = {
64UL, 2UL, 2147614720UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN RPAREN COMMA ELLIPSIS
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_92(
_tokenSet_92_data_, 8);
const unsigned long CPPParser::_tokenSet_93_data_[] = {
262208UL, 3UL, 2214723584UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN ASSIGNEQUAL LPAREN RPAREN COMMA LSQUARE ELLIPSIS
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_93(
_tokenSet_93_data_, 8);
const unsigned long CPPParser::_tokenSet_94_data_[] = {
4294852594UL, 4294967295UL, 4293066751UL, 4293918723UL,
4291821567UL, 32767UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// EOF "template" LESSTHAN GREATERTHAN "typedef" SEMICOLON "enum" ID LCURLY
// "inline" "friend" RCURLY ASSIGNEQUAL COLON "extern" StringLiteral "struct"
// "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID"
// "GFUNREAD" "GFARRAYSIZE" LPAREN RPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE"
// "auto" "register" "static" "mutable" "_inline" "__inline" "virtual"
// "explicit" "typename" "char" "wchar_t" "bool" "short" "int" "_int8"
// "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t"
// "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t"
// "_w64" "__w64" "long" "signed" "unsigned" "float" "double" "void" "_declspec"
// "__declspec" "const" "__const" "volatile" "__volatile__" COMMA "operator"
// "this" "true" "false" OCTALINT LSQUARE RSQUARE TILDE STAR AMPERSAND
// ELLIPSIS "throw" "using" TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL
// MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL
// BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL
// LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS
// DIVIDE MOD DOTMBR POINTERTOMBR PLUSPLUS MINUSMINUS "sizeof" "__alignof__"
// SCOPE "dynamic_cast" "static_cast" "reinterpret_cast" "const_cast" "typeid"
// DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral WStringLiteral FLOATONE
// FLOATTWO NOT "new" "_cdecl" "__cdecl" "_near" "__near" "_far" "__far"
// "__interrupt" "pascal" "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_94(
_tokenSet_94_data_, 12);
const unsigned long CPPParser::_tokenSet_95_data_[] = {
262208UL, 2UL, 2147614720UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN ASSIGNEQUAL RPAREN COMMA ELLIPSIS
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_95(
_tokenSet_95_data_, 8);
const unsigned long CPPParser::_tokenSet_96_data_[] = {
64UL, 2UL, 131072UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN RPAREN COMMA
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_96(
_tokenSet_96_data_, 8);
const unsigned long CPPParser::_tokenSet_97_data_[] = {
101582176UL, 3UL, 4259446784UL, 4293918721UL, 557055UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON ID RCURLY ASSIGNEQUAL COLON "_stdcall"
// "__stdcall" LPAREN RPAREN COMMA "operator" "this" "true" "false" LSQUARE
// RSQUARE TILDE STAR AMPERSAND ELLIPSIS "throw" TIMESEQUAL DIVIDEEQUAL
// MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR
// NOTEQUAL EQUAL LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT
// PLUS MINUS DIVIDE MOD DOTMBR POINTERTOMBR SCOPE "_cdecl" "__cdecl" "_near"
// "__near" "_far" "__far" "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_97(
_tokenSet_97_data_, 12);
const unsigned long CPPParser::_tokenSet_98_data_[] = {
16777232UL, 4096UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "template" "class" "typename"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_98(
_tokenSet_98_data_, 8);
const unsigned long CPPParser::_tokenSet_99_data_[] = {
1120UL, 0UL, 131072UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN ID COMMA
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_99(
_tokenSet_99_data_, 8);
const unsigned long CPPParser::_tokenSet_100_data_[] = {
4291835520UL, 4294967293UL, 4058054655UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "typedef" "enum" ID "inline" "friend" "extern" "struct" "union" "class"
// "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD"
// "GFARRAYSIZE"
// LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static" "mutable"
// "_inline" "__inline" "virtual" "explicit" "typename" "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" "operator" "this" "true" "false" TILDE STAR AMPERSAND
// ELLIPSIS SCOPE "_cdecl" "__cdecl" "_near" "__near" "_far" "__far"
// "__interrupt"
// "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_100(
_tokenSet_100_data_, 12);
const unsigned long CPPParser::_tokenSet_101_data_[] = {
64UL, 0UL, 131072UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN COMMA
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_101(
_tokenSet_101_data_, 8);
const unsigned long CPPParser::_tokenSet_102_data_[] = {
100664416UL, 1UL, 1677852672UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN ID "_stdcall" "__stdcall" LPAREN COMMA LSQUARE
// STAR AMPERSAND SCOPE "_cdecl" "__cdecl" "_near" "__near" "_far" "__far"
// "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_102(
_tokenSet_102_data_, 12);
const unsigned long CPPParser::_tokenSet_103_data_[] = {
1024UL, 4294963200UL, 4095UL, 0UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID "typename" "char" "wchar_t" "bool" "short" "int" "_int8" "__int8"
// "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64"
// "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64"
// "__w64" "long" "signed" "unsigned" "float" "double" "void" "_declspec"
// "__declspec" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_103(
_tokenSet_103_data_, 12);
const unsigned long CPPParser::_tokenSet_104_data_[] = {
100664416UL, 4294959105UL, 1677856767UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN ID "_stdcall" "__stdcall" LPAREN "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" COMMA LSQUARE STAR
// AMPERSAND SCOPE "_cdecl" "__cdecl" "_near" "__near" "_far" "__far"
// "__interrupt"
// "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_104(
_tokenSet_104_data_, 12);
const unsigned long CPPParser::_tokenSet_105_data_[] = {
4291835616UL, 4294967293UL, 1677918207UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN "typedef" "enum" ID "inline" "friend" "extern"
// "struct" "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE"
// "GFID" "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE"
// "auto" "register" "static" "mutable" "_inline" "__inline" "virtual"
// "explicit" "typename" "char" "wchar_t" "bool" "short" "int" "_int8"
// "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t"
// "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t"
// "_w64" "__w64" "long" "signed" "unsigned" "float" "double" "void" "_declspec"
// "__declspec" "const" "__const" "volatile" "__volatile__" COMMA LSQUARE
// STAR AMPERSAND SCOPE "_cdecl" "__cdecl" "_near" "__near" "_far" "__far"
// "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_105(
_tokenSet_105_data_, 12);
const unsigned long CPPParser::_tokenSet_106_data_[] = {
4294194912UL, 4294967293UL, 2011365375UL, 3220176896UL,
4294967295UL, 16399UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN "typedef" "enum" ID "inline" "friend" ASSIGNEQUAL
// "extern" StringLiteral "struct" "union" "class" "_stdcall" "__stdcall"
// "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES"
// "GFARRAYELEMSIZE" "auto" "register" "static" "mutable" "_inline" "__inline"
// "virtual" "explicit" "typename" "char" "wchar_t" "bool" "short" "int"
// "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32"
// "int32_t" "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t"
// "uint64_t" "_w64" "__w64" "long" "signed" "unsigned" "float" "double"
// "void" "_declspec" "__declspec" "const" "__const" "volatile" "__volatile__"
// COMMA "operator" "this" "true" "false" OCTALINT LSQUARE TILDE STAR AMPERSAND
// TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL
// SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL OR AND
// BITWISEOR BITWISEXOR NOTEQUAL EQUAL LESSTHANOREQUALTO GREATERTHANOREQUALTO
// SHIFTLEFT SHIFTRIGHT PLUS MINUS DIVIDE MOD DOTMBR POINTERTOMBR PLUSPLUS
// MINUSMINUS "sizeof" "__alignof__" SCOPE DOT POINTERTO "dynamic_cast"
// "static_cast" "reinterpret_cast" "const_cast" "typeid" DECIMALINT
// HEXADECIMALINT
// CharLiteral WCharLiteral WStringLiteral FLOATONE FLOATTWO NOT "new"
// "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_106(
_tokenSet_106_data_, 12);
const unsigned long CPPParser::_tokenSet_107_data_[] = {
917856UL, 2UL, 3355574272UL, 4293918720UL, 127UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON RPAREN COMMA
// RSQUARE AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL
// MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL
// BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL
// LESSTHANOREQUALTO GREATERTHANOREQUALTO
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_107(
_tokenSet_107_data_, 12);
const unsigned long CPPParser::_tokenSet_108_data_[] = {
4291851904UL, 4294967292UL, 65535UL, 983042UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "typedef" "enum" ID "inline" "friend" "namespace" "extern" "struct"
// "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID"
// "GFUNREAD" "GFARRAYSIZE" "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register"
// "static" "mutable" "_inline" "__inline" "virtual" "explicit" "typename"
// "char" "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16"
// "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64"
// "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64"
// "long" "signed" "unsigned" "float" "double" "void" "_declspec" "__declspec"
// "const" "__const" "volatile" "__volatile__" "using" "asm" "_asm" "__asm"
// "__asm__" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_108(
_tokenSet_108_data_, 12);
const unsigned long CPPParser::_tokenSet_109_data_[] = {
4291852192UL, 4294967293UL, 1910571007UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN "typedef" SEMICOLON "enum" ID "inline" "friend" "namespace"
// "extern" "struct" "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE"
// "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES"
// "GFARRAYELEMSIZE"
// "auto" "register" "static" "mutable" "_inline" "__inline" "virtual"
// "explicit" "typename" "char" "wchar_t" "bool" "short" "int" "_int8"
// "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t"
// "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t"
// "_w64" "__w64" "long" "signed" "unsigned" "float" "double" "void" "_declspec"
// "__declspec" "const" "__const" "volatile" "__volatile__" "operator"
// "this" "true" "false" TILDE STAR AMPERSAND SCOPE "_cdecl" "__cdecl"
// "_near" "__near" "_far" "__far" "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_109(
_tokenSet_109_data_, 12);
const unsigned long CPPParser::_tokenSet_110_data_[] = {
4294967280UL, 4294967293UL, 2013265919UL, 3221192703UL,
4293910527UL, 32767UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// "template" LESSTHAN GREATERTHAN "typedef" SEMICOLON "enum" ID LCURLY
// "inline" "friend" "namespace" "antlrTrace_on" "antlrTrace_off" RCURLY
// ASSIGNEQUAL COLON "extern" StringLiteral "struct" "union" "class" "_stdcall"
// "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE"
// LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static" "mutable"
// "_inline" "__inline" "virtual" "explicit" "typename" "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" "GFIGNORE" COMMA "public" "protected" "private" "operator"
// "this" "true" "false" OCTALINT LSQUARE TILDE STAR AMPERSAND "throw"
// "using" "case" "default" "if" "else" "switch" "while" "do" "for" "goto"
// "continue" "break" "return" "try" "asm" "_asm" "__asm" "__asm__" TIMESEQUAL
// DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL
// BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL OR AND BITWISEOR BITWISEXOR
// NOTEQUAL EQUAL LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT
// PLUS MINUS DIVIDE MOD POINTERTOMBR PLUSPLUS MINUSMINUS "sizeof" "__alignof__"
// SCOPE POINTERTO "dynamic_cast" "static_cast" "reinterpret_cast" "const_cast"
// "typeid" DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral WStringLiteral
// FLOATONE FLOATTWO NOT "new" "_cdecl" "__cdecl" "_near" "__near" "_far"
// "__far" "__interrupt" "pascal" "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_110(
_tokenSet_110_data_, 12);
const unsigned long CPPParser::_tokenSet_111_data_[] = {
1056UL, 0UL, 568389632UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN ID "const" "__const" "volatile" "__volatile__" "operator" "this"
// "true" "false" STAR SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_111(
_tokenSet_111_data_, 12);
const unsigned long CPPParser::_tokenSet_112_data_[] = {
4294195168UL, 4294967293UL, 2011365375UL, 4293918720UL,
4294967295UL, 16399UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN "typedef" SEMICOLON "enum" ID "inline" "friend"
// ASSIGNEQUAL "extern" StringLiteral "struct" "union" "class" "_stdcall"
// "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE"
// LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static" "mutable"
// "_inline" "__inline" "virtual" "explicit" "typename" "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" COMMA "operator" "this" "true" "false" OCTALINT LSQUARE
// TILDE STAR AMPERSAND TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL
// SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL
// QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL LESSTHANOREQUALTO
// GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS DIVIDE MOD DOTMBR
// POINTERTOMBR PLUSPLUS MINUSMINUS "sizeof" "__alignof__" SCOPE DOT POINTERTO
// "dynamic_cast" "static_cast" "reinterpret_cast" "const_cast" "typeid"
// DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral WStringLiteral FLOATONE
// FLOATTWO NOT "new" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_112(
_tokenSet_112_data_, 12);
const unsigned long CPPParser::_tokenSet_113_data_[] = {
4294967282UL, 4294967293UL, 2013265919UL, 4294967295UL,
4294967295UL, 32767UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// EOF "template" LESSTHAN GREATERTHAN "typedef" SEMICOLON "enum" ID LCURLY
// "inline" "friend" "namespace" "antlrTrace_on" "antlrTrace_off" RCURLY
// ASSIGNEQUAL COLON "extern" StringLiteral "struct" "union" "class" "_stdcall"
// "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE"
// LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static" "mutable"
// "_inline" "__inline" "virtual" "explicit" "typename" "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" "GFIGNORE" COMMA "public" "protected" "private" "operator"
// "this" "true" "false" OCTALINT LSQUARE TILDE STAR AMPERSAND "throw"
// "using" "case" "default" "if" "else" "switch" "while" "do" "for" "goto"
// "continue" "break" "return" "try" "catch" "asm" "_asm" "__asm" "__asm__"
// TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL
// SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL QUESTIONMARK
// OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL LESSTHANOREQUALTO
// GREATERTHANOREQUALTO
// SHIFTLEFT SHIFTRIGHT PLUS MINUS DIVIDE MOD DOTMBR POINTERTOMBR PLUSPLUS
// MINUSMINUS "sizeof" "__alignof__" SCOPE DOT POINTERTO "dynamic_cast"
// "static_cast" "reinterpret_cast" "const_cast" "typeid" DECIMALINT
// HEXADECIMALINT
// CharLiteral WCharLiteral WStringLiteral FLOATONE FLOATTWO NOT "new"
// "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal"
// "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_113(
_tokenSet_113_data_, 12);
const unsigned long CPPParser::_tokenSet_114_data_[] = {
4294180752UL, 4294967293UL, 1945960447UL, 1048575UL, 4291790336UL, 32767UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "template" "typedef" SEMICOLON "enum" ID LCURLY "inline" "friend" "namespace"
// "antlrTrace_on" "antlrTrace_off" RCURLY "extern" StringLiteral "struct"
// "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID"
// "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto"
// "register" "static" "mutable" "_inline" "__inline" "virtual" "explicit"
// "typename" "char" "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t"
// "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64"
// "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64"
// "long" "signed" "unsigned" "float" "double" "void" "_declspec" "__declspec"
// "const" "__const" "volatile" "__volatile__" "public" "protected" "private"
// "operator" "this" "true" "false" OCTALINT TILDE STAR AMPERSAND "throw"
// "using" "case" "default" "if" "else" "switch" "while" "do" "for" "goto"
// "continue" "break" "return" "try" "catch" "asm" "_asm" "__asm" "__asm__"
// PLUS MINUS PLUSPLUS MINUSMINUS "sizeof" "__alignof__" SCOPE "dynamic_cast"
// "static_cast" "reinterpret_cast" "const_cast" "typeid" DECIMALINT
// HEXADECIMALINT
// CharLiteral WCharLiteral WStringLiteral FLOATONE FLOATTWO NOT "new"
// "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal"
// "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_114(
_tokenSet_114_data_, 12);
const unsigned long CPPParser::_tokenSet_115_data_[] = {
917824UL, 2UL, 2281832448UL, 1072693248UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON RPAREN COMMA RSQUARE
// ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL
// SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_115(
_tokenSet_115_data_, 8);
const unsigned long CPPParser::_tokenSet_116_data_[] = {
917824UL, 2UL, 2281832448UL, 2146435072UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON RPAREN COMMA RSQUARE
// ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL
// SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL QUESTIONMARK
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_116(
_tokenSet_116_data_, 8);
const unsigned long CPPParser::_tokenSet_117_data_[] = {
917824UL, 2UL, 2281832448UL, 4293918720UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON RPAREN COMMA RSQUARE
// ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL
// SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL QUESTIONMARK
// OR
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_117(
_tokenSet_117_data_, 8);
const unsigned long CPPParser::_tokenSet_118_data_[] = {
917824UL, 2UL, 2281832448UL, 4293918720UL, 1UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON RPAREN COMMA RSQUARE
// ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL
// SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL QUESTIONMARK
// OR AND
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_118(
_tokenSet_118_data_, 12);
const unsigned long CPPParser::_tokenSet_119_data_[] = {
917824UL, 2UL, 2281832448UL, 4293918720UL, 3UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON RPAREN COMMA RSQUARE
// ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL
// SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL QUESTIONMARK
// OR AND BITWISEOR
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_119(
_tokenSet_119_data_, 12);
const unsigned long CPPParser::_tokenSet_120_data_[] = {
917824UL, 2UL, 2281832448UL, 4293918720UL, 7UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON RPAREN COMMA RSQUARE
// ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL
// SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL QUESTIONMARK
// OR AND BITWISEOR BITWISEXOR
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_120(
_tokenSet_120_data_, 12);
const unsigned long CPPParser::_tokenSet_121_data_[] = {
917824UL, 2UL, 3355574272UL, 4293918720UL, 7UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON RPAREN COMMA RSQUARE
// AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL
// SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL
// QUESTIONMARK OR AND BITWISEOR BITWISEXOR
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_121(
_tokenSet_121_data_, 12);
const unsigned long CPPParser::_tokenSet_122_data_[] = {
96UL, 0UL, 0UL, 0UL, 96UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN LESSTHANOREQUALTO GREATERTHANOREQUALTO
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_122(
_tokenSet_122_data_, 12);
const unsigned long CPPParser::_tokenSet_123_data_[] = {
917824UL, 2UL, 3355574272UL, 4293918720UL, 31UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON RPAREN COMMA RSQUARE
// AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL
// SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL
// QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_123(
_tokenSet_123_data_, 12);
const unsigned long CPPParser::_tokenSet_124_data_[] = {
917856UL, 2UL, 3355574272UL, 4293918720UL, 511UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON RPAREN COMMA
// RSQUARE AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL
// MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL
// BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL
// LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_124(
_tokenSet_124_data_, 12);
const unsigned long CPPParser::_tokenSet_125_data_[] = {
0UL, 0UL, 536870912UL, 0UL, 6144UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// STAR DIVIDE MOD
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_125(
_tokenSet_125_data_, 12);
const unsigned long CPPParser::_tokenSet_126_data_[] = {
917856UL, 2UL, 3355574272UL, 4293918720UL, 2047UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON RPAREN COMMA
// RSQUARE AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL
// MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL
// BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL
// LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_126(
_tokenSet_126_data_, 12);
const unsigned long CPPParser::_tokenSet_127_data_[] = {
917856UL, 2UL, 3892445184UL, 4293918720UL, 8191UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON RPAREN COMMA
// RSQUARE STAR AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL
// MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL
// BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL
// LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS
// DIVIDE MOD
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_127(
_tokenSet_127_data_, 12);
const unsigned long CPPParser::_tokenSet_128_data_[] = {
1024UL, 4294963200UL, 65535UL, 0UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID "typename" "char" "wchar_t" "bool" "short" "int" "_int8" "__int8"
// "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64"
// "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64"
// "__w64" "long" "signed" "unsigned" "float" "double" "void" "_declspec"
// "__declspec" "const" "__const" "volatile" "__volatile__" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_128(
_tokenSet_128_data_, 12);
const unsigned long CPPParser::_tokenSet_129_data_[] = {
917856UL, 2UL, 3892445184UL, 4293918720UL, 32767UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON RPAREN COMMA
// RSQUARE STAR AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL
// MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL
// BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL
// LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS
// DIVIDE MOD DOTMBR POINTERTOMBR
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_129(
_tokenSet_129_data_, 12);
const unsigned long CPPParser::_tokenSet_130_data_[] = {
2098176UL, 4294963201UL, 333451263UL, 0UL, 4291297280UL, 3UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID StringLiteral LPAREN "typename" "char" "wchar_t" "bool" "short" "int"
// "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32"
// "int32_t" "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t"
// "uint64_t" "_w64" "__w64" "long" "signed" "unsigned" "float" "double"
// "void" "_declspec" "__declspec" "operator" "this" "true" "false" OCTALINT
// TILDE SCOPE "dynamic_cast" "static_cast" "reinterpret_cast" "const_cast"
// "typeid" DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral WStringLiteral
// FLOATONE FLOATTWO
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_130(
_tokenSet_130_data_, 12);
const unsigned long CPPParser::_tokenSet_131_data_[] = {
3016032UL, 4294963203UL, 4293005311UL, 4293918720UL, 4294967295UL, 16399UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON ID RCURLY ASSIGNEQUAL COLON StringLiteral
// LPAREN RPAREN "typename" "char" "wchar_t" "bool" "short" "int" "_int8"
// "__int8" "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t"
// "_int64" "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t"
// "_w64" "__w64" "long" "signed" "unsigned" "float" "double" "void" "_declspec"
// "__declspec" COMMA "operator" "this" "true" "false" OCTALINT LSQUARE
// RSQUARE TILDE STAR AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL
// PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL
// BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL
// LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS
// DIVIDE MOD DOTMBR POINTERTOMBR PLUSPLUS MINUSMINUS "sizeof" "__alignof__"
// SCOPE DOT POINTERTO "dynamic_cast" "static_cast" "reinterpret_cast"
// "const_cast" "typeid" DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral
// WStringLiteral FLOATONE FLOATTWO NOT "new" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_131(
_tokenSet_131_data_, 12);
const unsigned long CPPParser::_tokenSet_132_data_[] = {
0UL, 0UL, 1879048192UL, 0UL, 1536UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// TILDE STAR AMPERSAND PLUS MINUS NOT
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_132(
_tokenSet_132_data_, 12);
const unsigned long CPPParser::_tokenSet_133_data_[] = {
0UL, 0UL, 0UL, 0UL, 524288UL, 16392UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// SCOPE "new" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_133(
_tokenSet_133_data_, 12);
const unsigned long CPPParser::_tokenSet_134_data_[] = {
4293932672UL, 4294967293UL, 2011234303UL, 0UL, 4291790336UL, 16399UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "typedef" "enum" ID "inline" "friend" "extern" StringLiteral "struct"
// "union" "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID"
// "GFUNREAD" "GFARRAYSIZE" LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto"
// "register" "static" "mutable" "_inline" "__inline" "virtual" "explicit"
// "typename" "char" "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t"
// "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64"
// "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64"
// "long" "signed" "unsigned" "float" "double" "void" "_declspec" "__declspec"
// "const" "__const" "volatile" "__volatile__" "operator" "this" "true"
// "false" OCTALINT LSQUARE TILDE STAR AMPERSAND PLUS MINUS PLUSPLUS MINUSMINUS
// "sizeof" "__alignof__" SCOPE "dynamic_cast" "static_cast" "reinterpret_cast"
// "const_cast" "typeid" DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral
// WStringLiteral FLOATONE FLOATTWO NOT "new" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_134(
_tokenSet_134_data_, 12);
const unsigned long CPPParser::_tokenSet_135_data_[] = {
4291835552UL, 4294967295UL, 1677787135UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN "typedef" "enum" ID "inline" "friend" "extern" "struct" "union"
// "class" "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD"
// "GFARRAYSIZE" LPAREN RPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto"
// "register" "static" "mutable" "_inline" "__inline" "virtual" "explicit"
// "typename" "char" "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t"
// "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64"
// "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64"
// "long" "signed" "unsigned" "float" "double" "void" "_declspec" "__declspec"
// "const" "__const" "volatile" "__volatile__" LSQUARE STAR AMPERSAND SCOPE
// "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal"
// "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_135(
_tokenSet_135_data_, 12);
const unsigned long CPPParser::_tokenSet_136_data_[] = {
4294194912UL, 4294967295UL, 2011365375UL, 4293918720UL,
4294967295UL, 16399UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN "typedef" "enum" ID "inline" "friend" ASSIGNEQUAL
// "extern" StringLiteral "struct" "union" "class" "_stdcall" "__stdcall"
// "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE" LPAREN RPAREN
// "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static" "mutable"
// "_inline" "__inline" "virtual" "explicit" "typename" "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" COMMA "operator" "this" "true" "false" OCTALINT LSQUARE
// TILDE STAR AMPERSAND TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL
// SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL
// QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL LESSTHANOREQUALTO
// GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS DIVIDE MOD DOTMBR
// POINTERTOMBR PLUSPLUS MINUSMINUS "sizeof" "__alignof__" SCOPE DOT POINTERTO
// "dynamic_cast" "static_cast" "reinterpret_cast" "const_cast" "typeid"
// DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral WStringLiteral FLOATONE
// FLOATTWO NOT "new" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_136(
_tokenSet_136_data_, 12);
const unsigned long CPPParser::_tokenSet_137_data_[] = {
1056UL, 4294959105UL, 4095UL, 0UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN ID LPAREN "char" "wchar_t" "bool" "short" "int" "_int8" "__int8"
// "int8_t" "_int16" "__int16" "int16_t" "_int32" "__int32" "int32_t" "_int64"
// "__int64" "int64_t" "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64"
// "__w64" "long" "signed" "unsigned" "float" "double" "void" "_declspec"
// "__declspec" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_137(
_tokenSet_137_data_, 12);
const unsigned long CPPParser::_tokenSet_138_data_[] = {
2098176UL, 1UL, 333447168UL, 0UL, 4161273856UL, 3UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID StringLiteral LPAREN "operator" "this" "true" "false" OCTALINT TILDE
// SCOPE DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral WStringLiteral
// FLOATONE FLOATTWO
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_138(
_tokenSet_138_data_, 12);
const unsigned long CPPParser::_tokenSet_139_data_[] = {
4291835520UL, 4294967293UL, 65535UL, 0UL, 524288UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// "typedef" "enum" ID "inline" "friend" "extern" "struct" "union" "class"
// "_stdcall" "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD"
// "GFARRAYSIZE"
// LPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static" "mutable"
// "_inline" "__inline" "virtual" "explicit" "typename" "char" "wchar_t"
// "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" SCOPE
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_139(
_tokenSet_139_data_, 12);
const unsigned long CPPParser::_tokenSet_140_data_[] = {
4292753376UL, 4294967295UL, 3959619583UL, 4293918720UL, 557055UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN "typedef" SEMICOLON "enum" ID "inline" "friend"
// RCURLY ASSIGNEQUAL COLON "extern" "struct" "union" "class" "_stdcall"
// "__stdcall" "GFEXCLUDE" "GFINCLUDE" "GFID" "GFUNREAD" "GFARRAYSIZE"
// LPAREN RPAREN "GFARRAYSIZES" "GFARRAYELEMSIZE" "auto" "register" "static"
// "mutable" "_inline" "__inline" "virtual" "explicit" "typename" "char"
// "wchar_t" "bool" "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16"
// "int16_t" "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t"
// "uint8_t" "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed"
// "unsigned" "float" "double" "void" "_declspec" "__declspec" "const"
// "__const" "volatile" "__volatile__" COMMA LSQUARE RSQUARE STAR AMPERSAND
// ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL
// SHIFTRIGHTEQUAL BITWISEANDEQUAL BITWISEXOREQUAL BITWISEOREQUAL QUESTIONMARK
// OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL LESSTHANOREQUALTO
// GREATERTHANOREQUALTO
// SHIFTLEFT SHIFTRIGHT PLUS MINUS DIVIDE MOD DOTMBR POINTERTOMBR SCOPE
// "_cdecl" "__cdecl" "_near" "__near" "_far" "__far" "__interrupt" "pascal"
// "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_140(
_tokenSet_140_data_, 12);
const unsigned long CPPParser::_tokenSet_141_data_[] = {
917856UL, 3UL, 3959554048UL, 4293918720UL, 3276799UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON LPAREN RPAREN
// COMMA LSQUARE RSQUARE STAR AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL
// MINUSEQUAL PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR
// NOTEQUAL EQUAL LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT
// PLUS MINUS DIVIDE MOD DOTMBR POINTERTOMBR PLUSPLUS MINUSMINUS DOT POINTERTO
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_141(
_tokenSet_141_data_, 12);
const unsigned long CPPParser::_tokenSet_142_data_[] = {
100664320UL, 0UL, 1677721600UL, 0UL, 524288UL, 16368UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// ID "_stdcall" "__stdcall" LSQUARE STAR AMPERSAND SCOPE "_cdecl" "__cdecl"
// "_near" "__near" "_far" "__far" "__interrupt" "pascal" "_pascal" "__pascal"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_142(
_tokenSet_142_data_, 12);
const unsigned long CPPParser::_tokenSet_143_data_[] = {
103679328UL, 4294963203UL, 4293066751UL, 4293918720UL,
4291821567UL, 32767UL, 0UL, 0UL,
0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON ID RCURLY ASSIGNEQUAL COLON StringLiteral
// "_stdcall" "__stdcall" LPAREN RPAREN "typename" "char" "wchar_t" "bool"
// "short" "int" "_int8" "__int8" "int8_t" "_int16" "__int16" "int16_t"
// "_int32" "__int32" "int32_t" "_int64" "__int64" "int64_t" "uint8_t"
// "uint16_t" "uint32_t" "uint64_t" "_w64" "__w64" "long" "signed" "unsigned"
// "float" "double" "void" "_declspec" "__declspec" "const" "__const" "volatile"
// "__volatile__" COMMA "operator" "this" "true" "false" OCTALINT LSQUARE
// RSQUARE TILDE STAR AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL
// PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL
// BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL
// LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS
// DIVIDE MOD DOTMBR POINTERTOMBR PLUSPLUS MINUSMINUS "sizeof" "__alignof__"
// SCOPE "dynamic_cast" "static_cast" "reinterpret_cast" "const_cast" "typeid"
// DECIMALINT HEXADECIMALINT CharLiteral WCharLiteral WStringLiteral FLOATONE
// FLOATTWO NOT "new" "_cdecl" "__cdecl" "_near" "__near" "_far" "__far"
// "__interrupt" "pascal" "_pascal" "__pascal" "delete"
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_143(
_tokenSet_143_data_, 12);
const unsigned long CPPParser::_tokenSet_144_data_[] = {
917856UL, 3UL, 3892445184UL, 4293918720UL, 32767UL, 0UL,
0UL, 0UL, 0UL, 0UL, 0UL, 0UL};
// LESSTHAN GREATERTHAN SEMICOLON RCURLY ASSIGNEQUAL COLON LPAREN RPAREN
// COMMA RSQUARE STAR AMPERSAND ELLIPSIS TIMESEQUAL DIVIDEEQUAL MINUSEQUAL
// PLUSEQUAL MODEQUAL SHIFTLEFTEQUAL SHIFTRIGHTEQUAL BITWISEANDEQUAL
// BITWISEXOREQUAL
// BITWISEOREQUAL QUESTIONMARK OR AND BITWISEOR BITWISEXOR NOTEQUAL EQUAL
// LESSTHANOREQUALTO GREATERTHANOREQUALTO SHIFTLEFT SHIFTRIGHT PLUS MINUS
// DIVIDE MOD DOTMBR POINTERTOMBR
const ANTLR_USE_NAMESPACE(antlr) BitSet CPPParser::_tokenSet_144(
_tokenSet_144_data_, 12);