PreprocessorLexer.java
// $ANTLR 3.5.2 PreprocessorLexer.g 2026-06-29 15:03:30
package dev.civl.abc.front.c.preproc;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
@SuppressWarnings("all")
public class PreprocessorLexer extends Lexer {
public static final int EOF=-1;
public static final int AMPERSAND=4;
public static final int AND=5;
public static final int ANNOTATION_END=6;
public static final int ANNOTATION_START=7;
public static final int ARROW=8;
public static final int ASSIGN=9;
public static final int AT=10;
public static final int BITANDEQ=11;
public static final int BITOR=12;
public static final int BITOREQ=13;
public static final int BITXOR=14;
public static final int BITXOREQ=15;
public static final int BLOCK_COMMENT=16;
public static final int BLOCK_COMMENT_TAIL=17;
public static final int BinaryExponentPart=18;
public static final int CChar=19;
public static final int CHARACTER_CONSTANT=20;
public static final int COLON=21;
public static final int COMMA=22;
public static final int COMMENT=23;
public static final int DEFINE=24;
public static final int DEFINED=25;
public static final int DIV=26;
public static final int DIVEQ=27;
public static final int DOT=28;
public static final int DOTDOT=29;
public static final int DecimalConstant=30;
public static final int DecimalFloatingConstant=31;
public static final int Digit=32;
public static final int ELIF=33;
public static final int ELLIPSIS=34;
public static final int ELSE=35;
public static final int ENDIF=36;
public static final int EQUALS=37;
public static final int EQUIV_ACSL=38;
public static final int ERROR=39;
public static final int EXTENDED_IDENTIFIER=40;
public static final int EscapeSequence=41;
public static final int ExponentPart=42;
public static final int FLOATING_CONSTANT=43;
public static final int FloatingSuffix=44;
public static final int FractionalConstant=45;
public static final int GT=46;
public static final int GTE=47;
public static final int HASH=48;
public static final int HASHHASH=49;
public static final int HexEscape=50;
public static final int HexFractionalConstant=51;
public static final int HexPrefix=52;
public static final int HexQuad=53;
public static final int HexadecimalConstant=54;
public static final int HexadecimalDigit=55;
public static final int HexadecimalFloatingConstant=56;
public static final int IDENTIFIER=57;
public static final int IF=58;
public static final int IFDEF=59;
public static final int IFNDEF=60;
public static final int IMPLIES=61;
public static final int IMPLIES_ACSL=62;
public static final int INCLUDE=63;
public static final int INLINE_ANNOTATION_START=64;
public static final int INLINE_COMMENT=65;
public static final int INLINE_COMMENT_TAIL=66;
public static final int INTEGER_CONSTANT=67;
public static final int IdentifierNonDigit=68;
public static final int IntegerSuffix=69;
public static final int LCURLY=70;
public static final int LEXCON=71;
public static final int LINE=72;
public static final int LPAREN=73;
public static final int LSLIST=74;
public static final int LSQUARE=75;
public static final int LT=76;
public static final int LTE=77;
public static final int LongLongSuffix=78;
public static final int LongSuffix=79;
public static final int MINUSMINUS=80;
public static final int MOD=81;
public static final int MODEQ=82;
public static final int NEQ=83;
public static final int NEWLINE=84;
public static final int NOT=85;
public static final int NonDigit=86;
public static final int NonZeroDigit=87;
public static final int OR=88;
public static final int OTHER=89;
public static final int OctalConstant=90;
public static final int OctalDigit=91;
public static final int OctalEscape=92;
public static final int PLUS=93;
public static final int PLUSEQ=94;
public static final int PLUSPLUS=95;
public static final int PP_NUMBER=96;
public static final int PRAGMA=97;
public static final int QMARK=98;
public static final int RCURLY=99;
public static final int REXCON=100;
public static final int RPAREN=101;
public static final int RSLIST=102;
public static final int RSQUARE=103;
public static final int SChar=104;
public static final int SEMI=105;
public static final int SHIFTLEFT=106;
public static final int SHIFTLEFTEQ=107;
public static final int SHIFTRIGHT=108;
public static final int SHIFTRIGHTEQ=109;
public static final int STAR=110;
public static final int STAREQ=111;
public static final int STRING_LITERAL=112;
public static final int SUB=113;
public static final int SUBEQ=114;
public static final int TILDE=115;
public static final int UNDEF=116;
public static final int UniversalCharacterName=117;
public static final int UnsignedSuffix=118;
public static final int WS=119;
public static final int XOR_ACSL=120;
public static final int Zero=121;
/* Are we currently parsing ACSL annotations? If yes, the comments that
begin with '@' will be parsed as a sequence of ordinary preprocessor
tokens. If no, they will be parsed as ordinary comments, i.e., as a
single token consisting of one big string. This option is controled
by the presence of the #pragma CIVL ACSL in the source file. */
public boolean parseAnnotations = false;
/* States in a DFS looking for "#pragma CIVL ACSL" which informs the
lexer to start scanning annotations as preprocessor tokens rather
than as one big comment. Start state: 1.
0: waiting for NEWLINE: anything other than NEWLINE self loops.
on NEWLINE goto 1.
1: waiting for #: whitespace self-loops,
on # goto 2.
anything else: goto 0.
2: waiting for pragma: non-NEWLINE white space self-loops.
on NEWLINE: goto 1.
on pragma: goto 3.
on anything else: goto 0
3: waiting for CIVL: non-NEWLINE white space self-loops.
on NEWLINE: goto 1.
on CIVL: goto 4
on anything else: goto 0
4: waiting for ACSL: non-NEWLINE white space self-loops.
on NEWLINE: goto 1
on ACSL: BINGO. set parseAnnotations to true. Goto 0.
on anything else: goto 0.
*/
private int annoteState = 1;
@Override
public void emitErrorMessage(String msg) { // don't try to recover!
throw new RuntimeException(msg);
}
@Override
public void emit(Token token) {
if (parseAnnotations && token.getType() == COMMENT) {
String text = token.getText();
if ("/*@".equals(text))
token.setType(ANNOTATION_START);
else if ("//@".equals(text))
token.setType(INLINE_ANNOTATION_START);
}
super.emit(token);
//System.out.println("Token: "+token); // DEBUGGING....
}
/* Looks for the sequence #pragma CIVL ACSL. As soon as that is detected
sets parseAnnotations to true. This causes annotations to be parsed
as preprocessor tokens rather than as text (as a normal comment would be).
*/
@Override
public Token nextToken() {
Token token = super.nextToken();
if (parseAnnotations)
return token;
int type = token.getType();
switch (annoteState) {
case 0:
if (type == NEWLINE) annoteState = 1;
break;
case 1: // at beginning of line. this is the start state.
if (type == HASH) annoteState = 2;
else if (type != NEWLINE && type != WS) annoteState = 0;
break;
case 2:
if (type == NEWLINE) annoteState = 1;
else if (type == PRAGMA) annoteState = 3;
else if (type != WS) annoteState = 0;
break;
case 3:
if (type == NEWLINE) annoteState = 1;
else if (type == IDENTIFIER &&
"CIVL".equals(token.getText().toUpperCase()))
annoteState = 4;
else if (type != WS) annoteState = 0;
break;
case 4:
if (type == NEWLINE) annoteState = 1;
else if (type == IDENTIFIER &&
"ACSL".equals(token.getText().toUpperCase())) {
parseAnnotations = true;
//System.out.println("PARSING ANNOTATIONS NOW.");
}
else if (type != WS) annoteState = 0;
break;
default:
assert false; // unreachable
}
return token;
}
// delegates
// delegators
public Lexer[] getDelegates() {
return new Lexer[] {};
}
public PreprocessorLexer() {}
public PreprocessorLexer(CharStream input) {
this(input, new RecognizerSharedState());
}
public PreprocessorLexer(CharStream input, RecognizerSharedState state) {
super(input,state);
}
@Override public String getGrammarFileName() { return "PreprocessorLexer.g"; }
// $ANTLR start "NEWLINE"
public final void mNEWLINE() throws RecognitionException {
try {
int _type = NEWLINE;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:127:10: ( ( '\\r' )? '\\n' )
// PreprocessorLexer.g:127:12: ( '\\r' )? '\\n'
{
// PreprocessorLexer.g:127:12: ( '\\r' )?
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0=='\r') ) {
alt1=1;
}
switch (alt1) {
case 1 :
// PreprocessorLexer.g:127:12: '\\r'
{
match('\r');
}
break;
}
match('\n');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "NEWLINE"
// $ANTLR start "WS"
public final void mWS() throws RecognitionException {
try {
int _type = WS;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:128:5: ( ' ' | '\\t' )
// PreprocessorLexer.g:
{
if ( input.LA(1)=='\t'||input.LA(1)==' ' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "WS"
// $ANTLR start "IF"
public final void mIF() throws RecognitionException {
try {
int _type = IF;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:131:5: ( 'if' )
// PreprocessorLexer.g:131:7: 'if'
{
match("if");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "IF"
// $ANTLR start "ELSE"
public final void mELSE() throws RecognitionException {
try {
int _type = ELSE;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:132:7: ( 'else' )
// PreprocessorLexer.g:132:9: 'else'
{
match("else");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ELSE"
// $ANTLR start "DEFINE"
public final void mDEFINE() throws RecognitionException {
try {
int _type = DEFINE;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:135:9: ( 'define' )
// PreprocessorLexer.g:135:11: 'define'
{
match("define");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "DEFINE"
// $ANTLR start "DEFINED"
public final void mDEFINED() throws RecognitionException {
try {
int _type = DEFINED;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:136:10: ( 'defined' )
// PreprocessorLexer.g:136:12: 'defined'
{
match("defined");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "DEFINED"
// $ANTLR start "ELIF"
public final void mELIF() throws RecognitionException {
try {
int _type = ELIF;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:137:7: ( 'elif' )
// PreprocessorLexer.g:137:9: 'elif'
{
match("elif");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ELIF"
// $ANTLR start "ENDIF"
public final void mENDIF() throws RecognitionException {
try {
int _type = ENDIF;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:138:8: ( 'endif' )
// PreprocessorLexer.g:138:10: 'endif'
{
match("endif");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ENDIF"
// $ANTLR start "ERROR"
public final void mERROR() throws RecognitionException {
try {
int _type = ERROR;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:139:8: ( 'error' )
// PreprocessorLexer.g:139:10: 'error'
{
match("error");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ERROR"
// $ANTLR start "IFDEF"
public final void mIFDEF() throws RecognitionException {
try {
int _type = IFDEF;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:140:8: ( 'ifdef' )
// PreprocessorLexer.g:140:10: 'ifdef'
{
match("ifdef");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "IFDEF"
// $ANTLR start "IFNDEF"
public final void mIFNDEF() throws RecognitionException {
try {
int _type = IFNDEF;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:141:9: ( 'ifndef' )
// PreprocessorLexer.g:141:11: 'ifndef'
{
match("ifndef");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "IFNDEF"
// $ANTLR start "INCLUDE"
public final void mINCLUDE() throws RecognitionException {
try {
int _type = INCLUDE;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:142:10: ( 'include' )
// PreprocessorLexer.g:142:12: 'include'
{
match("include");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "INCLUDE"
// $ANTLR start "LINE"
public final void mLINE() throws RecognitionException {
try {
int _type = LINE;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:143:7: ( 'line' )
// PreprocessorLexer.g:143:9: 'line'
{
match("line");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "LINE"
// $ANTLR start "PRAGMA"
public final void mPRAGMA() throws RecognitionException {
try {
int _type = PRAGMA;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:144:9: ( 'pragma' )
// PreprocessorLexer.g:144:11: 'pragma'
{
match("pragma");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "PRAGMA"
// $ANTLR start "UNDEF"
public final void mUNDEF() throws RecognitionException {
try {
int _type = UNDEF;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:145:8: ( 'undef' )
// PreprocessorLexer.g:145:10: 'undef'
{
match("undef");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "UNDEF"
// $ANTLR start "ELLIPSIS"
public final void mELLIPSIS() throws RecognitionException {
try {
int _type = ELLIPSIS;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:148:10: ( '...' )
// PreprocessorLexer.g:148:13: '...'
{
match("...");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ELLIPSIS"
// $ANTLR start "DOTDOT"
public final void mDOTDOT() throws RecognitionException {
try {
int _type = DOTDOT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:149:9: ( '..' )
// PreprocessorLexer.g:149:12: '..'
{
match("..");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "DOTDOT"
// $ANTLR start "DOT"
public final void mDOT() throws RecognitionException {
try {
int _type = DOT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:150:6: ( '.' )
// PreprocessorLexer.g:150:8: '.'
{
match('.');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "DOT"
// $ANTLR start "AMPERSAND"
public final void mAMPERSAND() throws RecognitionException {
try {
int _type = AMPERSAND;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:151:11: ( '&' )
// PreprocessorLexer.g:151:13: '&'
{
match('&');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "AMPERSAND"
// $ANTLR start "AND"
public final void mAND() throws RecognitionException {
try {
int _type = AND;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:152:6: ( '&&' )
// PreprocessorLexer.g:152:8: '&&'
{
match("&&");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "AND"
// $ANTLR start "ARROW"
public final void mARROW() throws RecognitionException {
try {
int _type = ARROW;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:153:8: ( '->' )
// PreprocessorLexer.g:153:10: '->'
{
match("->");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ARROW"
// $ANTLR start "ASSIGN"
public final void mASSIGN() throws RecognitionException {
try {
int _type = ASSIGN;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:154:9: ( '=' )
// PreprocessorLexer.g:154:11: '='
{
match('=');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ASSIGN"
// $ANTLR start "BITANDEQ"
public final void mBITANDEQ() throws RecognitionException {
try {
int _type = BITANDEQ;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:155:10: ( '&=' )
// PreprocessorLexer.g:155:12: '&='
{
match("&=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "BITANDEQ"
// $ANTLR start "BITOR"
public final void mBITOR() throws RecognitionException {
try {
int _type = BITOR;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:156:8: ( '|' )
// PreprocessorLexer.g:156:10: '|'
{
match('|');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "BITOR"
// $ANTLR start "BITOREQ"
public final void mBITOREQ() throws RecognitionException {
try {
int _type = BITOREQ;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:157:10: ( '|=' )
// PreprocessorLexer.g:157:12: '|='
{
match("|=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "BITOREQ"
// $ANTLR start "BITXOR"
public final void mBITXOR() throws RecognitionException {
try {
int _type = BITXOR;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:158:9: ( '^' )
// PreprocessorLexer.g:158:11: '^'
{
match('^');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "BITXOR"
// $ANTLR start "BITXOREQ"
public final void mBITXOREQ() throws RecognitionException {
try {
int _type = BITXOREQ;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:159:10: ( '^=' )
// PreprocessorLexer.g:159:12: '^='
{
match("^=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "BITXOREQ"
// $ANTLR start "COLON"
public final void mCOLON() throws RecognitionException {
try {
int _type = COLON;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:160:8: ( ':' )
// PreprocessorLexer.g:160:10: ':'
{
match(':');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "COLON"
// $ANTLR start "COMMA"
public final void mCOMMA() throws RecognitionException {
try {
int _type = COMMA;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:161:8: ( ',' )
// PreprocessorLexer.g:161:10: ','
{
match(',');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "COMMA"
// $ANTLR start "DIV"
public final void mDIV() throws RecognitionException {
try {
int _type = DIV;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:162:6: ( '/' )
// PreprocessorLexer.g:162:8: '/'
{
match('/');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "DIV"
// $ANTLR start "DIVEQ"
public final void mDIVEQ() throws RecognitionException {
try {
int _type = DIVEQ;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:163:8: ( '/=' )
// PreprocessorLexer.g:163:10: '/='
{
match("/=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "DIVEQ"
// $ANTLR start "EQUALS"
public final void mEQUALS() throws RecognitionException {
try {
int _type = EQUALS;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:164:9: ( '==' )
// PreprocessorLexer.g:164:11: '=='
{
match("==");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "EQUALS"
// $ANTLR start "GT"
public final void mGT() throws RecognitionException {
try {
int _type = GT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:165:5: ( '>' )
// PreprocessorLexer.g:165:7: '>'
{
match('>');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "GT"
// $ANTLR start "GTE"
public final void mGTE() throws RecognitionException {
try {
int _type = GTE;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:166:6: ( '>=' )
// PreprocessorLexer.g:166:8: '>='
{
match(">=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "GTE"
// $ANTLR start "HASH"
public final void mHASH() throws RecognitionException {
try {
int _type = HASH;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:167:7: ( '#' | '%:' )
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0=='#') ) {
alt2=1;
}
else if ( (LA2_0=='%') ) {
alt2=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 2, 0, input);
throw nvae;
}
switch (alt2) {
case 1 :
// PreprocessorLexer.g:167:9: '#'
{
match('#');
}
break;
case 2 :
// PreprocessorLexer.g:167:15: '%:'
{
match("%:");
}
break;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "HASH"
// $ANTLR start "HASHHASH"
public final void mHASHHASH() throws RecognitionException {
try {
int _type = HASHHASH;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:168:10: ( '##' | '%:%:' )
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0=='#') ) {
alt3=1;
}
else if ( (LA3_0=='%') ) {
alt3=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 3, 0, input);
throw nvae;
}
switch (alt3) {
case 1 :
// PreprocessorLexer.g:168:12: '##'
{
match("##");
}
break;
case 2 :
// PreprocessorLexer.g:168:19: '%:%:'
{
match("%:%:");
}
break;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "HASHHASH"
// $ANTLR start "LCURLY"
public final void mLCURLY() throws RecognitionException {
try {
int _type = LCURLY;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:169:9: ( '{' | '<%' )
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0=='{') ) {
alt4=1;
}
else if ( (LA4_0=='<') ) {
alt4=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 4, 0, input);
throw nvae;
}
switch (alt4) {
case 1 :
// PreprocessorLexer.g:169:11: '{'
{
match('{');
}
break;
case 2 :
// PreprocessorLexer.g:169:17: '<%'
{
match("<%");
}
break;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "LCURLY"
// $ANTLR start "LPAREN"
public final void mLPAREN() throws RecognitionException {
try {
int _type = LPAREN;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:170:9: ( '(' )
// PreprocessorLexer.g:170:11: '('
{
match('(');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "LPAREN"
// $ANTLR start "LSQUARE"
public final void mLSQUARE() throws RecognitionException {
try {
int _type = LSQUARE;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:171:10: ( '[' | '<:' )
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0=='[') ) {
alt5=1;
}
else if ( (LA5_0=='<') ) {
alt5=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 5, 0, input);
throw nvae;
}
switch (alt5) {
case 1 :
// PreprocessorLexer.g:171:12: '['
{
match('[');
}
break;
case 2 :
// PreprocessorLexer.g:171:18: '<:'
{
match("<:");
}
break;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "LSQUARE"
// $ANTLR start "LT"
public final void mLT() throws RecognitionException {
try {
int _type = LT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:172:5: ( '<' )
// PreprocessorLexer.g:172:7: '<'
{
match('<');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "LT"
// $ANTLR start "LTE"
public final void mLTE() throws RecognitionException {
try {
int _type = LTE;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:173:6: ( '<=' )
// PreprocessorLexer.g:173:8: '<='
{
match("<=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "LTE"
// $ANTLR start "MINUSMINUS"
public final void mMINUSMINUS() throws RecognitionException {
try {
int _type = MINUSMINUS;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:174:12: ( '--' )
// PreprocessorLexer.g:174:14: '--'
{
match("--");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "MINUSMINUS"
// $ANTLR start "MOD"
public final void mMOD() throws RecognitionException {
try {
int _type = MOD;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:175:6: ( '%' )
// PreprocessorLexer.g:175:8: '%'
{
match('%');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "MOD"
// $ANTLR start "MODEQ"
public final void mMODEQ() throws RecognitionException {
try {
int _type = MODEQ;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:176:8: ( '%=' )
// PreprocessorLexer.g:176:10: '%='
{
match("%=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "MODEQ"
// $ANTLR start "NEQ"
public final void mNEQ() throws RecognitionException {
try {
int _type = NEQ;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:177:6: ( '!=' )
// PreprocessorLexer.g:177:8: '!='
{
match("!=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "NEQ"
// $ANTLR start "NOT"
public final void mNOT() throws RecognitionException {
try {
int _type = NOT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:178:6: ( '!' )
// PreprocessorLexer.g:178:8: '!'
{
match('!');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "NOT"
// $ANTLR start "OR"
public final void mOR() throws RecognitionException {
try {
int _type = OR;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:179:5: ( '||' )
// PreprocessorLexer.g:179:7: '||'
{
match("||");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "OR"
// $ANTLR start "PLUS"
public final void mPLUS() throws RecognitionException {
try {
int _type = PLUS;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:180:7: ( '+' )
// PreprocessorLexer.g:180:9: '+'
{
match('+');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "PLUS"
// $ANTLR start "PLUSEQ"
public final void mPLUSEQ() throws RecognitionException {
try {
int _type = PLUSEQ;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:181:9: ( '+=' )
// PreprocessorLexer.g:181:11: '+='
{
match("+=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "PLUSEQ"
// $ANTLR start "PLUSPLUS"
public final void mPLUSPLUS() throws RecognitionException {
try {
int _type = PLUSPLUS;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:182:10: ( '++' )
// PreprocessorLexer.g:182:12: '++'
{
match("++");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "PLUSPLUS"
// $ANTLR start "QMARK"
public final void mQMARK() throws RecognitionException {
try {
int _type = QMARK;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:183:8: ( '?' )
// PreprocessorLexer.g:183:10: '?'
{
match('?');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "QMARK"
// $ANTLR start "RCURLY"
public final void mRCURLY() throws RecognitionException {
try {
int _type = RCURLY;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:184:9: ( '}' | '%>' )
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0=='}') ) {
alt6=1;
}
else if ( (LA6_0=='%') ) {
alt6=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 6, 0, input);
throw nvae;
}
switch (alt6) {
case 1 :
// PreprocessorLexer.g:184:11: '}'
{
match('}');
}
break;
case 2 :
// PreprocessorLexer.g:184:17: '%>'
{
match("%>");
}
break;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "RCURLY"
// $ANTLR start "RPAREN"
public final void mRPAREN() throws RecognitionException {
try {
int _type = RPAREN;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:185:9: ( ')' )
// PreprocessorLexer.g:185:11: ')'
{
match(')');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "RPAREN"
// $ANTLR start "RSQUARE"
public final void mRSQUARE() throws RecognitionException {
try {
int _type = RSQUARE;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:186:10: ( ']' | ':>' )
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==']') ) {
alt7=1;
}
else if ( (LA7_0==':') ) {
alt7=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 7, 0, input);
throw nvae;
}
switch (alt7) {
case 1 :
// PreprocessorLexer.g:186:12: ']'
{
match(']');
}
break;
case 2 :
// PreprocessorLexer.g:186:18: ':>'
{
match(":>");
}
break;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "RSQUARE"
// $ANTLR start "SEMI"
public final void mSEMI() throws RecognitionException {
try {
int _type = SEMI;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:187:7: ( ';' )
// PreprocessorLexer.g:187:9: ';'
{
match(';');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "SEMI"
// $ANTLR start "SHIFTLEFT"
public final void mSHIFTLEFT() throws RecognitionException {
try {
int _type = SHIFTLEFT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:188:11: ( '<<' )
// PreprocessorLexer.g:188:13: '<<'
{
match("<<");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "SHIFTLEFT"
// $ANTLR start "SHIFTLEFTEQ"
public final void mSHIFTLEFTEQ() throws RecognitionException {
try {
int _type = SHIFTLEFTEQ;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:189:13: ( '<<=' )
// PreprocessorLexer.g:189:15: '<<='
{
match("<<=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "SHIFTLEFTEQ"
// $ANTLR start "SHIFTRIGHT"
public final void mSHIFTRIGHT() throws RecognitionException {
try {
int _type = SHIFTRIGHT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:190:12: ( '>>' )
// PreprocessorLexer.g:190:14: '>>'
{
match(">>");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "SHIFTRIGHT"
// $ANTLR start "SHIFTRIGHTEQ"
public final void mSHIFTRIGHTEQ() throws RecognitionException {
try {
int _type = SHIFTRIGHTEQ;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:191:14: ( '>>=' )
// PreprocessorLexer.g:191:16: '>>='
{
match(">>=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "SHIFTRIGHTEQ"
// $ANTLR start "STAR"
public final void mSTAR() throws RecognitionException {
try {
int _type = STAR;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:192:7: ( '*' )
// PreprocessorLexer.g:192:9: '*'
{
match('*');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "STAR"
// $ANTLR start "STAREQ"
public final void mSTAREQ() throws RecognitionException {
try {
int _type = STAREQ;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:193:9: ( '*=' )
// PreprocessorLexer.g:193:11: '*='
{
match("*=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "STAREQ"
// $ANTLR start "SUB"
public final void mSUB() throws RecognitionException {
try {
int _type = SUB;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:194:6: ( '-' )
// PreprocessorLexer.g:194:8: '-'
{
match('-');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "SUB"
// $ANTLR start "SUBEQ"
public final void mSUBEQ() throws RecognitionException {
try {
int _type = SUBEQ;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:195:8: ( '-=' )
// PreprocessorLexer.g:195:10: '-='
{
match("-=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "SUBEQ"
// $ANTLR start "TILDE"
public final void mTILDE() throws RecognitionException {
try {
int _type = TILDE;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:196:8: ( '~' )
// PreprocessorLexer.g:196:10: '~'
{
match('~');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "TILDE"
// $ANTLR start "AT"
public final void mAT() throws RecognitionException {
try {
int _type = AT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:201:6: ( '@' )
// PreprocessorLexer.g:201:8: '@'
{
match('@');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "AT"
// $ANTLR start "EQUIV_ACSL"
public final void mEQUIV_ACSL() throws RecognitionException {
try {
int _type = EQUIV_ACSL;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:202:13: ( '<==>' )
// PreprocessorLexer.g:202:15: '<==>'
{
match("<==>");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "EQUIV_ACSL"
// $ANTLR start "IMPLIES"
public final void mIMPLIES() throws RecognitionException {
try {
int _type = IMPLIES;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:203:11: ( '=>' )
// PreprocessorLexer.g:203:13: '=>'
{
match("=>");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "IMPLIES"
// $ANTLR start "IMPLIES_ACSL"
public final void mIMPLIES_ACSL() throws RecognitionException {
try {
int _type = IMPLIES_ACSL;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:204:15: ( '==>' )
// PreprocessorLexer.g:204:17: '==>'
{
match("==>");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "IMPLIES_ACSL"
// $ANTLR start "LSLIST"
public final void mLSLIST() throws RecognitionException {
try {
int _type = LSLIST;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:206:10: ( '<|' )
// PreprocessorLexer.g:206:12: '<|'
{
match("<|");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "LSLIST"
// $ANTLR start "RSLIST"
public final void mRSLIST() throws RecognitionException {
try {
int _type = RSLIST;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:207:10: ( '|>' )
// PreprocessorLexer.g:207:12: '|>'
{
match("|>");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "RSLIST"
// $ANTLR start "XOR_ACSL"
public final void mXOR_ACSL() throws RecognitionException {
try {
int _type = XOR_ACSL;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:208:11: ( '^^' )
// PreprocessorLexer.g:208:13: '^^'
{
match("^^");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "XOR_ACSL"
// $ANTLR start "LEXCON"
public final void mLEXCON() throws RecognitionException {
try {
int _type = LEXCON;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:211:10: ( '<<<' )
// PreprocessorLexer.g:211:12: '<<<'
{
match("<<<");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "LEXCON"
// $ANTLR start "REXCON"
public final void mREXCON() throws RecognitionException {
try {
int _type = REXCON;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:212:10: ( '>>>' )
// PreprocessorLexer.g:212:12: '>>>'
{
match(">>>");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "REXCON"
// $ANTLR start "IDENTIFIER"
public final void mIDENTIFIER() throws RecognitionException {
try {
int _type = IDENTIFIER;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:216:12: ( IdentifierNonDigit ( IdentifierNonDigit | Digit )* )
// PreprocessorLexer.g:216:14: IdentifierNonDigit ( IdentifierNonDigit | Digit )*
{
mIdentifierNonDigit();
// PreprocessorLexer.g:217:4: ( IdentifierNonDigit | Digit )*
loop8:
while (true) {
int alt8=3;
int LA8_0 = input.LA(1);
if ( (LA8_0=='$'||(LA8_0 >= 'A' && LA8_0 <= 'Z')||LA8_0=='\\'||LA8_0=='_'||(LA8_0 >= 'a' && LA8_0 <= 'z')) ) {
alt8=1;
}
else if ( ((LA8_0 >= '0' && LA8_0 <= '9')) ) {
alt8=2;
}
switch (alt8) {
case 1 :
// PreprocessorLexer.g:217:5: IdentifierNonDigit
{
mIdentifierNonDigit();
}
break;
case 2 :
// PreprocessorLexer.g:217:26: Digit
{
mDigit();
}
break;
default :
break loop8;
}
}
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "IDENTIFIER"
// $ANTLR start "IdentifierNonDigit"
public final void mIdentifierNonDigit() throws RecognitionException {
try {
// PreprocessorLexer.g:222:3: ( NonDigit | UniversalCharacterName )
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0=='$'||(LA9_0 >= 'A' && LA9_0 <= 'Z')||LA9_0=='_'||(LA9_0 >= 'a' && LA9_0 <= 'z')) ) {
alt9=1;
}
else if ( (LA9_0=='\\') ) {
alt9=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 9, 0, input);
throw nvae;
}
switch (alt9) {
case 1 :
// PreprocessorLexer.g:222:5: NonDigit
{
mNonDigit();
}
break;
case 2 :
// PreprocessorLexer.g:222:16: UniversalCharacterName
{
mUniversalCharacterName();
}
break;
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "IdentifierNonDigit"
// $ANTLR start "Zero"
public final void mZero() throws RecognitionException {
try {
// PreprocessorLexer.g:225:7: ( '0' )
// PreprocessorLexer.g:225:9: '0'
{
match('0');
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Zero"
// $ANTLR start "Digit"
public final void mDigit() throws RecognitionException {
try {
// PreprocessorLexer.g:228:8: ( Zero | NonZeroDigit )
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Digit"
// $ANTLR start "NonZeroDigit"
public final void mNonZeroDigit() throws RecognitionException {
try {
// PreprocessorLexer.g:231:14: ( '1' .. '9' )
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '1' && input.LA(1) <= '9') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "NonZeroDigit"
// $ANTLR start "NonDigit"
public final void mNonDigit() throws RecognitionException {
try {
// PreprocessorLexer.g:234:10: ( 'A' .. 'Z' | 'a' .. 'z' | '_' | '$' )
// PreprocessorLexer.g:
{
if ( input.LA(1)=='$'||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "NonDigit"
// $ANTLR start "UniversalCharacterName"
public final void mUniversalCharacterName() throws RecognitionException {
try {
// PreprocessorLexer.g:238:3: ( '\\\\' 'u' HexQuad | '\\\\' 'U' HexQuad HexQuad )
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0=='\\') ) {
int LA10_1 = input.LA(2);
if ( (LA10_1=='u') ) {
alt10=1;
}
else if ( (LA10_1=='U') ) {
alt10=2;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 10, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 10, 0, input);
throw nvae;
}
switch (alt10) {
case 1 :
// PreprocessorLexer.g:238:5: '\\\\' 'u' HexQuad
{
match('\\');
match('u');
mHexQuad();
}
break;
case 2 :
// PreprocessorLexer.g:239:5: '\\\\' 'U' HexQuad HexQuad
{
match('\\');
match('U');
mHexQuad();
mHexQuad();
}
break;
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "UniversalCharacterName"
// $ANTLR start "HexQuad"
public final void mHexQuad() throws RecognitionException {
try {
// PreprocessorLexer.g:243:10: ( HexadecimalDigit HexadecimalDigit HexadecimalDigit HexadecimalDigit )
// PreprocessorLexer.g:243:12: HexadecimalDigit HexadecimalDigit HexadecimalDigit HexadecimalDigit
{
mHexadecimalDigit();
mHexadecimalDigit();
mHexadecimalDigit();
mHexadecimalDigit();
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "HexQuad"
// $ANTLR start "HexadecimalDigit"
public final void mHexadecimalDigit() throws RecognitionException {
try {
// PreprocessorLexer.g:247:3: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "HexadecimalDigit"
// $ANTLR start "INTEGER_CONSTANT"
public final void mINTEGER_CONSTANT() throws RecognitionException {
try {
int _type = INTEGER_CONSTANT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:251:3: ( DecimalConstant ( IntegerSuffix )? | OctalConstant ( IntegerSuffix )? | HexadecimalConstant ( IntegerSuffix )? )
int alt14=3;
int LA14_0 = input.LA(1);
if ( ((LA14_0 >= '1' && LA14_0 <= '9')) ) {
alt14=1;
}
else if ( (LA14_0=='0') ) {
int LA14_2 = input.LA(2);
if ( (LA14_2=='X'||LA14_2=='x') ) {
alt14=3;
}
else {
alt14=2;
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 14, 0, input);
throw nvae;
}
switch (alt14) {
case 1 :
// PreprocessorLexer.g:251:5: DecimalConstant ( IntegerSuffix )?
{
mDecimalConstant();
// PreprocessorLexer.g:251:21: ( IntegerSuffix )?
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0=='L'||LA11_0=='U'||LA11_0=='l'||LA11_0=='u') ) {
alt11=1;
}
switch (alt11) {
case 1 :
// PreprocessorLexer.g:251:21: IntegerSuffix
{
mIntegerSuffix();
}
break;
}
}
break;
case 2 :
// PreprocessorLexer.g:252:5: OctalConstant ( IntegerSuffix )?
{
mOctalConstant();
// PreprocessorLexer.g:252:19: ( IntegerSuffix )?
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0=='L'||LA12_0=='U'||LA12_0=='l'||LA12_0=='u') ) {
alt12=1;
}
switch (alt12) {
case 1 :
// PreprocessorLexer.g:252:19: IntegerSuffix
{
mIntegerSuffix();
}
break;
}
}
break;
case 3 :
// PreprocessorLexer.g:253:5: HexadecimalConstant ( IntegerSuffix )?
{
mHexadecimalConstant();
// PreprocessorLexer.g:253:25: ( IntegerSuffix )?
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0=='L'||LA13_0=='U'||LA13_0=='l'||LA13_0=='u') ) {
alt13=1;
}
switch (alt13) {
case 1 :
// PreprocessorLexer.g:253:25: IntegerSuffix
{
mIntegerSuffix();
}
break;
}
}
break;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "INTEGER_CONSTANT"
// $ANTLR start "DecimalConstant"
public final void mDecimalConstant() throws RecognitionException {
try {
// PreprocessorLexer.g:257:17: ( NonZeroDigit ( Digit )* )
// PreprocessorLexer.g:257:19: NonZeroDigit ( Digit )*
{
mNonZeroDigit();
// PreprocessorLexer.g:257:32: ( Digit )*
loop15:
while (true) {
int alt15=2;
int LA15_0 = input.LA(1);
if ( ((LA15_0 >= '0' && LA15_0 <= '9')) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
break loop15;
}
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "DecimalConstant"
// $ANTLR start "IntegerSuffix"
public final void mIntegerSuffix() throws RecognitionException {
try {
// PreprocessorLexer.g:261:15: ( UnsignedSuffix ( LongSuffix )? | UnsignedSuffix LongLongSuffix | LongSuffix ( UnsignedSuffix )? | LongLongSuffix ( UnsignedSuffix )? )
int alt19=4;
switch ( input.LA(1) ) {
case 'U':
case 'u':
{
switch ( input.LA(2) ) {
case 'l':
{
int LA19_5 = input.LA(3);
if ( (LA19_5=='l') ) {
alt19=2;
}
else {
alt19=1;
}
}
break;
case 'L':
{
int LA19_6 = input.LA(3);
if ( (LA19_6=='L') ) {
alt19=2;
}
else {
alt19=1;
}
}
break;
default:
alt19=1;
}
}
break;
case 'l':
{
int LA19_2 = input.LA(2);
if ( (LA19_2=='l') ) {
alt19=4;
}
else {
alt19=3;
}
}
break;
case 'L':
{
int LA19_3 = input.LA(2);
if ( (LA19_3=='L') ) {
alt19=4;
}
else {
alt19=3;
}
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 19, 0, input);
throw nvae;
}
switch (alt19) {
case 1 :
// PreprocessorLexer.g:261:17: UnsignedSuffix ( LongSuffix )?
{
mUnsignedSuffix();
// PreprocessorLexer.g:261:32: ( LongSuffix )?
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0=='L'||LA16_0=='l') ) {
alt16=1;
}
switch (alt16) {
case 1 :
// PreprocessorLexer.g:
{
if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
}
}
break;
case 2 :
// PreprocessorLexer.g:262:5: UnsignedSuffix LongLongSuffix
{
mUnsignedSuffix();
mLongLongSuffix();
}
break;
case 3 :
// PreprocessorLexer.g:263:5: LongSuffix ( UnsignedSuffix )?
{
mLongSuffix();
// PreprocessorLexer.g:263:16: ( UnsignedSuffix )?
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0=='U'||LA17_0=='u') ) {
alt17=1;
}
switch (alt17) {
case 1 :
// PreprocessorLexer.g:
{
if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
}
}
break;
case 4 :
// PreprocessorLexer.g:264:5: LongLongSuffix ( UnsignedSuffix )?
{
mLongLongSuffix();
// PreprocessorLexer.g:264:20: ( UnsignedSuffix )?
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0=='U'||LA18_0=='u') ) {
alt18=1;
}
switch (alt18) {
case 1 :
// PreprocessorLexer.g:
{
if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
}
}
break;
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "IntegerSuffix"
// $ANTLR start "UnsignedSuffix"
public final void mUnsignedSuffix() throws RecognitionException {
try {
// PreprocessorLexer.g:268:16: ( 'u' | 'U' )
// PreprocessorLexer.g:
{
if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "UnsignedSuffix"
// $ANTLR start "LongSuffix"
public final void mLongSuffix() throws RecognitionException {
try {
// PreprocessorLexer.g:271:12: ( 'l' | 'L' )
// PreprocessorLexer.g:
{
if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "LongSuffix"
// $ANTLR start "LongLongSuffix"
public final void mLongLongSuffix() throws RecognitionException {
try {
// PreprocessorLexer.g:274:16: ( 'll' | 'LL' )
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0=='l') ) {
alt20=1;
}
else if ( (LA20_0=='L') ) {
alt20=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 20, 0, input);
throw nvae;
}
switch (alt20) {
case 1 :
// PreprocessorLexer.g:274:18: 'll'
{
match("ll");
}
break;
case 2 :
// PreprocessorLexer.g:274:25: 'LL'
{
match("LL");
}
break;
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "LongLongSuffix"
// $ANTLR start "OctalConstant"
public final void mOctalConstant() throws RecognitionException {
try {
// PreprocessorLexer.g:277:15: ( Zero ( OctalDigit )* ( IntegerSuffix )? )
// PreprocessorLexer.g:277:17: Zero ( OctalDigit )* ( IntegerSuffix )?
{
mZero();
// PreprocessorLexer.g:277:22: ( OctalDigit )*
loop21:
while (true) {
int alt21=2;
int LA21_0 = input.LA(1);
if ( ((LA21_0 >= '0' && LA21_0 <= '7')) ) {
alt21=1;
}
switch (alt21) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
break loop21;
}
}
// PreprocessorLexer.g:277:34: ( IntegerSuffix )?
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0=='L'||LA22_0=='U'||LA22_0=='l'||LA22_0=='u') ) {
alt22=1;
}
switch (alt22) {
case 1 :
// PreprocessorLexer.g:277:34: IntegerSuffix
{
mIntegerSuffix();
}
break;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "OctalConstant"
// $ANTLR start "HexadecimalConstant"
public final void mHexadecimalConstant() throws RecognitionException {
try {
// PreprocessorLexer.g:281:3: ( HexPrefix ( HexadecimalDigit )+ ( IntegerSuffix )? )
// PreprocessorLexer.g:281:5: HexPrefix ( HexadecimalDigit )+ ( IntegerSuffix )?
{
mHexPrefix();
// PreprocessorLexer.g:281:15: ( HexadecimalDigit )+
int cnt23=0;
loop23:
while (true) {
int alt23=2;
int LA23_0 = input.LA(1);
if ( ((LA23_0 >= '0' && LA23_0 <= '9')||(LA23_0 >= 'A' && LA23_0 <= 'F')||(LA23_0 >= 'a' && LA23_0 <= 'f')) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt23 >= 1 ) break loop23;
EarlyExitException eee = new EarlyExitException(23, input);
throw eee;
}
cnt23++;
}
// PreprocessorLexer.g:281:33: ( IntegerSuffix )?
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0=='L'||LA24_0=='U'||LA24_0=='l'||LA24_0=='u') ) {
alt24=1;
}
switch (alt24) {
case 1 :
// PreprocessorLexer.g:281:33: IntegerSuffix
{
mIntegerSuffix();
}
break;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "HexadecimalConstant"
// $ANTLR start "HexPrefix"
public final void mHexPrefix() throws RecognitionException {
try {
// PreprocessorLexer.g:284:11: ( Zero ( 'x' | 'X' ) )
// PreprocessorLexer.g:284:13: Zero ( 'x' | 'X' )
{
mZero();
if ( input.LA(1)=='X'||input.LA(1)=='x' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "HexPrefix"
// $ANTLR start "FLOATING_CONSTANT"
public final void mFLOATING_CONSTANT() throws RecognitionException {
try {
int _type = FLOATING_CONSTANT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:289:3: ( DecimalFloatingConstant | HexadecimalFloatingConstant )
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0=='0') ) {
int LA25_1 = input.LA(2);
if ( (LA25_1=='.'||(LA25_1 >= '0' && LA25_1 <= '9')||LA25_1=='E'||LA25_1=='e') ) {
alt25=1;
}
else if ( (LA25_1=='X'||LA25_1=='x') ) {
alt25=2;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 25, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else if ( (LA25_0=='.'||(LA25_0 >= '1' && LA25_0 <= '9')) ) {
alt25=1;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 25, 0, input);
throw nvae;
}
switch (alt25) {
case 1 :
// PreprocessorLexer.g:289:5: DecimalFloatingConstant
{
mDecimalFloatingConstant();
}
break;
case 2 :
// PreprocessorLexer.g:290:5: HexadecimalFloatingConstant
{
mHexadecimalFloatingConstant();
}
break;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "FLOATING_CONSTANT"
// $ANTLR start "DecimalFloatingConstant"
public final void mDecimalFloatingConstant() throws RecognitionException {
try {
// PreprocessorLexer.g:295:3: ( FractionalConstant ( ExponentPart )? ( FloatingSuffix )? | ( Digit )+ ExponentPart ( FloatingSuffix )? )
int alt30=2;
alt30 = dfa30.predict(input);
switch (alt30) {
case 1 :
// PreprocessorLexer.g:295:5: FractionalConstant ( ExponentPart )? ( FloatingSuffix )?
{
mFractionalConstant();
// PreprocessorLexer.g:295:24: ( ExponentPart )?
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0=='E'||LA26_0=='e') ) {
alt26=1;
}
switch (alt26) {
case 1 :
// PreprocessorLexer.g:295:24: ExponentPart
{
mExponentPart();
}
break;
}
// PreprocessorLexer.g:295:38: ( FloatingSuffix )?
int alt27=2;
int LA27_0 = input.LA(1);
if ( (LA27_0=='F'||(LA27_0 >= 'I' && LA27_0 <= 'J')||LA27_0=='L'||LA27_0=='f'||(LA27_0 >= 'i' && LA27_0 <= 'j')||LA27_0=='l') ) {
alt27=1;
}
switch (alt27) {
case 1 :
// PreprocessorLexer.g:295:38: FloatingSuffix
{
mFloatingSuffix();
}
break;
}
}
break;
case 2 :
// PreprocessorLexer.g:296:5: ( Digit )+ ExponentPart ( FloatingSuffix )?
{
// PreprocessorLexer.g:296:5: ( Digit )+
int cnt28=0;
loop28:
while (true) {
int alt28=2;
int LA28_0 = input.LA(1);
if ( ((LA28_0 >= '0' && LA28_0 <= '9')) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt28 >= 1 ) break loop28;
EarlyExitException eee = new EarlyExitException(28, input);
throw eee;
}
cnt28++;
}
mExponentPart();
// PreprocessorLexer.g:296:25: ( FloatingSuffix )?
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0=='F'||(LA29_0 >= 'I' && LA29_0 <= 'J')||LA29_0=='L'||LA29_0=='f'||(LA29_0 >= 'i' && LA29_0 <= 'j')||LA29_0=='l') ) {
alt29=1;
}
switch (alt29) {
case 1 :
// PreprocessorLexer.g:296:25: FloatingSuffix
{
mFloatingSuffix();
}
break;
}
}
break;
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "DecimalFloatingConstant"
// $ANTLR start "FractionalConstant"
public final void mFractionalConstant() throws RecognitionException {
try {
// PreprocessorLexer.g:301:3: ( ( Digit )* DOT ( Digit )+ | ( Digit )+ DOT )
int alt34=2;
alt34 = dfa34.predict(input);
switch (alt34) {
case 1 :
// PreprocessorLexer.g:301:5: ( Digit )* DOT ( Digit )+
{
// PreprocessorLexer.g:301:5: ( Digit )*
loop31:
while (true) {
int alt31=2;
int LA31_0 = input.LA(1);
if ( ((LA31_0 >= '0' && LA31_0 <= '9')) ) {
alt31=1;
}
switch (alt31) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
break loop31;
}
}
mDOT();
// PreprocessorLexer.g:301:16: ( Digit )+
int cnt32=0;
loop32:
while (true) {
int alt32=2;
int LA32_0 = input.LA(1);
if ( ((LA32_0 >= '0' && LA32_0 <= '9')) ) {
alt32=1;
}
switch (alt32) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt32 >= 1 ) break loop32;
EarlyExitException eee = new EarlyExitException(32, input);
throw eee;
}
cnt32++;
}
}
break;
case 2 :
// PreprocessorLexer.g:302:5: ( Digit )+ DOT
{
// PreprocessorLexer.g:302:5: ( Digit )+
int cnt33=0;
loop33:
while (true) {
int alt33=2;
int LA33_0 = input.LA(1);
if ( ((LA33_0 >= '0' && LA33_0 <= '9')) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt33 >= 1 ) break loop33;
EarlyExitException eee = new EarlyExitException(33, input);
throw eee;
}
cnt33++;
}
mDOT();
}
break;
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "FractionalConstant"
// $ANTLR start "ExponentPart"
public final void mExponentPart() throws RecognitionException {
try {
// PreprocessorLexer.g:306:14: ( ( 'e' | 'E' ) ( '+' | '-' )? ( Digit )+ )
// PreprocessorLexer.g:306:16: ( 'e' | 'E' ) ( '+' | '-' )? ( Digit )+
{
if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
// PreprocessorLexer.g:306:28: ( '+' | '-' )?
int alt35=2;
int LA35_0 = input.LA(1);
if ( (LA35_0=='+'||LA35_0=='-') ) {
alt35=1;
}
switch (alt35) {
case 1 :
// PreprocessorLexer.g:
{
if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
}
// PreprocessorLexer.g:306:41: ( Digit )+
int cnt36=0;
loop36:
while (true) {
int alt36=2;
int LA36_0 = input.LA(1);
if ( ((LA36_0 >= '0' && LA36_0 <= '9')) ) {
alt36=1;
}
switch (alt36) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt36 >= 1 ) break loop36;
EarlyExitException eee = new EarlyExitException(36, input);
throw eee;
}
cnt36++;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ExponentPart"
// $ANTLR start "FloatingSuffix"
public final void mFloatingSuffix() throws RecognitionException {
try {
// PreprocessorLexer.g:310:3: ( 'f' | 'l' | 'F' | 'L' | 'i' | 'I' | 'j' | 'J' | 'if' | 'IF' | 'jf' | 'JF' | 'il' | 'IL' | 'jl' | 'JL' )
int alt37=16;
switch ( input.LA(1) ) {
case 'f':
{
alt37=1;
}
break;
case 'l':
{
alt37=2;
}
break;
case 'F':
{
alt37=3;
}
break;
case 'L':
{
alt37=4;
}
break;
case 'i':
{
switch ( input.LA(2) ) {
case 'f':
{
alt37=9;
}
break;
case 'l':
{
alt37=13;
}
break;
default:
alt37=5;
}
}
break;
case 'I':
{
switch ( input.LA(2) ) {
case 'F':
{
alt37=10;
}
break;
case 'L':
{
alt37=14;
}
break;
default:
alt37=6;
}
}
break;
case 'j':
{
switch ( input.LA(2) ) {
case 'f':
{
alt37=11;
}
break;
case 'l':
{
alt37=15;
}
break;
default:
alt37=7;
}
}
break;
case 'J':
{
switch ( input.LA(2) ) {
case 'F':
{
alt37=12;
}
break;
case 'L':
{
alt37=16;
}
break;
default:
alt37=8;
}
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 37, 0, input);
throw nvae;
}
switch (alt37) {
case 1 :
// PreprocessorLexer.g:310:5: 'f'
{
match('f');
}
break;
case 2 :
// PreprocessorLexer.g:310:11: 'l'
{
match('l');
}
break;
case 3 :
// PreprocessorLexer.g:310:17: 'F'
{
match('F');
}
break;
case 4 :
// PreprocessorLexer.g:310:23: 'L'
{
match('L');
}
break;
case 5 :
// PreprocessorLexer.g:310:29: 'i'
{
match('i');
}
break;
case 6 :
// PreprocessorLexer.g:310:35: 'I'
{
match('I');
}
break;
case 7 :
// PreprocessorLexer.g:310:41: 'j'
{
match('j');
}
break;
case 8 :
// PreprocessorLexer.g:310:47: 'J'
{
match('J');
}
break;
case 9 :
// PreprocessorLexer.g:311:5: 'if'
{
match("if");
}
break;
case 10 :
// PreprocessorLexer.g:311:12: 'IF'
{
match("IF");
}
break;
case 11 :
// PreprocessorLexer.g:311:19: 'jf'
{
match("jf");
}
break;
case 12 :
// PreprocessorLexer.g:311:26: 'JF'
{
match("JF");
}
break;
case 13 :
// PreprocessorLexer.g:311:33: 'il'
{
match("il");
}
break;
case 14 :
// PreprocessorLexer.g:311:40: 'IL'
{
match("IL");
}
break;
case 15 :
// PreprocessorLexer.g:311:47: 'jl'
{
match("jl");
}
break;
case 16 :
// PreprocessorLexer.g:311:54: 'JL'
{
match("JL");
}
break;
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "FloatingSuffix"
// $ANTLR start "HexadecimalFloatingConstant"
public final void mHexadecimalFloatingConstant() throws RecognitionException {
try {
// PreprocessorLexer.g:316:3: ( HexPrefix HexFractionalConstant BinaryExponentPart ( FloatingSuffix )? | HexPrefix ( HexadecimalDigit )+ BinaryExponentPart ( FloatingSuffix )? )
int alt41=2;
alt41 = dfa41.predict(input);
switch (alt41) {
case 1 :
// PreprocessorLexer.g:316:5: HexPrefix HexFractionalConstant BinaryExponentPart ( FloatingSuffix )?
{
mHexPrefix();
mHexFractionalConstant();
mBinaryExponentPart();
// PreprocessorLexer.g:317:4: ( FloatingSuffix )?
int alt38=2;
int LA38_0 = input.LA(1);
if ( (LA38_0=='F'||(LA38_0 >= 'I' && LA38_0 <= 'J')||LA38_0=='L'||LA38_0=='f'||(LA38_0 >= 'i' && LA38_0 <= 'j')||LA38_0=='l') ) {
alt38=1;
}
switch (alt38) {
case 1 :
// PreprocessorLexer.g:317:4: FloatingSuffix
{
mFloatingSuffix();
}
break;
}
}
break;
case 2 :
// PreprocessorLexer.g:318:5: HexPrefix ( HexadecimalDigit )+ BinaryExponentPart ( FloatingSuffix )?
{
mHexPrefix();
// PreprocessorLexer.g:318:15: ( HexadecimalDigit )+
int cnt39=0;
loop39:
while (true) {
int alt39=2;
int LA39_0 = input.LA(1);
if ( ((LA39_0 >= '0' && LA39_0 <= '9')||(LA39_0 >= 'A' && LA39_0 <= 'F')||(LA39_0 >= 'a' && LA39_0 <= 'f')) ) {
alt39=1;
}
switch (alt39) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt39 >= 1 ) break loop39;
EarlyExitException eee = new EarlyExitException(39, input);
throw eee;
}
cnt39++;
}
mBinaryExponentPart();
// PreprocessorLexer.g:319:4: ( FloatingSuffix )?
int alt40=2;
int LA40_0 = input.LA(1);
if ( (LA40_0=='F'||(LA40_0 >= 'I' && LA40_0 <= 'J')||LA40_0=='L'||LA40_0=='f'||(LA40_0 >= 'i' && LA40_0 <= 'j')||LA40_0=='l') ) {
alt40=1;
}
switch (alt40) {
case 1 :
// PreprocessorLexer.g:319:4: FloatingSuffix
{
mFloatingSuffix();
}
break;
}
}
break;
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "HexadecimalFloatingConstant"
// $ANTLR start "HexFractionalConstant"
public final void mHexFractionalConstant() throws RecognitionException {
try {
// PreprocessorLexer.g:324:3: ( ( HexadecimalDigit )* DOT ( HexadecimalDigit )+ | ( HexadecimalDigit )+ DOT )
int alt45=2;
alt45 = dfa45.predict(input);
switch (alt45) {
case 1 :
// PreprocessorLexer.g:324:5: ( HexadecimalDigit )* DOT ( HexadecimalDigit )+
{
// PreprocessorLexer.g:324:5: ( HexadecimalDigit )*
loop42:
while (true) {
int alt42=2;
int LA42_0 = input.LA(1);
if ( ((LA42_0 >= '0' && LA42_0 <= '9')||(LA42_0 >= 'A' && LA42_0 <= 'F')||(LA42_0 >= 'a' && LA42_0 <= 'f')) ) {
alt42=1;
}
switch (alt42) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
break loop42;
}
}
mDOT();
// PreprocessorLexer.g:324:27: ( HexadecimalDigit )+
int cnt43=0;
loop43:
while (true) {
int alt43=2;
int LA43_0 = input.LA(1);
if ( ((LA43_0 >= '0' && LA43_0 <= '9')||(LA43_0 >= 'A' && LA43_0 <= 'F')||(LA43_0 >= 'a' && LA43_0 <= 'f')) ) {
alt43=1;
}
switch (alt43) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt43 >= 1 ) break loop43;
EarlyExitException eee = new EarlyExitException(43, input);
throw eee;
}
cnt43++;
}
}
break;
case 2 :
// PreprocessorLexer.g:325:5: ( HexadecimalDigit )+ DOT
{
// PreprocessorLexer.g:325:5: ( HexadecimalDigit )+
int cnt44=0;
loop44:
while (true) {
int alt44=2;
int LA44_0 = input.LA(1);
if ( ((LA44_0 >= '0' && LA44_0 <= '9')||(LA44_0 >= 'A' && LA44_0 <= 'F')||(LA44_0 >= 'a' && LA44_0 <= 'f')) ) {
alt44=1;
}
switch (alt44) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt44 >= 1 ) break loop44;
EarlyExitException eee = new EarlyExitException(44, input);
throw eee;
}
cnt44++;
}
mDOT();
}
break;
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "HexFractionalConstant"
// $ANTLR start "BinaryExponentPart"
public final void mBinaryExponentPart() throws RecognitionException {
try {
// PreprocessorLexer.g:330:3: ( ( 'p' | 'P' ) ( '+' | '-' )? ( Digit )+ )
// PreprocessorLexer.g:330:5: ( 'p' | 'P' ) ( '+' | '-' )? ( Digit )+
{
if ( input.LA(1)=='P'||input.LA(1)=='p' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
// PreprocessorLexer.g:330:17: ( '+' | '-' )?
int alt46=2;
int LA46_0 = input.LA(1);
if ( (LA46_0=='+'||LA46_0=='-') ) {
alt46=1;
}
switch (alt46) {
case 1 :
// PreprocessorLexer.g:
{
if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
}
// PreprocessorLexer.g:330:30: ( Digit )+
int cnt47=0;
loop47:
while (true) {
int alt47=2;
int LA47_0 = input.LA(1);
if ( ((LA47_0 >= '0' && LA47_0 <= '9')) ) {
alt47=1;
}
switch (alt47) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt47 >= 1 ) break loop47;
EarlyExitException eee = new EarlyExitException(47, input);
throw eee;
}
cnt47++;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "BinaryExponentPart"
// $ANTLR start "PP_NUMBER"
public final void mPP_NUMBER() throws RecognitionException {
try {
int _type = PP_NUMBER;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:338:11: ( ( '.' )? Digit ( '.' | IdentifierNonDigit | Digit | ( 'e' | 'E' | 'p' | 'P' ) ( '+' | '-' ) )* )
// PreprocessorLexer.g:338:13: ( '.' )? Digit ( '.' | IdentifierNonDigit | Digit | ( 'e' | 'E' | 'p' | 'P' ) ( '+' | '-' ) )*
{
// PreprocessorLexer.g:338:13: ( '.' )?
int alt48=2;
int LA48_0 = input.LA(1);
if ( (LA48_0=='.') ) {
alt48=1;
}
switch (alt48) {
case 1 :
// PreprocessorLexer.g:338:13: '.'
{
match('.');
}
break;
}
mDigit();
// PreprocessorLexer.g:339:4: ( '.' | IdentifierNonDigit | Digit | ( 'e' | 'E' | 'p' | 'P' ) ( '+' | '-' ) )*
loop49:
while (true) {
int alt49=5;
switch ( input.LA(1) ) {
case '.':
{
alt49=1;
}
break;
case 'E':
case 'P':
case 'e':
case 'p':
{
int LA49_3 = input.LA(2);
if ( (LA49_3=='+'||LA49_3=='-') ) {
alt49=4;
}
else {
alt49=2;
}
}
break;
case '$':
case 'A':
case 'B':
case 'C':
case 'D':
case 'F':
case 'G':
case 'H':
case 'I':
case 'J':
case 'K':
case 'L':
case 'M':
case 'N':
case 'O':
case 'Q':
case 'R':
case 'S':
case 'T':
case 'U':
case 'V':
case 'W':
case 'X':
case 'Y':
case 'Z':
case '\\':
case '_':
case 'a':
case 'b':
case 'c':
case 'd':
case 'f':
case 'g':
case 'h':
case 'i':
case 'j':
case 'k':
case 'l':
case 'm':
case 'n':
case 'o':
case 'q':
case 'r':
case 's':
case 't':
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
case 'z':
{
alt49=2;
}
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
alt49=3;
}
break;
}
switch (alt49) {
case 1 :
// PreprocessorLexer.g:339:6: '.'
{
match('.');
}
break;
case 2 :
// PreprocessorLexer.g:340:6: IdentifierNonDigit
{
mIdentifierNonDigit();
}
break;
case 3 :
// PreprocessorLexer.g:341:6: Digit
{
mDigit();
}
break;
case 4 :
// PreprocessorLexer.g:342:6: ( 'e' | 'E' | 'p' | 'P' ) ( '+' | '-' )
{
if ( input.LA(1)=='E'||input.LA(1)=='P'||input.LA(1)=='e'||input.LA(1)=='p' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
break loop49;
}
}
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "PP_NUMBER"
// $ANTLR start "CHARACTER_CONSTANT"
public final void mCHARACTER_CONSTANT() throws RecognitionException {
try {
int _type = CHARACTER_CONSTANT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:350:3: ( ( 'L' | 'U' | 'u' )? '\\'' ( CChar )+ '\\'' )
// PreprocessorLexer.g:350:5: ( 'L' | 'U' | 'u' )? '\\'' ( CChar )+ '\\''
{
// PreprocessorLexer.g:350:5: ( 'L' | 'U' | 'u' )?
int alt50=2;
int LA50_0 = input.LA(1);
if ( (LA50_0=='L'||LA50_0=='U'||LA50_0=='u') ) {
alt50=1;
}
switch (alt50) {
case 1 :
// PreprocessorLexer.g:
{
if ( input.LA(1)=='L'||input.LA(1)=='U'||input.LA(1)=='u' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
}
match('\'');
// PreprocessorLexer.g:350:29: ( CChar )+
int cnt51=0;
loop51:
while (true) {
int alt51=2;
int LA51_0 = input.LA(1);
if ( ((LA51_0 >= '\u0000' && LA51_0 <= '\t')||(LA51_0 >= '\u000B' && LA51_0 <= '&')||(LA51_0 >= '(' && LA51_0 <= '\uFFFF')) ) {
alt51=1;
}
switch (alt51) {
case 1 :
// PreprocessorLexer.g:350:29: CChar
{
mCChar();
}
break;
default :
if ( cnt51 >= 1 ) break loop51;
EarlyExitException eee = new EarlyExitException(51, input);
throw eee;
}
cnt51++;
}
match('\'');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "CHARACTER_CONSTANT"
// $ANTLR start "CChar"
public final void mCChar() throws RecognitionException {
try {
// PreprocessorLexer.g:353:8: (~ ( '\\'' | '\\\\' | '\\n' ) | EscapeSequence )
int alt52=2;
int LA52_0 = input.LA(1);
if ( ((LA52_0 >= '\u0000' && LA52_0 <= '\t')||(LA52_0 >= '\u000B' && LA52_0 <= '&')||(LA52_0 >= '(' && LA52_0 <= '[')||(LA52_0 >= ']' && LA52_0 <= '\uFFFF')) ) {
alt52=1;
}
else if ( (LA52_0=='\\') ) {
alt52=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 52, 0, input);
throw nvae;
}
switch (alt52) {
case 1 :
// PreprocessorLexer.g:353:10: ~ ( '\\'' | '\\\\' | '\\n' )
{
if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t')||(input.LA(1) >= '\u000B' && input.LA(1) <= '&')||(input.LA(1) >= '(' && input.LA(1) <= '[')||(input.LA(1) >= ']' && input.LA(1) <= '\uFFFF') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
case 2 :
// PreprocessorLexer.g:353:34: EscapeSequence
{
mEscapeSequence();
}
break;
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "CChar"
// $ANTLR start "EscapeSequence"
public final void mEscapeSequence() throws RecognitionException {
try {
// PreprocessorLexer.g:356:16: ( '\\\\' ( '\\'' | '\"' | '\\?' | '\\\\' | 'a' | 'b' | 'f' | 'n' | 'r' | 't' | 'v' ) | OctalEscape | HexEscape )
int alt53=3;
int LA53_0 = input.LA(1);
if ( (LA53_0=='\\') ) {
switch ( input.LA(2) ) {
case '\"':
case '\'':
case '?':
case '\\':
case 'a':
case 'b':
case 'f':
case 'n':
case 'r':
case 't':
case 'v':
{
alt53=1;
}
break;
case 'x':
{
alt53=3;
}
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
{
alt53=2;
}
break;
default:
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 53, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 53, 0, input);
throw nvae;
}
switch (alt53) {
case 1 :
// PreprocessorLexer.g:356:18: '\\\\' ( '\\'' | '\"' | '\\?' | '\\\\' | 'a' | 'b' | 'f' | 'n' | 'r' | 't' | 'v' )
{
match('\\');
if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='?'||input.LA(1)=='\\'||(input.LA(1) >= 'a' && input.LA(1) <= 'b')||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t'||input.LA(1)=='v' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
case 2 :
// PreprocessorLexer.g:359:5: OctalEscape
{
mOctalEscape();
}
break;
case 3 :
// PreprocessorLexer.g:360:5: HexEscape
{
mHexEscape();
}
break;
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "EscapeSequence"
// $ANTLR start "OctalEscape"
public final void mOctalEscape() throws RecognitionException {
try {
// PreprocessorLexer.g:363:13: ( '\\\\' OctalDigit ( OctalDigit ( OctalDigit )? )? )
// PreprocessorLexer.g:363:15: '\\\\' OctalDigit ( OctalDigit ( OctalDigit )? )?
{
match('\\');
mOctalDigit();
// PreprocessorLexer.g:363:31: ( OctalDigit ( OctalDigit )? )?
int alt55=2;
int LA55_0 = input.LA(1);
if ( ((LA55_0 >= '0' && LA55_0 <= '7')) ) {
alt55=1;
}
switch (alt55) {
case 1 :
// PreprocessorLexer.g:363:32: OctalDigit ( OctalDigit )?
{
mOctalDigit();
// PreprocessorLexer.g:363:43: ( OctalDigit )?
int alt54=2;
int LA54_0 = input.LA(1);
if ( ((LA54_0 >= '0' && LA54_0 <= '7')) ) {
alt54=1;
}
switch (alt54) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
}
}
break;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "OctalEscape"
// $ANTLR start "OctalDigit"
public final void mOctalDigit() throws RecognitionException {
try {
// PreprocessorLexer.g:366:12: ( '0' .. '7' )
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "OctalDigit"
// $ANTLR start "HexEscape"
public final void mHexEscape() throws RecognitionException {
try {
// PreprocessorLexer.g:369:11: ( '\\\\' 'x' ( HexadecimalDigit )+ )
// PreprocessorLexer.g:369:13: '\\\\' 'x' ( HexadecimalDigit )+
{
match('\\');
match('x');
// PreprocessorLexer.g:369:22: ( HexadecimalDigit )+
int cnt56=0;
loop56:
while (true) {
int alt56=2;
int LA56_0 = input.LA(1);
if ( ((LA56_0 >= '0' && LA56_0 <= '9')||(LA56_0 >= 'A' && LA56_0 <= 'F')||(LA56_0 >= 'a' && LA56_0 <= 'f')) ) {
alt56=1;
}
switch (alt56) {
case 1 :
// PreprocessorLexer.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt56 >= 1 ) break loop56;
EarlyExitException eee = new EarlyExitException(56, input);
throw eee;
}
cnt56++;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "HexEscape"
// $ANTLR start "STRING_LITERAL"
public final void mSTRING_LITERAL() throws RecognitionException {
try {
int _type = STRING_LITERAL;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:375:17: ( ( 'u8' | 'u' | 'U' | 'L' )? '\"' ( SChar )* '\"' )
// PreprocessorLexer.g:375:19: ( 'u8' | 'u' | 'U' | 'L' )? '\"' ( SChar )* '\"'
{
// PreprocessorLexer.g:375:19: ( 'u8' | 'u' | 'U' | 'L' )?
int alt57=5;
switch ( input.LA(1) ) {
case 'u':
{
int LA57_1 = input.LA(2);
if ( (LA57_1=='8') ) {
alt57=1;
}
else if ( (LA57_1=='\"') ) {
alt57=2;
}
}
break;
case 'U':
{
alt57=3;
}
break;
case 'L':
{
alt57=4;
}
break;
}
switch (alt57) {
case 1 :
// PreprocessorLexer.g:375:20: 'u8'
{
match("u8");
}
break;
case 2 :
// PreprocessorLexer.g:375:27: 'u'
{
match('u');
}
break;
case 3 :
// PreprocessorLexer.g:375:33: 'U'
{
match('U');
}
break;
case 4 :
// PreprocessorLexer.g:375:39: 'L'
{
match('L');
}
break;
}
match('\"');
// PreprocessorLexer.g:375:49: ( SChar )*
loop58:
while (true) {
int alt58=2;
int LA58_0 = input.LA(1);
if ( ((LA58_0 >= '\u0000' && LA58_0 <= '\t')||(LA58_0 >= '\u000B' && LA58_0 <= '!')||(LA58_0 >= '#' && LA58_0 <= '\uFFFF')) ) {
alt58=1;
}
switch (alt58) {
case 1 :
// PreprocessorLexer.g:375:49: SChar
{
mSChar();
}
break;
default :
break loop58;
}
}
match('\"');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "STRING_LITERAL"
// $ANTLR start "SChar"
public final void mSChar() throws RecognitionException {
try {
// PreprocessorLexer.g:379:8: (~ ( '\"' | '\\\\' | '\\n' ) | EscapeSequence )
int alt59=2;
int LA59_0 = input.LA(1);
if ( ((LA59_0 >= '\u0000' && LA59_0 <= '\t')||(LA59_0 >= '\u000B' && LA59_0 <= '!')||(LA59_0 >= '#' && LA59_0 <= '[')||(LA59_0 >= ']' && LA59_0 <= '\uFFFF')) ) {
alt59=1;
}
else if ( (LA59_0=='\\') ) {
alt59=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 59, 0, input);
throw nvae;
}
switch (alt59) {
case 1 :
// PreprocessorLexer.g:379:10: ~ ( '\"' | '\\\\' | '\\n' )
{
if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t')||(input.LA(1) >= '\u000B' && input.LA(1) <= '!')||(input.LA(1) >= '#' && input.LA(1) <= '[')||(input.LA(1) >= ']' && input.LA(1) <= '\uFFFF') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
case 2 :
// PreprocessorLexer.g:379:33: EscapeSequence
{
mEscapeSequence();
}
break;
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "SChar"
// $ANTLR start "INLINE_COMMENT"
public final void mINLINE_COMMENT() throws RecognitionException {
try {
// PreprocessorLexer.g:386:16: ( '//' INLINE_COMMENT_TAIL )
// PreprocessorLexer.g:386:18: '//' INLINE_COMMENT_TAIL
{
match("//");
mINLINE_COMMENT_TAIL();
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "INLINE_COMMENT"
// $ANTLR start "INLINE_COMMENT_TAIL"
public final void mINLINE_COMMENT_TAIL() throws RecognitionException {
try {
// PreprocessorLexer.g:390:3: ( NEWLINE | EOF |~ ( '@' | '\\n' | '\\r' ) ( options {greedy=true; } :~ ( '\\n' | '\\r' ) )* |{...}? => '@' ( options {greedy=true; } :~ ( '\\n' | '\\r' ) )* |{...}? => '@' )
int alt62=5;
int LA62_0 = input.LA(1);
if ( (LA62_0=='\n'||LA62_0=='\r') ) {
alt62=1;
}
else if ( ((LA62_0 >= '\u0000' && LA62_0 <= '\t')||(LA62_0 >= '\u000B' && LA62_0 <= '\f')||(LA62_0 >= '\u000E' && LA62_0 <= '?')||(LA62_0 >= 'A' && LA62_0 <= '\uFFFF')) ) {
alt62=3;
}
else if ( (LA62_0=='@') && (((parseAnnotations)||(!parseAnnotations)))) {
int LA62_4 = input.LA(2);
if ( ((!parseAnnotations)) ) {
alt62=4;
}
else if ( ((parseAnnotations)) ) {
alt62=5;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 62, 4, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
switch (alt62) {
case 1 :
// PreprocessorLexer.g:390:5: NEWLINE
{
mNEWLINE();
}
break;
case 2 :
// PreprocessorLexer.g:391:5: EOF
{
match(EOF);
}
break;
case 3 :
// PreprocessorLexer.g:392:5: ~ ( '@' | '\\n' | '\\r' ) ( options {greedy=true; } :~ ( '\\n' | '\\r' ) )*
{
if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t')||(input.LA(1) >= '\u000B' && input.LA(1) <= '\f')||(input.LA(1) >= '\u000E' && input.LA(1) <= '?')||(input.LA(1) >= 'A' && input.LA(1) <= '\uFFFF') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
// PreprocessorLexer.g:392:26: ( options {greedy=true; } :~ ( '\\n' | '\\r' ) )*
loop60:
while (true) {
int alt60=2;
int LA60_0 = input.LA(1);
if ( ((LA60_0 >= '\u0000' && LA60_0 <= '\t')||(LA60_0 >= '\u000B' && LA60_0 <= '\f')||(LA60_0 >= '\u000E' && LA60_0 <= '\uFFFF')) ) {
alt60=1;
}
switch (alt60) {
case 1 :
// PreprocessorLexer.g:392:53: ~ ( '\\n' | '\\r' )
{
if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t')||(input.LA(1) >= '\u000B' && input.LA(1) <= '\f')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\uFFFF') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
break loop60;
}
}
}
break;
case 4 :
// PreprocessorLexer.g:393:5: {...}? => '@' ( options {greedy=true; } :~ ( '\\n' | '\\r' ) )*
{
if ( !((!parseAnnotations)) ) {
throw new FailedPredicateException(input, "INLINE_COMMENT_TAIL", "!parseAnnotations");
}
match('@');
// PreprocessorLexer.g:393:32: ( options {greedy=true; } :~ ( '\\n' | '\\r' ) )*
loop61:
while (true) {
int alt61=2;
int LA61_0 = input.LA(1);
if ( ((LA61_0 >= '\u0000' && LA61_0 <= '\t')||(LA61_0 >= '\u000B' && LA61_0 <= '\f')||(LA61_0 >= '\u000E' && LA61_0 <= '\uFFFF')) ) {
alt61=1;
}
switch (alt61) {
case 1 :
// PreprocessorLexer.g:393:59: ~ ( '\\n' | '\\r' )
{
if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t')||(input.LA(1) >= '\u000B' && input.LA(1) <= '\f')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\uFFFF') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
break loop61;
}
}
}
break;
case 5 :
// PreprocessorLexer.g:394:5: {...}? => '@'
{
if ( !((parseAnnotations)) ) {
throw new FailedPredicateException(input, "INLINE_COMMENT_TAIL", "parseAnnotations");
}
match('@');
}
break;
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "INLINE_COMMENT_TAIL"
// $ANTLR start "INLINE_ANNOTATION_START"
public final void mINLINE_ANNOTATION_START() throws RecognitionException {
try {
int _type = INLINE_ANNOTATION_START;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:399:25: ( '//@' )
// PreprocessorLexer.g:399:27: '//@'
{
match("//@");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "INLINE_ANNOTATION_START"
// $ANTLR start "BLOCK_COMMENT"
public final void mBLOCK_COMMENT() throws RecognitionException {
try {
// PreprocessorLexer.g:407:15: ( '/*' BLOCK_COMMENT_TAIL )
// PreprocessorLexer.g:407:17: '/*' BLOCK_COMMENT_TAIL
{
match("/*");
mBLOCK_COMMENT_TAIL();
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "BLOCK_COMMENT"
// $ANTLR start "BLOCK_COMMENT_TAIL"
public final void mBLOCK_COMMENT_TAIL() throws RecognitionException {
try {
// PreprocessorLexer.g:410:3: ( '*/' |~ ( '@' ) ( options {greedy=false; } : . )* '*/' |{...}? => '@' ( options {greedy=false; } : . )* '*/' |{...}? => '@' )
int alt65=4;
int LA65_0 = input.LA(1);
if ( (LA65_0=='*') ) {
int LA65_1 = input.LA(2);
if ( (LA65_1=='/') ) {
int LA65_4 = input.LA(3);
if ( ((LA65_4 >= '\u0000' && LA65_4 <= '\uFFFF')) ) {
alt65=2;
}
else {
alt65=1;
}
}
else if ( ((LA65_1 >= '\u0000' && LA65_1 <= '.')||(LA65_1 >= '0' && LA65_1 <= '\uFFFF')) ) {
alt65=2;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 65, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else if ( ((LA65_0 >= '\u0000' && LA65_0 <= ')')||(LA65_0 >= '+' && LA65_0 <= '?')||(LA65_0 >= 'A' && LA65_0 <= '\uFFFF')) ) {
alt65=2;
}
else if ( (LA65_0=='@') && (((parseAnnotations)||(!parseAnnotations)))) {
int LA65_3 = input.LA(2);
if ( ((LA65_3 >= '\u0000' && LA65_3 <= '\uFFFF')) && ((!parseAnnotations))) {
alt65=3;
}
}
switch (alt65) {
case 1 :
// PreprocessorLexer.g:410:5: '*/'
{
match("*/");
}
break;
case 2 :
// PreprocessorLexer.g:411:5: ~ ( '@' ) ( options {greedy=false; } : . )* '*/'
{
if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '?')||(input.LA(1) >= 'A' && input.LA(1) <= '\uFFFF') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
// PreprocessorLexer.g:411:12: ( options {greedy=false; } : . )*
loop63:
while (true) {
int alt63=2;
int LA63_0 = input.LA(1);
if ( (LA63_0=='*') ) {
int LA63_1 = input.LA(2);
if ( (LA63_1=='/') ) {
alt63=2;
}
else if ( ((LA63_1 >= '\u0000' && LA63_1 <= '.')||(LA63_1 >= '0' && LA63_1 <= '\uFFFF')) ) {
alt63=1;
}
}
else if ( ((LA63_0 >= '\u0000' && LA63_0 <= ')')||(LA63_0 >= '+' && LA63_0 <= '\uFFFF')) ) {
alt63=1;
}
switch (alt63) {
case 1 :
// PreprocessorLexer.g:411:40: .
{
matchAny();
}
break;
default :
break loop63;
}
}
match("*/");
}
break;
case 3 :
// PreprocessorLexer.g:412:5: {...}? => '@' ( options {greedy=false; } : . )* '*/'
{
if ( !((!parseAnnotations)) ) {
throw new FailedPredicateException(input, "BLOCK_COMMENT_TAIL", "!parseAnnotations");
}
match('@');
// PreprocessorLexer.g:412:32: ( options {greedy=false; } : . )*
loop64:
while (true) {
int alt64=2;
int LA64_0 = input.LA(1);
if ( (LA64_0=='*') ) {
int LA64_1 = input.LA(2);
if ( (LA64_1=='/') ) {
alt64=2;
}
else if ( ((LA64_1 >= '\u0000' && LA64_1 <= '.')||(LA64_1 >= '0' && LA64_1 <= '\uFFFF')) ) {
alt64=1;
}
}
else if ( ((LA64_0 >= '\u0000' && LA64_0 <= ')')||(LA64_0 >= '+' && LA64_0 <= '\uFFFF')) ) {
alt64=1;
}
switch (alt64) {
case 1 :
// PreprocessorLexer.g:412:60: .
{
matchAny();
}
break;
default :
break loop64;
}
}
match("*/");
}
break;
case 4 :
// PreprocessorLexer.g:413:5: {...}? => '@'
{
if ( !((parseAnnotations)) ) {
throw new FailedPredicateException(input, "BLOCK_COMMENT_TAIL", "parseAnnotations");
}
match('@');
}
break;
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "BLOCK_COMMENT_TAIL"
// $ANTLR start "COMMENT"
public final void mCOMMENT() throws RecognitionException {
try {
int _type = COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:416:9: ( INLINE_COMMENT | BLOCK_COMMENT )
int alt66=2;
int LA66_0 = input.LA(1);
if ( (LA66_0=='/') ) {
int LA66_1 = input.LA(2);
if ( (LA66_1=='/') ) {
alt66=1;
}
else if ( (LA66_1=='*') ) {
alt66=2;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 66, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 66, 0, input);
throw nvae;
}
switch (alt66) {
case 1 :
// PreprocessorLexer.g:416:11: INLINE_COMMENT
{
mINLINE_COMMENT();
}
break;
case 2 :
// PreprocessorLexer.g:416:28: BLOCK_COMMENT
{
mBLOCK_COMMENT();
}
break;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "COMMENT"
// $ANTLR start "ANNOTATION_START"
public final void mANNOTATION_START() throws RecognitionException {
try {
int _type = ANNOTATION_START;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:420:18: ({...}? => '/*' '@' )
// PreprocessorLexer.g:420:20: {...}? => '/*' '@'
{
if ( !((parseAnnotations)) ) {
throw new FailedPredicateException(input, "ANNOTATION_START", "parseAnnotations");
}
match("/*");
match('@');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ANNOTATION_START"
// $ANTLR start "ANNOTATION_END"
public final void mANNOTATION_END() throws RecognitionException {
try {
int _type = ANNOTATION_END;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:421:17: ({...}? => '*/' )
// PreprocessorLexer.g:421:19: {...}? => '*/'
{
if ( !((parseAnnotations)) ) {
throw new FailedPredicateException(input, "ANNOTATION_END", "parseAnnotations");
}
match("*/");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ANNOTATION_END"
// $ANTLR start "EXTENDED_IDENTIFIER"
public final void mEXTENDED_IDENTIFIER() throws RecognitionException {
try {
int _type = EXTENDED_IDENTIFIER;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:427:2: ( '\\\\' IdentifierNonDigit ( IdentifierNonDigit | Digit )* )
// PreprocessorLexer.g:428:2: '\\\\' IdentifierNonDigit ( IdentifierNonDigit | Digit )*
{
match('\\');
mIdentifierNonDigit();
// PreprocessorLexer.g:428:26: ( IdentifierNonDigit | Digit )*
loop67:
while (true) {
int alt67=3;
int LA67_0 = input.LA(1);
if ( (LA67_0=='$'||(LA67_0 >= 'A' && LA67_0 <= 'Z')||LA67_0=='\\'||LA67_0=='_'||(LA67_0 >= 'a' && LA67_0 <= 'z')) ) {
alt67=1;
}
else if ( ((LA67_0 >= '0' && LA67_0 <= '9')) ) {
alt67=2;
}
switch (alt67) {
case 1 :
// PreprocessorLexer.g:428:27: IdentifierNonDigit
{
mIdentifierNonDigit();
}
break;
case 2 :
// PreprocessorLexer.g:428:48: Digit
{
mDigit();
}
break;
default :
break loop67;
}
}
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "EXTENDED_IDENTIFIER"
// $ANTLR start "OTHER"
public final void mOTHER() throws RecognitionException {
try {
int _type = OTHER;
int _channel = DEFAULT_TOKEN_CHANNEL;
// PreprocessorLexer.g:432:8: ( . )
// PreprocessorLexer.g:432:10: .
{
matchAny();
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "OTHER"
@Override
public void mTokens() throws RecognitionException {
// PreprocessorLexer.g:1:8: ( NEWLINE | WS | IF | ELSE | DEFINE | DEFINED | ELIF | ENDIF | ERROR | IFDEF | IFNDEF | INCLUDE | LINE | PRAGMA | UNDEF | ELLIPSIS | DOTDOT | DOT | AMPERSAND | AND | ARROW | ASSIGN | BITANDEQ | BITOR | BITOREQ | BITXOR | BITXOREQ | COLON | COMMA | DIV | DIVEQ | EQUALS | GT | GTE | HASH | HASHHASH | LCURLY | LPAREN | LSQUARE | LT | LTE | MINUSMINUS | MOD | MODEQ | NEQ | NOT | OR | PLUS | PLUSEQ | PLUSPLUS | QMARK | RCURLY | RPAREN | RSQUARE | SEMI | SHIFTLEFT | SHIFTLEFTEQ | SHIFTRIGHT | SHIFTRIGHTEQ | STAR | STAREQ | SUB | SUBEQ | TILDE | AT | EQUIV_ACSL | IMPLIES | IMPLIES_ACSL | LSLIST | RSLIST | XOR_ACSL | LEXCON | REXCON | IDENTIFIER | INTEGER_CONSTANT | FLOATING_CONSTANT | PP_NUMBER | CHARACTER_CONSTANT | STRING_LITERAL | INLINE_ANNOTATION_START | COMMENT | ANNOTATION_START | ANNOTATION_END | EXTENDED_IDENTIFIER | OTHER )
int alt68=85;
alt68 = dfa68.predict(input);
switch (alt68) {
case 1 :
// PreprocessorLexer.g:1:10: NEWLINE
{
mNEWLINE();
}
break;
case 2 :
// PreprocessorLexer.g:1:18: WS
{
mWS();
}
break;
case 3 :
// PreprocessorLexer.g:1:21: IF
{
mIF();
}
break;
case 4 :
// PreprocessorLexer.g:1:24: ELSE
{
mELSE();
}
break;
case 5 :
// PreprocessorLexer.g:1:29: DEFINE
{
mDEFINE();
}
break;
case 6 :
// PreprocessorLexer.g:1:36: DEFINED
{
mDEFINED();
}
break;
case 7 :
// PreprocessorLexer.g:1:44: ELIF
{
mELIF();
}
break;
case 8 :
// PreprocessorLexer.g:1:49: ENDIF
{
mENDIF();
}
break;
case 9 :
// PreprocessorLexer.g:1:55: ERROR
{
mERROR();
}
break;
case 10 :
// PreprocessorLexer.g:1:61: IFDEF
{
mIFDEF();
}
break;
case 11 :
// PreprocessorLexer.g:1:67: IFNDEF
{
mIFNDEF();
}
break;
case 12 :
// PreprocessorLexer.g:1:74: INCLUDE
{
mINCLUDE();
}
break;
case 13 :
// PreprocessorLexer.g:1:82: LINE
{
mLINE();
}
break;
case 14 :
// PreprocessorLexer.g:1:87: PRAGMA
{
mPRAGMA();
}
break;
case 15 :
// PreprocessorLexer.g:1:94: UNDEF
{
mUNDEF();
}
break;
case 16 :
// PreprocessorLexer.g:1:100: ELLIPSIS
{
mELLIPSIS();
}
break;
case 17 :
// PreprocessorLexer.g:1:109: DOTDOT
{
mDOTDOT();
}
break;
case 18 :
// PreprocessorLexer.g:1:116: DOT
{
mDOT();
}
break;
case 19 :
// PreprocessorLexer.g:1:120: AMPERSAND
{
mAMPERSAND();
}
break;
case 20 :
// PreprocessorLexer.g:1:130: AND
{
mAND();
}
break;
case 21 :
// PreprocessorLexer.g:1:134: ARROW
{
mARROW();
}
break;
case 22 :
// PreprocessorLexer.g:1:140: ASSIGN
{
mASSIGN();
}
break;
case 23 :
// PreprocessorLexer.g:1:147: BITANDEQ
{
mBITANDEQ();
}
break;
case 24 :
// PreprocessorLexer.g:1:156: BITOR
{
mBITOR();
}
break;
case 25 :
// PreprocessorLexer.g:1:162: BITOREQ
{
mBITOREQ();
}
break;
case 26 :
// PreprocessorLexer.g:1:170: BITXOR
{
mBITXOR();
}
break;
case 27 :
// PreprocessorLexer.g:1:177: BITXOREQ
{
mBITXOREQ();
}
break;
case 28 :
// PreprocessorLexer.g:1:186: COLON
{
mCOLON();
}
break;
case 29 :
// PreprocessorLexer.g:1:192: COMMA
{
mCOMMA();
}
break;
case 30 :
// PreprocessorLexer.g:1:198: DIV
{
mDIV();
}
break;
case 31 :
// PreprocessorLexer.g:1:202: DIVEQ
{
mDIVEQ();
}
break;
case 32 :
// PreprocessorLexer.g:1:208: EQUALS
{
mEQUALS();
}
break;
case 33 :
// PreprocessorLexer.g:1:215: GT
{
mGT();
}
break;
case 34 :
// PreprocessorLexer.g:1:218: GTE
{
mGTE();
}
break;
case 35 :
// PreprocessorLexer.g:1:222: HASH
{
mHASH();
}
break;
case 36 :
// PreprocessorLexer.g:1:227: HASHHASH
{
mHASHHASH();
}
break;
case 37 :
// PreprocessorLexer.g:1:236: LCURLY
{
mLCURLY();
}
break;
case 38 :
// PreprocessorLexer.g:1:243: LPAREN
{
mLPAREN();
}
break;
case 39 :
// PreprocessorLexer.g:1:250: LSQUARE
{
mLSQUARE();
}
break;
case 40 :
// PreprocessorLexer.g:1:258: LT
{
mLT();
}
break;
case 41 :
// PreprocessorLexer.g:1:261: LTE
{
mLTE();
}
break;
case 42 :
// PreprocessorLexer.g:1:265: MINUSMINUS
{
mMINUSMINUS();
}
break;
case 43 :
// PreprocessorLexer.g:1:276: MOD
{
mMOD();
}
break;
case 44 :
// PreprocessorLexer.g:1:280: MODEQ
{
mMODEQ();
}
break;
case 45 :
// PreprocessorLexer.g:1:286: NEQ
{
mNEQ();
}
break;
case 46 :
// PreprocessorLexer.g:1:290: NOT
{
mNOT();
}
break;
case 47 :
// PreprocessorLexer.g:1:294: OR
{
mOR();
}
break;
case 48 :
// PreprocessorLexer.g:1:297: PLUS
{
mPLUS();
}
break;
case 49 :
// PreprocessorLexer.g:1:302: PLUSEQ
{
mPLUSEQ();
}
break;
case 50 :
// PreprocessorLexer.g:1:309: PLUSPLUS
{
mPLUSPLUS();
}
break;
case 51 :
// PreprocessorLexer.g:1:318: QMARK
{
mQMARK();
}
break;
case 52 :
// PreprocessorLexer.g:1:324: RCURLY
{
mRCURLY();
}
break;
case 53 :
// PreprocessorLexer.g:1:331: RPAREN
{
mRPAREN();
}
break;
case 54 :
// PreprocessorLexer.g:1:338: RSQUARE
{
mRSQUARE();
}
break;
case 55 :
// PreprocessorLexer.g:1:346: SEMI
{
mSEMI();
}
break;
case 56 :
// PreprocessorLexer.g:1:351: SHIFTLEFT
{
mSHIFTLEFT();
}
break;
case 57 :
// PreprocessorLexer.g:1:361: SHIFTLEFTEQ
{
mSHIFTLEFTEQ();
}
break;
case 58 :
// PreprocessorLexer.g:1:373: SHIFTRIGHT
{
mSHIFTRIGHT();
}
break;
case 59 :
// PreprocessorLexer.g:1:384: SHIFTRIGHTEQ
{
mSHIFTRIGHTEQ();
}
break;
case 60 :
// PreprocessorLexer.g:1:397: STAR
{
mSTAR();
}
break;
case 61 :
// PreprocessorLexer.g:1:402: STAREQ
{
mSTAREQ();
}
break;
case 62 :
// PreprocessorLexer.g:1:409: SUB
{
mSUB();
}
break;
case 63 :
// PreprocessorLexer.g:1:413: SUBEQ
{
mSUBEQ();
}
break;
case 64 :
// PreprocessorLexer.g:1:419: TILDE
{
mTILDE();
}
break;
case 65 :
// PreprocessorLexer.g:1:425: AT
{
mAT();
}
break;
case 66 :
// PreprocessorLexer.g:1:428: EQUIV_ACSL
{
mEQUIV_ACSL();
}
break;
case 67 :
// PreprocessorLexer.g:1:439: IMPLIES
{
mIMPLIES();
}
break;
case 68 :
// PreprocessorLexer.g:1:447: IMPLIES_ACSL
{
mIMPLIES_ACSL();
}
break;
case 69 :
// PreprocessorLexer.g:1:460: LSLIST
{
mLSLIST();
}
break;
case 70 :
// PreprocessorLexer.g:1:467: RSLIST
{
mRSLIST();
}
break;
case 71 :
// PreprocessorLexer.g:1:474: XOR_ACSL
{
mXOR_ACSL();
}
break;
case 72 :
// PreprocessorLexer.g:1:483: LEXCON
{
mLEXCON();
}
break;
case 73 :
// PreprocessorLexer.g:1:490: REXCON
{
mREXCON();
}
break;
case 74 :
// PreprocessorLexer.g:1:497: IDENTIFIER
{
mIDENTIFIER();
}
break;
case 75 :
// PreprocessorLexer.g:1:508: INTEGER_CONSTANT
{
mINTEGER_CONSTANT();
}
break;
case 76 :
// PreprocessorLexer.g:1:525: FLOATING_CONSTANT
{
mFLOATING_CONSTANT();
}
break;
case 77 :
// PreprocessorLexer.g:1:543: PP_NUMBER
{
mPP_NUMBER();
}
break;
case 78 :
// PreprocessorLexer.g:1:553: CHARACTER_CONSTANT
{
mCHARACTER_CONSTANT();
}
break;
case 79 :
// PreprocessorLexer.g:1:572: STRING_LITERAL
{
mSTRING_LITERAL();
}
break;
case 80 :
// PreprocessorLexer.g:1:587: INLINE_ANNOTATION_START
{
mINLINE_ANNOTATION_START();
}
break;
case 81 :
// PreprocessorLexer.g:1:611: COMMENT
{
mCOMMENT();
}
break;
case 82 :
// PreprocessorLexer.g:1:619: ANNOTATION_START
{
mANNOTATION_START();
}
break;
case 83 :
// PreprocessorLexer.g:1:636: ANNOTATION_END
{
mANNOTATION_END();
}
break;
case 84 :
// PreprocessorLexer.g:1:651: EXTENDED_IDENTIFIER
{
mEXTENDED_IDENTIFIER();
}
break;
case 85 :
// PreprocessorLexer.g:1:671: OTHER
{
mOTHER();
}
break;
}
}
protected DFA30 dfa30 = new DFA30(this);
protected DFA34 dfa34 = new DFA34(this);
protected DFA41 dfa41 = new DFA41(this);
protected DFA45 dfa45 = new DFA45(this);
protected DFA68 dfa68 = new DFA68(this);
static final String DFA30_eotS =
"\4\uffff";
static final String DFA30_eofS =
"\4\uffff";
static final String DFA30_minS =
"\2\56\2\uffff";
static final String DFA30_maxS =
"\1\71\1\145\2\uffff";
static final String DFA30_acceptS =
"\2\uffff\1\1\1\2";
static final String DFA30_specialS =
"\4\uffff}>";
static final String[] DFA30_transitionS = {
"\1\2\1\uffff\12\1",
"\1\2\1\uffff\12\1\13\uffff\1\3\37\uffff\1\3",
"",
""
};
static final short[] DFA30_eot = DFA.unpackEncodedString(DFA30_eotS);
static final short[] DFA30_eof = DFA.unpackEncodedString(DFA30_eofS);
static final char[] DFA30_min = DFA.unpackEncodedStringToUnsignedChars(DFA30_minS);
static final char[] DFA30_max = DFA.unpackEncodedStringToUnsignedChars(DFA30_maxS);
static final short[] DFA30_accept = DFA.unpackEncodedString(DFA30_acceptS);
static final short[] DFA30_special = DFA.unpackEncodedString(DFA30_specialS);
static final short[][] DFA30_transition;
static {
int numStates = DFA30_transitionS.length;
DFA30_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA30_transition[i] = DFA.unpackEncodedString(DFA30_transitionS[i]);
}
}
protected class DFA30 extends DFA {
public DFA30(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 30;
this.eot = DFA30_eot;
this.eof = DFA30_eof;
this.min = DFA30_min;
this.max = DFA30_max;
this.accept = DFA30_accept;
this.special = DFA30_special;
this.transition = DFA30_transition;
}
@Override
public String getDescription() {
return "294:1: fragment DecimalFloatingConstant : ( FractionalConstant ( ExponentPart )? ( FloatingSuffix )? | ( Digit )+ ExponentPart ( FloatingSuffix )? );";
}
}
static final String DFA34_eotS =
"\3\uffff\1\4\1\uffff";
static final String DFA34_eofS =
"\5\uffff";
static final String DFA34_minS =
"\2\56\1\uffff\1\60\1\uffff";
static final String DFA34_maxS =
"\2\71\1\uffff\1\71\1\uffff";
static final String DFA34_acceptS =
"\2\uffff\1\1\1\uffff\1\2";
static final String DFA34_specialS =
"\5\uffff}>";
static final String[] DFA34_transitionS = {
"\1\2\1\uffff\12\1",
"\1\3\1\uffff\12\1",
"",
"\12\2",
""
};
static final short[] DFA34_eot = DFA.unpackEncodedString(DFA34_eotS);
static final short[] DFA34_eof = DFA.unpackEncodedString(DFA34_eofS);
static final char[] DFA34_min = DFA.unpackEncodedStringToUnsignedChars(DFA34_minS);
static final char[] DFA34_max = DFA.unpackEncodedStringToUnsignedChars(DFA34_maxS);
static final short[] DFA34_accept = DFA.unpackEncodedString(DFA34_acceptS);
static final short[] DFA34_special = DFA.unpackEncodedString(DFA34_specialS);
static final short[][] DFA34_transition;
static {
int numStates = DFA34_transitionS.length;
DFA34_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA34_transition[i] = DFA.unpackEncodedString(DFA34_transitionS[i]);
}
}
protected class DFA34 extends DFA {
public DFA34(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 34;
this.eot = DFA34_eot;
this.eof = DFA34_eof;
this.min = DFA34_min;
this.max = DFA34_max;
this.accept = DFA34_accept;
this.special = DFA34_special;
this.transition = DFA34_transition;
}
@Override
public String getDescription() {
return "300:1: fragment FractionalConstant : ( ( Digit )* DOT ( Digit )+ | ( Digit )+ DOT );";
}
}
static final String DFA41_eotS =
"\6\uffff";
static final String DFA41_eofS =
"\6\uffff";
static final String DFA41_minS =
"\1\60\1\130\2\56\2\uffff";
static final String DFA41_maxS =
"\1\60\1\170\1\146\1\160\2\uffff";
static final String DFA41_acceptS =
"\4\uffff\1\1\1\2";
static final String DFA41_specialS =
"\6\uffff}>";
static final String[] DFA41_transitionS = {
"\1\1",
"\1\2\37\uffff\1\2",
"\1\4\1\uffff\12\3\7\uffff\6\3\32\uffff\6\3",
"\1\4\1\uffff\12\3\7\uffff\6\3\11\uffff\1\5\20\uffff\6\3\11\uffff\1\5",
"",
""
};
static final short[] DFA41_eot = DFA.unpackEncodedString(DFA41_eotS);
static final short[] DFA41_eof = DFA.unpackEncodedString(DFA41_eofS);
static final char[] DFA41_min = DFA.unpackEncodedStringToUnsignedChars(DFA41_minS);
static final char[] DFA41_max = DFA.unpackEncodedStringToUnsignedChars(DFA41_maxS);
static final short[] DFA41_accept = DFA.unpackEncodedString(DFA41_acceptS);
static final short[] DFA41_special = DFA.unpackEncodedString(DFA41_specialS);
static final short[][] DFA41_transition;
static {
int numStates = DFA41_transitionS.length;
DFA41_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA41_transition[i] = DFA.unpackEncodedString(DFA41_transitionS[i]);
}
}
protected class DFA41 extends DFA {
public DFA41(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 41;
this.eot = DFA41_eot;
this.eof = DFA41_eof;
this.min = DFA41_min;
this.max = DFA41_max;
this.accept = DFA41_accept;
this.special = DFA41_special;
this.transition = DFA41_transition;
}
@Override
public String getDescription() {
return "315:1: fragment HexadecimalFloatingConstant : ( HexPrefix HexFractionalConstant BinaryExponentPart ( FloatingSuffix )? | HexPrefix ( HexadecimalDigit )+ BinaryExponentPart ( FloatingSuffix )? );";
}
}
static final String DFA45_eotS =
"\3\uffff\1\4\1\uffff";
static final String DFA45_eofS =
"\5\uffff";
static final String DFA45_minS =
"\2\56\1\uffff\1\60\1\uffff";
static final String DFA45_maxS =
"\2\146\1\uffff\1\146\1\uffff";
static final String DFA45_acceptS =
"\2\uffff\1\1\1\uffff\1\2";
static final String DFA45_specialS =
"\5\uffff}>";
static final String[] DFA45_transitionS = {
"\1\2\1\uffff\12\1\7\uffff\6\1\32\uffff\6\1",
"\1\3\1\uffff\12\1\7\uffff\6\1\32\uffff\6\1",
"",
"\12\2\7\uffff\6\2\32\uffff\6\2",
""
};
static final short[] DFA45_eot = DFA.unpackEncodedString(DFA45_eotS);
static final short[] DFA45_eof = DFA.unpackEncodedString(DFA45_eofS);
static final char[] DFA45_min = DFA.unpackEncodedStringToUnsignedChars(DFA45_minS);
static final char[] DFA45_max = DFA.unpackEncodedStringToUnsignedChars(DFA45_maxS);
static final short[] DFA45_accept = DFA.unpackEncodedString(DFA45_acceptS);
static final short[] DFA45_special = DFA.unpackEncodedString(DFA45_specialS);
static final short[][] DFA45_transition;
static {
int numStates = DFA45_transitionS.length;
DFA45_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA45_transition[i] = DFA.unpackEncodedString(DFA45_transitionS[i]);
}
}
protected class DFA45 extends DFA {
public DFA45(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 45;
this.eot = DFA45_eot;
this.eof = DFA45_eof;
this.min = DFA45_min;
this.max = DFA45_max;
this.accept = DFA45_accept;
this.special = DFA45_special;
this.transition = DFA45_transition;
}
@Override
public String getDescription() {
return "323:1: fragment HexFractionalConstant : ( ( HexadecimalDigit )* DOT ( HexadecimalDigit )+ | ( HexadecimalDigit )+ DOT );";
}
}
static final String DFA68_eotS =
"\1\uffff\1\54\2\uffff\6\61\1\75\1\101\1\105\1\110\1\114\1\117\1\121\1"+
"\uffff\1\126\1\131\1\133\1\137\1\uffff\1\145\2\uffff\1\150\1\153\5\uffff"+
"\1\161\2\uffff\1\61\1\54\2\167\1\uffff\1\54\1\61\1\54\3\uffff\1\u0087"+
"\1\61\1\uffff\10\61\2\uffff\1\u0092\1\uffff\1\u0093\7\uffff\1\u009f\15"+
"\uffff\1\u00a1\3\uffff\1\u00a5\3\uffff\1\133\5\uffff\1\u00a7\1\u00aa\20"+
"\uffff\2\166\2\uffff\4\167\1\u0093\1\176\1\uffff\4\167\2\176\2\61\1\uffff"+
"\11\61\3\uffff\1\176\11\u0093\2\uffff\1\u00d7\1\uffff\1\u00d8\10\uffff"+
"\4\166\5\167\1\176\1\u0093\11\167\1\176\2\167\3\61\1\u0100\1\u0101\3\61"+
"\1\u0105\2\61\1\176\11\u0093\2\uffff\4\166\3\167\10\u0093\20\167\5\176"+
"\1\u0127\2\61\2\uffff\1\u012a\1\u012b\1\61\1\uffff\1\61\1\u012e\1\uffff"+
"\4\166\10\u0093\17\167\2\176\1\u0093\1\uffff\1\u014a\1\61\2\uffff\1\u014d"+
"\1\u014e\1\uffff\2\61\2\166\15\167\1\176\11\u0093\1\uffff\1\u016b\1\u016c"+
"\2\uffff\1\61\1\uffff\1\61\2\166\7\167\20\u0093\4\uffff\2\166\10\u0093"+
"\2\uffff\2\166\2\uffff\2\61\2\uffff\1\61\4\uffff\1\61";
static final String DFA68_eofS =
"\u0189\uffff";
static final String DFA68_minS =
"\1\0\1\12\2\uffff\1\146\1\154\1\145\1\151\1\162\1\42\1\56\1\46\1\55\3"+
"\75\1\76\1\uffff\1\52\1\75\1\43\1\72\1\uffff\1\45\2\uffff\1\75\1\53\5"+
"\uffff\1\57\2\uffff\1\42\3\44\1\uffff\1\0\1\42\1\0\3\uffff\1\44\1\143"+
"\1\uffff\1\151\1\144\1\162\1\146\1\156\1\141\1\144\1\42\2\uffff\1\56\1"+
"\uffff\1\44\7\uffff\1\76\15\uffff\1\100\1\0\2\uffff\1\75\3\uffff\1\45"+
"\5\uffff\1\75\1\74\20\uffff\2\60\2\uffff\5\44\1\53\1\uffff\4\44\2\56\1"+
"\145\1\144\1\uffff\1\154\1\145\1\146\1\151\1\157\1\151\1\145\1\147\1\145"+
"\3\uffff\1\53\11\44\2\uffff\1\0\1\uffff\1\0\10\uffff\4\60\5\44\1\60\12"+
"\44\1\60\2\44\1\146\1\145\1\165\2\44\1\146\1\162\1\156\1\44\1\155\1\146"+
"\1\60\11\44\1\uffff\1\0\4\60\33\44\1\60\1\53\3\60\1\44\1\146\1\144\2\uffff"+
"\2\44\1\145\1\uffff\1\141\1\44\1\uffff\4\60\27\44\1\53\1\60\1\44\1\uffff"+
"\1\44\1\145\2\uffff\2\44\1\uffff\2\44\2\60\15\44\1\60\11\44\1\uffff\2"+
"\44\2\uffff\1\44\1\125\1\44\2\60\27\44\2\uffff\4\60\10\44\6\60\2\44\2"+
"\60\1\44\4\60\1\44";
static final String DFA68_maxS =
"\1\uffff\1\12\2\uffff\1\156\1\162\1\145\1\151\1\162\1\156\1\71\1\75\2"+
"\76\1\174\1\136\1\76\1\uffff\1\75\1\76\1\43\1\76\1\uffff\1\174\2\uffff"+
"\2\75\5\uffff\1\75\2\uffff\1\47\3\172\1\uffff\1\uffff\1\47\1\uffff\3\uffff"+
"\1\172\1\143\1\uffff\1\163\1\144\1\162\1\146\1\156\1\141\1\144\1\42\2"+
"\uffff\1\56\1\uffff\1\172\7\uffff\1\76\15\uffff\1\100\1\uffff\2\uffff"+
"\1\76\3\uffff\1\45\5\uffff\2\75\20\uffff\2\146\2\uffff\5\172\1\71\1\uffff"+
"\4\172\1\146\2\145\1\144\1\uffff\1\154\1\145\1\146\1\151\1\157\1\151\1"+
"\145\1\147\1\145\3\uffff\1\71\11\172\2\uffff\1\uffff\1\uffff\1\uffff\10"+
"\uffff\4\146\5\172\1\71\12\172\1\146\2\172\1\146\1\145\1\165\2\172\1\146"+
"\1\162\1\156\1\172\1\155\1\146\1\71\11\172\1\uffff\1\0\4\146\33\172\1"+
"\160\1\71\3\160\1\172\1\146\1\144\2\uffff\2\172\1\145\1\uffff\1\141\1"+
"\172\1\uffff\4\146\27\172\2\71\1\172\1\uffff\1\172\1\145\2\uffff\2\172"+
"\1\uffff\2\172\2\146\15\172\1\71\11\172\1\uffff\2\172\2\uffff\1\172\1"+
"\165\1\172\2\146\27\172\2\uffff\4\146\10\172\6\146\2\172\2\146\1\172\4"+
"\146\1\172";
static final String DFA68_acceptS =
"\2\uffff\1\1\1\2\15\uffff\1\35\4\uffff\1\45\1\uffff\1\46\1\47\2\uffff"+
"\1\63\1\64\1\65\1\66\1\67\1\uffff\1\100\1\101\4\uffff\1\112\3\uffff\1"+
"\125\1\1\1\2\2\uffff\1\112\10\uffff\1\116\1\117\1\uffff\1\22\1\uffff\1"+
"\24\1\27\1\23\1\25\1\52\1\77\1\76\1\uffff\1\103\1\26\1\31\1\57\1\106\1"+
"\30\1\33\1\107\1\32\1\66\1\34\1\35\1\37\2\uffff\1\36\1\42\1\uffff\1\41"+
"\1\44\1\43\1\uffff\1\54\1\64\1\53\1\45\1\47\2\uffff\1\105\1\50\1\46\1"+
"\55\1\56\1\61\1\62\1\60\1\63\1\65\1\67\1\75\1\123\1\74\1\100\1\101\2\uffff"+
"\1\124\1\113\6\uffff\1\115\10\uffff\1\3\11\uffff\1\20\1\21\1\114\12\uffff"+
"\1\104\1\40\1\uffff\1\121\1\uffff\1\73\1\111\1\72\1\102\1\51\1\71\1\110"+
"\1\70\54\uffff\1\120\50\uffff\1\4\1\7\3\uffff\1\15\2\uffff\1\122\36\uffff"+
"\1\12\2\uffff\1\10\1\11\2\uffff\1\17\33\uffff\1\13\2\uffff\1\5\1\16\34"+
"\uffff\1\14\1\6\34\uffff";
static final String DFA68_specialS =
"\1\2\40\uffff\1\3\7\uffff\1\7\1\uffff\1\5\51\uffff\1\6\112\uffff\1\4\1"+
"\uffff\1\0\65\uffff\1\1\u00b0\uffff}>";
static final String[] DFA68_transitionS = {
"\11\54\1\3\1\2\2\54\1\1\22\54\1\3\1\32\1\53\1\24\1\50\1\25\1\13\1\51"+
"\1\30\1\36\1\41\1\33\1\21\1\14\1\12\1\22\1\47\11\46\1\20\1\40\1\27\1"+
"\15\1\23\1\34\1\43\13\50\1\52\10\50\1\44\5\50\1\31\1\45\1\37\1\17\1\50"+
"\1\54\3\50\1\6\1\5\3\50\1\4\2\50\1\7\3\50\1\10\4\50\1\11\5\50\1\26\1"+
"\16\1\35\1\42\uff81\54",
"\1\55",
"",
"",
"\1\57\7\uffff\1\60",
"\1\62\1\uffff\1\63\3\uffff\1\64",
"\1\65",
"\1\66",
"\1\67",
"\1\73\4\uffff\1\72\20\uffff\1\71\65\uffff\1\70",
"\1\74\1\uffff\12\76",
"\1\77\26\uffff\1\100",
"\1\103\17\uffff\1\104\1\102",
"\1\106\1\107",
"\1\111\1\113\75\uffff\1\112",
"\1\115\40\uffff\1\116",
"\1\120",
"",
"\1\125\4\uffff\1\124\15\uffff\1\123",
"\1\127\1\130",
"\1\132",
"\1\134\2\uffff\1\135\1\136",
"",
"\1\140\24\uffff\1\141\1\uffff\1\143\1\142\76\uffff\1\144",
"",
"",
"\1\147",
"\1\152\21\uffff\1\151",
"",
"",
"",
"",
"",
"\1\160\15\uffff\1\157",
"",
"",
"\1\73\4\uffff\1\72",
"\1\166\34\uffff\24\166\1\165\5\166\1\uffff\1\166\2\uffff\1\166\1\uffff"+
"\24\166\1\164\5\166",
"\1\176\11\uffff\1\174\1\uffff\12\170\7\uffff\4\176\1\175\6\176\1\173"+
"\10\176\1\171\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\4\176\1\175\6"+
"\176\1\172\10\176\1\171\5\176",
"\1\176\11\uffff\1\174\1\uffff\10\177\2\u0084\7\uffff\4\176\1\175\6\176"+
"\1\u0082\10\176\1\u0080\2\176\1\u0083\2\176\1\uffff\1\176\2\uffff\1\176"+
"\1\uffff\4\176\1\175\6\176\1\u0081\10\176\1\u0080\2\176\1\u0083\2\176",
"",
"\12\72\1\uffff\34\72\1\uffff\uffd8\72",
"\1\73\4\uffff\1\72",
"\12\73\1\uffff\ufff5\73",
"",
"",
"",
"\1\61\13\uffff\12\61\7\uffff\32\61\1\uffff\1\61\2\uffff\1\61\1\uffff"+
"\3\61\1\u0085\11\61\1\u0086\14\61",
"\1\u0088",
"",
"\1\u008a\11\uffff\1\u0089",
"\1\u008b",
"\1\u008c",
"\1\u008d",
"\1\u008e",
"\1\u008f",
"\1\u0090",
"\1\73",
"",
"",
"\1\u0091",
"",
"\1\176\11\uffff\1\176\1\uffff\12\u009d\7\uffff\4\176\1\u0094\1\u0097"+
"\2\176\1\u009a\1\u009c\1\176\1\u0098\16\176\1\uffff\1\176\2\uffff\1\176"+
"\1\uffff\4\176\1\u0094\1\u0095\2\176\1\u0099\1\u009b\1\176\1\u0096\16"+
"\176",
"",
"",
"",
"",
"",
"",
"",
"\1\u009e",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\u00a0",
"\100\u00a1\1\u00a2\uffbf\u00a1",
"",
"",
"\1\u00a3\1\u00a4",
"",
"",
"",
"\1\132",
"",
"",
"",
"",
"",
"\1\u00a6",
"\1\u00a9\1\u00a8",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\12\u00ac\7\uffff\6\u00ab\32\uffff\6\u00ab",
"\12\u00ae\7\uffff\6\u00ad\32\uffff\6\u00ad",
"",
"",
"\1\176\11\uffff\1\174\1\uffff\12\170\7\uffff\4\176\1\175\6\176\1\173"+
"\10\176\1\171\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\4\176\1\175\6"+
"\176\1\172\10\176\1\171\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00b0\16\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00af\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u00b2\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00b1\10\176\1\u00b2\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00b3\10\176\1"+
"\u00b2\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u00b2\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\u009d\7\uffff\4\176\1\u0094\1\u0097"+
"\2\176\1\u009a\1\u009c\1\176\1\u0098\16\176\1\uffff\1\176\2\uffff\1\176"+
"\1\uffff\4\176\1\u0094\1\u0095\2\176\1\u0099\1\u009b\1\176\1\u0096\16"+
"\176",
"\1\u00b4\1\uffff\1\u00b4\2\uffff\12\u00b5",
"",
"\1\176\11\uffff\1\174\1\uffff\10\177\2\u0084\7\uffff\4\176\1\175\6\176"+
"\1\u0082\10\176\1\u0080\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\4\176"+
"\1\175\6\176\1\u0081\10\176\1\u0080\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00b8\10\176\1"+
"\u00b7\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00b6\10\176"+
"\1\u00b7\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00bb\10\176\1"+
"\u00ba\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00b9\10\176"+
"\1\u00ba\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00bc\10\176\1"+
"\u00ba\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00bd\10\176"+
"\1\u00ba\5\176",
"\1\u00bf\1\uffff\12\u00c0\7\uffff\4\u00c1\1\u00be\1\u00c1\32\uffff\4"+
"\u00c1\1\u00be\1\u00c1",
"\1\174\1\uffff\12\u0084\13\uffff\1\175\37\uffff\1\175",
"\1\u00c2",
"\1\u00c3",
"",
"\1\u00c4",
"\1\u00c5",
"\1\u00c6",
"\1\u00c7",
"\1\u00c8",
"\1\u00c9",
"\1\u00ca",
"\1\u00cb",
"\1\u00cc",
"",
"",
"",
"\1\u00cd\1\uffff\1\u00cd\2\uffff\12\u00ce",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\5\176\1\u00cf\5\176\1\u00d0\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\5\176\1\u00d1\5\176\1\u00d2"+
"\16\176\1\uffff\1\176\2\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\5\176\1\u00d3\5\176\1\u00d4\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\5\176\1\u00d5\5\176\1\u00d6"+
"\16\176\1\uffff\1\176\2\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\u009d\7\uffff\4\176\1\u0094\1\u0097"+
"\2\176\1\u009a\1\u009c\1\176\1\u0098\16\176\1\uffff\1\176\2\uffff\1\176"+
"\1\uffff\4\176\1\u0094\1\u0095\2\176\1\u0099\1\u009b\1\176\1\u0096\16"+
"\176",
"",
"",
"\12\u00a1\1\uffff\2\u00a1\1\uffff\ufff2\u00a1",
"",
"\0\u00a1",
"",
"",
"",
"",
"",
"",
"",
"",
"\12\u00da\7\uffff\6\u00d9\32\uffff\6\u00d9",
"\12\u00da\7\uffff\6\u00d9\32\uffff\6\u00d9",
"\12\u00dc\7\uffff\6\u00db\32\uffff\6\u00db",
"\12\u00dc\7\uffff\6\u00db\32\uffff\6\u00db",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\13\176\1\u00dd\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00de\16\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u00df\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u00df\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u00df\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u00df\5\176",
"\12\u00b5",
"\1\176\11\uffff\1\176\1\uffff\12\u00b5\7\uffff\5\176\1\u00e2\2\176\1"+
"\u00e5\1\u00e7\1\176\1\u00e3\16\176\1\uffff\1\176\2\uffff\1\176\1\uffff"+
"\5\176\1\u00e0\2\176\1\u00e4\1\u00e6\1\176\1\u00e1\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00bb\10\176\1"+
"\u00e9\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00e8\10\176"+
"\1\u00e9\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00eb\16\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00ea\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00ec\10\176\1"+
"\u00e9\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00bd\10\176"+
"\1\u00e9\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00bb\10\176\1"+
"\u00ee\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00ed\10\176"+
"\1\u00ee\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00f0\10\176\1"+
"\u00b7\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00ef\10\176"+
"\1\u00b7\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00f1\10\176\1"+
"\u00f2\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u00f2\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00f3\10\176\1"+
"\u00ee\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00bd\10\176"+
"\1\u00ee\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u00f2\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00f4\10\176\1\u00f2\5\176",
"\1\176\6\uffff\1\176\1\uffff\1\176\1\u00f8\1\uffff\12\u00c0\7\uffff"+
"\4\u00c1\1\u00be\1\u00c1\5\176\1\u00f7\3\176\1\u00f9\4\176\1\u00f5\5"+
"\176\1\uffff\1\176\2\uffff\1\176\1\uffff\4\u00c1\1\u00be\1\u00c1\5\176"+
"\1\u00f6\3\176\1\u00f9\4\176\1\u00f5\5\176",
"\12\u00fb\7\uffff\4\u00fc\1\u00fa\1\u00fc\32\uffff\4\u00fc\1\u00fa\1"+
"\u00fc",
"\1\176\11\uffff\1\u00f8\1\uffff\12\u00c0\7\uffff\4\u00c1\1\u00be\1\u00c1"+
"\5\176\1\u00f7\3\176\1\u00f9\4\176\1\u00f5\5\176\1\uffff\1\176\2\uffff"+
"\1\176\1\uffff\4\u00c1\1\u00be\1\u00c1\5\176\1\u00f6\3\176\1\u00f9\4"+
"\176\1\u00f5\5\176",
"\1\176\11\uffff\1\u00f8\1\uffff\12\u00c0\7\uffff\4\u00c1\1\u00be\1\u00c1"+
"\5\176\1\u00f7\3\176\1\u00f9\4\176\1\u00f5\5\176\1\uffff\1\176\2\uffff"+
"\1\176\1\uffff\4\u00c1\1\u00be\1\u00c1\5\176\1\u00f6\3\176\1\u00f9\4"+
"\176\1\u00f5\5\176",
"\1\u00fd",
"\1\u00fe",
"\1\u00ff",
"\1\61\13\uffff\12\61\7\uffff\32\61\1\uffff\1\61\2\uffff\1\61\1\uffff"+
"\32\61",
"\1\61\13\uffff\12\61\7\uffff\32\61\1\uffff\1\61\2\uffff\1\61\1\uffff"+
"\32\61",
"\1\u0102",
"\1\u0103",
"\1\u0104",
"\1\61\13\uffff\12\61\7\uffff\32\61\1\uffff\1\61\2\uffff\1\61\1\uffff"+
"\32\61",
"\1\u0106",
"\1\u0107",
"\12\u00ce",
"\1\176\11\uffff\1\176\1\uffff\12\u00ce\7\uffff\5\176\1\u0097\2\176\1"+
"\u009a\1\u009c\1\176\1\u0098\16\176\1\uffff\1\176\2\uffff\1\176\1\uffff"+
"\5\176\1\u0095\2\176\1\u0099\1\u009b\1\176\1\u0096\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"",
"\1\uffff",
"\12\u010a\7\uffff\6\u0109\32\uffff\6\u0109",
"\12\u010a\7\uffff\6\u0109\32\uffff\6\u0109",
"\12\u010c\7\uffff\6\u010b\32\uffff\6\u010b",
"\12\u010c\7\uffff\6\u010b\32\uffff\6\u010b",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\5\176\1\u010d\5\176\1\u010e\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\5\176\1\u010f\5\176\1\u0110"+
"\16\176\1\uffff\1\176\2\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\5\176\1\u0111\5\176\1\u0112\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\5\176\1\u0113\5\176\1\u0114"+
"\16\176\1\uffff\1\176\2\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00bb\10\176\1"+
"\u0115\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00ed\10\176"+
"\1\u0115\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00eb\16\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00ea\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\13\176\1\u0116\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u0117\16\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00f3\10\176\1"+
"\u0115\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00bd\10\176"+
"\1\u0115\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u0118\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00f4\10\176\1\u0118\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00f0\10\176\1"+
"\u00b7\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00ef\10\176"+
"\1\u00b7\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u00f2\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u0119\10\176\1\u00f2\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u011a\10\176\1"+
"\u00f2\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u00f2\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u011b\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u011b\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00f1\10\176\1"+
"\u0118\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u0118\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u011b\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u011b\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u011e\10\176\1"+
"\u011d\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u011c\10\176"+
"\1\u011d\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u0121\10\176\1"+
"\u0120\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u011f\10\176"+
"\1\u0120\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u0122\10\176\1"+
"\u0120\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u0123\10\176"+
"\1\u0120\5\176",
"\12\u00fb\7\uffff\4\u00fc\1\u00fa\1\u00fc\11\uffff\1\u0124\20\uffff"+
"\4\u00fc\1\u00fa\1\u00fc\11\uffff\1\u0124",
"\1\u0125\1\uffff\1\u0125\2\uffff\12\u0126",
"\12\u00fb\7\uffff\4\u00fc\1\u00fa\1\u00fc\11\uffff\1\u0124\20\uffff"+
"\4\u00fc\1\u00fa\1\u00fc\11\uffff\1\u0124",
"\12\u00fb\7\uffff\4\u00fc\1\u00fa\1\u00fc\11\uffff\1\u0124\20\uffff"+
"\4\u00fc\1\u00fa\1\u00fc\11\uffff\1\u0124",
"\12\u00fb\7\uffff\4\u00fc\1\u00fa\1\u00fc\11\uffff\1\u0124\20\uffff"+
"\4\u00fc\1\u00fa\1\u00fc\11\uffff\1\u0124",
"\1\61\13\uffff\12\61\7\uffff\32\61\1\uffff\1\61\2\uffff\1\61\1\uffff"+
"\32\61",
"\1\u0128",
"\1\u0129",
"",
"",
"\1\61\13\uffff\12\61\7\uffff\32\61\1\uffff\1\61\2\uffff\1\61\1\uffff"+
"\32\61",
"\1\61\13\uffff\12\61\7\uffff\32\61\1\uffff\1\61\2\uffff\1\61\1\uffff"+
"\32\61",
"\1\u012c",
"",
"\1\u012d",
"\1\61\13\uffff\12\61\7\uffff\32\61\1\uffff\1\61\2\uffff\1\61\1\uffff"+
"\32\61",
"",
"\12\u0130\7\uffff\6\u012f\32\uffff\6\u012f",
"\12\u0130\7\uffff\6\u012f\32\uffff\6\u012f",
"\12\u0132\7\uffff\6\u0131\32\uffff\6\u0131",
"\12\u0132\7\uffff\6\u0131\32\uffff\6\u0131",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u00eb\16\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u00ea\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u011b\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u011b\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u011b\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u011b\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u0121\10\176\1"+
"\u0134\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u0133\10\176"+
"\1\u0134\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u0136\16\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u0135\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u0137\10\176\1"+
"\u0134\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u0123\10\176"+
"\1\u0134\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u0121\10\176\1"+
"\u0139\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u0138\10\176"+
"\1\u0139\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u013b\10\176\1"+
"\u011d\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u013a\10\176"+
"\1\u011d\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u013c\10\176\1"+
"\u013d\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u013d\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u013e\10\176\1"+
"\u0139\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u0123\10\176"+
"\1\u0139\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u013d\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u013f\10\176\1\u013d\5\176",
"\1\u0140\1\uffff\1\u0140\2\uffff\12\u0141",
"\12\u0126",
"\1\176\11\uffff\1\176\1\uffff\12\u0126\7\uffff\5\176\1\u0144\2\176\1"+
"\u0147\1\u0149\1\176\1\u0145\16\176\1\uffff\1\176\2\uffff\1\176\1\uffff"+
"\5\176\1\u0142\2\176\1\u0146\1\u0148\1\176\1\u0143\16\176",
"",
"\1\61\13\uffff\12\61\7\uffff\32\61\1\uffff\1\61\2\uffff\1\61\1\uffff"+
"\32\61",
"\1\u014b",
"",
"",
"\1\61\13\uffff\12\61\7\uffff\32\61\1\uffff\1\61\2\uffff\1\61\1\uffff"+
"\3\61\1\u014c\26\61",
"\1\61\13\uffff\12\61\7\uffff\32\61\1\uffff\1\61\2\uffff\1\61\1\uffff"+
"\32\61",
"",
"\1\u014f\13\uffff\12\u0151\7\uffff\32\u014f\1\uffff\1\u0150\2\uffff"+
"\1\u014f\1\uffff\32\u014f",
"\1\u014f\13\uffff\12\u0151\7\uffff\32\u014f\1\uffff\1\u0150\2\uffff"+
"\1\u014f\1\uffff\32\u014f",
"\12\u0153\7\uffff\6\u0152\32\uffff\6\u0152",
"\12\u0153\7\uffff\6\u0152\32\uffff\6\u0152",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u0121\10\176\1"+
"\u0154\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u0138\10\176"+
"\1\u0154\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u0136\16\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u0135\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\13\176\1\u0155\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u0156\16\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u013e\10\176\1"+
"\u0154\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u0123\10\176"+
"\1\u0154\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u0157\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u013f\10\176\1\u0157\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u013b\10\176\1"+
"\u011d\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u013a\10\176"+
"\1\u011d\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u013d\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u0158\10\176\1\u013d\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u0159\10\176\1"+
"\u013d\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u013d\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u015a\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u015a\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u013c\10\176\1"+
"\u0157\5\176\1\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u0157\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u015a\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u015a\5\176",
"\12\u0141",
"\1\176\11\uffff\1\176\1\uffff\12\u0141\7\uffff\5\176\1\u015d\2\176\1"+
"\u0160\1\u0162\1\176\1\u015e\16\176\1\uffff\1\176\2\uffff\1\176\1\uffff"+
"\5\176\1\u015b\2\176\1\u015f\1\u0161\1\176\1\u015c\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\5\176\1\u0163\5\176\1\u0164\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\5\176\1\u0165\5\176\1\u0166"+
"\16\176\1\uffff\1\176\2\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\5\176\1\u0167\5\176\1\u0168\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\5\176\1\u0169\5\176\1\u016a"+
"\16\176\1\uffff\1\176\2\uffff\1\176\1\uffff\32\176",
"",
"\1\61\13\uffff\12\61\7\uffff\32\61\1\uffff\1\61\2\uffff\1\61\1\uffff"+
"\32\61",
"\1\61\13\uffff\12\61\7\uffff\32\61\1\uffff\1\61\2\uffff\1\61\1\uffff"+
"\32\61",
"",
"",
"\1\u014f\13\uffff\12\u0151\7\uffff\32\u014f\1\uffff\1\u0150\2\uffff"+
"\1\u014f\1\uffff\32\u014f",
"\1\u016e\37\uffff\1\u016d",
"\1\u014f\13\uffff\12\u0151\7\uffff\32\u014f\1\uffff\1\u0150\2\uffff"+
"\1\u014f\1\uffff\32\u014f",
"\12\u0170\7\uffff\6\u016f\32\uffff\6\u016f",
"\12\u0170\7\uffff\6\u016f\32\uffff\6\u016f",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\13\176\1\u0136\16\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\13\176\1\u0135\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u015a\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u015a\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\24\176\1\u015a\5\176\1"+
"\uffff\1\176\2\uffff\1\176\1\uffff\24\176\1\u015a\5\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\5\176\1\u0171\5\176\1\u0172\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\5\176\1\u0173\5\176\1\u0174"+
"\16\176\1\uffff\1\176\2\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\5\176\1\u0175\5\176\1\u0176\16\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\5\176\1\u0177\5\176\1\u0178"+
"\16\176\1\uffff\1\176\2\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"",
"",
"\12\u0179\7\uffff\6\u0179\32\uffff\6\u0179",
"\12\u017a\7\uffff\6\u017a\32\uffff\6\u017a",
"\12\u017c\7\uffff\6\u017b\32\uffff\6\u017b",
"\12\u017c\7\uffff\6\u017b\32\uffff\6\u017b",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\1\176\11\uffff\1\176\1\uffff\12\176\7\uffff\32\176\1\uffff\1\176\2"+
"\uffff\1\176\1\uffff\32\176",
"\12\u017d\7\uffff\6\u017d\32\uffff\6\u017d",
"\12\u017e\7\uffff\6\u017e\32\uffff\6\u017e",
"\12\u0180\7\uffff\6\u017f\32\uffff\6\u017f",
"\12\u0180\7\uffff\6\u017f\32\uffff\6\u017f",
"\12\u0181\7\uffff\6\u0181\32\uffff\6\u0181",
"\12\u0182\7\uffff\6\u0182\32\uffff\6\u0182",
"\1\u014f\13\uffff\12\u0151\7\uffff\32\u014f\1\uffff\1\u0150\2\uffff"+
"\1\u014f\1\uffff\32\u014f",
"\1\u014f\13\uffff\12\u0151\7\uffff\32\u014f\1\uffff\1\u0150\2\uffff"+
"\1\u014f\1\uffff\32\u014f",
"\12\u0183\7\uffff\6\u0183\32\uffff\6\u0183",
"\12\u0184\7\uffff\6\u0184\32\uffff\6\u0184",
"\1\u014f\13\uffff\12\u0151\7\uffff\32\u014f\1\uffff\1\u0150\2\uffff"+
"\1\u014f\1\uffff\32\u014f",
"\12\u0185\7\uffff\6\u0185\32\uffff\6\u0185",
"\12\u0186\7\uffff\6\u0186\32\uffff\6\u0186",
"\12\u0187\7\uffff\6\u0187\32\uffff\6\u0187",
"\12\u0188\7\uffff\6\u0188\32\uffff\6\u0188",
"\1\u014f\13\uffff\12\u0151\7\uffff\32\u014f\1\uffff\1\u0150\2\uffff"+
"\1\u014f\1\uffff\32\u014f"
};
static final short[] DFA68_eot = DFA.unpackEncodedString(DFA68_eotS);
static final short[] DFA68_eof = DFA.unpackEncodedString(DFA68_eofS);
static final char[] DFA68_min = DFA.unpackEncodedStringToUnsignedChars(DFA68_minS);
static final char[] DFA68_max = DFA.unpackEncodedStringToUnsignedChars(DFA68_maxS);
static final short[] DFA68_accept = DFA.unpackEncodedString(DFA68_acceptS);
static final short[] DFA68_special = DFA.unpackEncodedString(DFA68_specialS);
static final short[][] DFA68_transition;
static {
int numStates = DFA68_transitionS.length;
DFA68_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA68_transition[i] = DFA.unpackEncodedString(DFA68_transitionS[i]);
}
}
protected class DFA68 extends DFA {
public DFA68(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 68;
this.eot = DFA68_eot;
this.eof = DFA68_eof;
this.min = DFA68_min;
this.max = DFA68_max;
this.accept = DFA68_accept;
this.special = DFA68_special;
this.transition = DFA68_transition;
}
@Override
public String getDescription() {
return "1:1: Tokens : ( NEWLINE | WS | IF | ELSE | DEFINE | DEFINED | ELIF | ENDIF | ERROR | IFDEF | IFNDEF | INCLUDE | LINE | PRAGMA | UNDEF | ELLIPSIS | DOTDOT | DOT | AMPERSAND | AND | ARROW | ASSIGN | BITANDEQ | BITOR | BITOREQ | BITXOR | BITXOREQ | COLON | COMMA | DIV | DIVEQ | EQUALS | GT | GTE | HASH | HASHHASH | LCURLY | LPAREN | LSQUARE | LT | LTE | MINUSMINUS | MOD | MODEQ | NEQ | NOT | OR | PLUS | PLUSEQ | PLUSPLUS | QMARK | RCURLY | RPAREN | RSQUARE | SEMI | SHIFTLEFT | SHIFTLEFTEQ | SHIFTRIGHT | SHIFTRIGHTEQ | STAR | STAREQ | SUB | SUBEQ | TILDE | AT | EQUIV_ACSL | IMPLIES | IMPLIES_ACSL | LSLIST | RSLIST | XOR_ACSL | LEXCON | REXCON | IDENTIFIER | INTEGER_CONSTANT | FLOATING_CONSTANT | PP_NUMBER | CHARACTER_CONSTANT | STRING_LITERAL | INLINE_ANNOTATION_START | COMMENT | ANNOTATION_START | ANNOTATION_END | EXTENDED_IDENTIFIER | OTHER );";
}
@Override
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
IntStream input = _input;
int _s = s;
switch ( s ) {
case 0 :
int LA68_162 = input.LA(1);
s = -1;
if ( ((LA68_162 >= '\u0000' && LA68_162 <= '\uFFFF')) ) {s = 161;}
else s = 216;
if ( s>=0 ) return s;
break;
case 1 :
int LA68_216 = input.LA(1);
int index68_216 = input.index();
input.rewind();
s = -1;
if ( (!(((parseAnnotations)))) ) {s = 161;}
else if ( ((parseAnnotations)) ) {s = 264;}
input.seek(index68_216);
if ( s>=0 ) return s;
break;
case 2 :
int LA68_0 = input.LA(1);
s = -1;
if ( (LA68_0=='\r') ) {s = 1;}
else if ( (LA68_0=='\n') ) {s = 2;}
else if ( (LA68_0=='\t'||LA68_0==' ') ) {s = 3;}
else if ( (LA68_0=='i') ) {s = 4;}
else if ( (LA68_0=='e') ) {s = 5;}
else if ( (LA68_0=='d') ) {s = 6;}
else if ( (LA68_0=='l') ) {s = 7;}
else if ( (LA68_0=='p') ) {s = 8;}
else if ( (LA68_0=='u') ) {s = 9;}
else if ( (LA68_0=='.') ) {s = 10;}
else if ( (LA68_0=='&') ) {s = 11;}
else if ( (LA68_0=='-') ) {s = 12;}
else if ( (LA68_0=='=') ) {s = 13;}
else if ( (LA68_0=='|') ) {s = 14;}
else if ( (LA68_0=='^') ) {s = 15;}
else if ( (LA68_0==':') ) {s = 16;}
else if ( (LA68_0==',') ) {s = 17;}
else if ( (LA68_0=='/') ) {s = 18;}
else if ( (LA68_0=='>') ) {s = 19;}
else if ( (LA68_0=='#') ) {s = 20;}
else if ( (LA68_0=='%') ) {s = 21;}
else if ( (LA68_0=='{') ) {s = 22;}
else if ( (LA68_0=='<') ) {s = 23;}
else if ( (LA68_0=='(') ) {s = 24;}
else if ( (LA68_0=='[') ) {s = 25;}
else if ( (LA68_0=='!') ) {s = 26;}
else if ( (LA68_0=='+') ) {s = 27;}
else if ( (LA68_0=='?') ) {s = 28;}
else if ( (LA68_0=='}') ) {s = 29;}
else if ( (LA68_0==')') ) {s = 30;}
else if ( (LA68_0==']') ) {s = 31;}
else if ( (LA68_0==';') ) {s = 32;}
else if ( (LA68_0=='*') ) {s = 33;}
else if ( (LA68_0=='~') ) {s = 34;}
else if ( (LA68_0=='@') ) {s = 35;}
else if ( (LA68_0=='U') ) {s = 36;}
else if ( (LA68_0=='\\') ) {s = 37;}
else if ( ((LA68_0 >= '1' && LA68_0 <= '9')) ) {s = 38;}
else if ( (LA68_0=='0') ) {s = 39;}
else if ( (LA68_0=='$'||(LA68_0 >= 'A' && LA68_0 <= 'K')||(LA68_0 >= 'M' && LA68_0 <= 'T')||(LA68_0 >= 'V' && LA68_0 <= 'Z')||LA68_0=='_'||(LA68_0 >= 'a' && LA68_0 <= 'c')||(LA68_0 >= 'f' && LA68_0 <= 'h')||(LA68_0 >= 'j' && LA68_0 <= 'k')||(LA68_0 >= 'm' && LA68_0 <= 'o')||(LA68_0 >= 'q' && LA68_0 <= 't')||(LA68_0 >= 'v' && LA68_0 <= 'z')) ) {s = 40;}
else if ( (LA68_0=='\'') ) {s = 41;}
else if ( (LA68_0=='L') ) {s = 42;}
else if ( (LA68_0=='\"') ) {s = 43;}
else if ( ((LA68_0 >= '\u0000' && LA68_0 <= '\b')||(LA68_0 >= '\u000B' && LA68_0 <= '\f')||(LA68_0 >= '\u000E' && LA68_0 <= '\u001F')||LA68_0=='`'||(LA68_0 >= '\u007F' && LA68_0 <= '\uFFFF')) ) {s = 44;}
if ( s>=0 ) return s;
break;
case 3 :
int LA68_33 = input.LA(1);
int index68_33 = input.index();
input.rewind();
s = -1;
if ( (LA68_33=='=') ) {s = 111;}
else if ( (LA68_33=='/') && ((parseAnnotations))) {s = 112;}
else s = 113;
input.seek(index68_33);
if ( s>=0 ) return s;
break;
case 4 :
int LA68_160 = input.LA(1);
s = -1;
if ( ((LA68_160 >= '\u0000' && LA68_160 <= '\t')||(LA68_160 >= '\u000B' && LA68_160 <= '\f')||(LA68_160 >= '\u000E' && LA68_160 <= '\uFFFF')) ) {s = 161;}
else s = 215;
if ( s>=0 ) return s;
break;
case 5 :
int LA68_43 = input.LA(1);
s = -1;
if ( ((LA68_43 >= '\u0000' && LA68_43 <= '\t')||(LA68_43 >= '\u000B' && LA68_43 <= '\uFFFF')) ) {s = 59;}
else s = 44;
if ( s>=0 ) return s;
break;
case 6 :
int LA68_85 = input.LA(1);
s = -1;
if ( (LA68_85=='@') ) {s = 162;}
else if ( ((LA68_85 >= '\u0000' && LA68_85 <= '?')||(LA68_85 >= 'A' && LA68_85 <= '\uFFFF')) ) {s = 161;}
if ( s>=0 ) return s;
break;
case 7 :
int LA68_41 = input.LA(1);
s = -1;
if ( ((LA68_41 >= '\u0000' && LA68_41 <= '\t')||(LA68_41 >= '\u000B' && LA68_41 <= '&')||(LA68_41 >= '(' && LA68_41 <= '\uFFFF')) ) {s = 58;}
else s = 44;
if ( s>=0 ) return s;
break;
}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 68, _s, input);
error(nvae);
throw nvae;
}
}
}