// $ANTLR 3.4 E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g 2012-10-30 21:27:14 package hdgl.db.query.parser; import hdgl.db.query.expression.*; import hdgl.db.query.parser.*; import hdgl.db.query.condition.*; import java.util.ArrayList; import org.antlr.runtime.*; import java.util.Stack; import java.util.List; import java.util.ArrayList; @SuppressWarnings({"all", "warnings", "unchecked"}) public class QueryParser extends Parser { public static final String[] tokenNames = new String[] { "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ESC_SEQ", "EXPONENT", "FLOAT", "HEX_DIGIT", "ID", "INT", "LQUOTE", "OCTAL_ESC", "OP", "QUANTIFIER", "RQUOTE", "STRING", "UNICODE_ESC", "WS", "'-'", "'.'", "':'", "'['", "']'", "'|'" }; public static final int EOF=-1; public static final int T__18=18; public static final int T__19=19; public static final int T__20=20; public static final int T__21=21; public static final int T__22=22; public static final int T__23=23; public static final int ESC_SEQ=4; public static final int EXPONENT=5; public static final int FLOAT=6; public static final int HEX_DIGIT=7; public static final int ID=8; public static final int INT=9; public static final int LQUOTE=10; public static final int OCTAL_ESC=11; public static final int OP=12; public static final int QUANTIFIER=13; public static final int RQUOTE=14; public static final int STRING=15; public static final int UNICODE_ESC=16; public static final int WS=17; // delegates public Parser[] getDelegates() { return new Parser[] {}; } // delegators public QueryParser(TokenStream input) { this(input, new RecognizerSharedState()); } public QueryParser(TokenStream input, RecognizerSharedState state) { super(input, state); } public String[] getTokenNames() { return QueryParser.tokenNames; } public String getGrammarFileName() { return "E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g"; } // $ANTLR start "order" // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:78:1: order returns [String val] : ( ID | OP ); public final String order() throws RecognitionException { String val = null; Token ID1=null; Token OP2=null; try { // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:79:2: ( ID | OP ) int alt1=2; int LA1_0 = input.LA(1); if ( (LA1_0==ID) ) { alt1=1; } else if ( (LA1_0==OP) ) { alt1=2; } else { NoViableAltException nvae = new NoViableAltException("", 1, 0, input); throw nvae; } switch (alt1) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:79:4: ID { ID1=(Token)match(input,ID,FOLLOW_ID_in_order542); val = (ID1!=null?ID1.getText():null); } break; case 2 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:80:4: OP { OP2=(Token)match(input,OP,FOLLOW_OP_in_order549); val = (OP2!=null?OP2.getText():null); } break; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving } return val; } // $ANTLR end "order" // $ANTLR start "value" // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:83:1: value returns [AbstractValue val] : ( STRING | INT | FLOAT | ID ); public final AbstractValue value() throws RecognitionException { AbstractValue val = null; Token STRING3=null; Token INT4=null; Token FLOAT5=null; Token ID6=null; try { // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:84:2: ( STRING | INT | FLOAT | ID ) int alt2=4; switch ( input.LA(1) ) { case STRING: { alt2=1; } break; case INT: { alt2=2; } break; case FLOAT: { alt2=3; } break; case ID: { alt2=4; } break; default: NoViableAltException nvae = new NoViableAltException("", 2, 0, input); throw nvae; } switch (alt2) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:84:4: STRING { STRING3=(Token)match(input,STRING,FOLLOW_STRING_in_value566); val = new StringValue((STRING3!=null?STRING3.getText():null)); } break; case 2 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:85:4: INT { INT4=(Token)match(input,INT,FOLLOW_INT_in_value574); val = new IntNumberValue((INT4!=null?INT4.getText():null)); } break; case 3 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:86:4: FLOAT { FLOAT5=(Token)match(input,FLOAT,FOLLOW_FLOAT_in_value582); val = new FloatNumberValue((FLOAT5!=null?FLOAT5.getText():null)); } break; case 4 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:87:4: ID { ID6=(Token)match(input,ID,FOLLOW_ID_in_value590); val = new StringValue((ID6!=null?ID6.getText():null)); } break; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving } return val; } // $ANTLR end "value" // $ANTLR start "entity" // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:90:1: entity returns [Expression val] : ( '.' ( ID )? ( entityRestriction )* ( QUANTIFIER )? | '-' ( ID )? ( entityRestriction )* ( QUANTIFIER )? ); public final Expression entity() throws RecognitionException { Expression val = null; Token ID8=null; Token QUANTIFIER9=null; Token ID11=null; Token QUANTIFIER12=null; Util.OrderAndCondition entityRestriction7 =null; Util.OrderAndCondition entityRestriction10 =null; try { // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:91:2: ( '.' ( ID )? ( entityRestriction )* ( QUANTIFIER )? | '-' ( ID )? ( entityRestriction )* ( QUANTIFIER )? ) int alt9=2; int LA9_0 = input.LA(1); if ( (LA9_0==19) ) { alt9=1; } else if ( (LA9_0==18) ) { alt9=2; } else { NoViableAltException nvae = new NoViableAltException("", 9, 0, input); throw nvae; } switch (alt9) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:91:4: '.' ( ID )? ( entityRestriction )* ( QUANTIFIER )? { ArrayList<Util.OrderAndCondition> list = new ArrayList<Util.OrderAndCondition>(); match(input,19,FOLLOW_19_in_entity612); // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:92:7: ( ID )? int alt3=2; int LA3_0 = input.LA(1); if ( (LA3_0==ID) ) { alt3=1; } switch (alt3) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:92:7: ID { ID8=(Token)match(input,ID,FOLLOW_ID_in_entity614); } break; } // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:92:11: ( entityRestriction )* loop4: do { int alt4=2; int LA4_0 = input.LA(1); if ( (LA4_0==21) ) { alt4=1; } switch (alt4) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:92:12: entityRestriction { pushFollow(FOLLOW_entityRestriction_in_entity618); entityRestriction7=entityRestriction(); state._fsp--; list.add(entityRestriction7); } break; default : break loop4; } } while (true); Util.OrderAndConditions ocs = Util.combineOrderAndConditions(list); val = Expression.buildEntity(".", ocs.getOrder(), ocs.getConditions(), (ID8!=null?ID8.getText():null)); // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:97:3: ( QUANTIFIER )? int alt5=2; int LA5_0 = input.LA(1); if ( (LA5_0==QUANTIFIER) ) { alt5=1; } switch (alt5) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:97:4: QUANTIFIER { QUANTIFIER9=(Token)match(input,QUANTIFIER,FOLLOW_QUANTIFIER_in_entity631); val = Expression.buildQuantifier((QUANTIFIER9!=null?QUANTIFIER9.getText():null), val); } break; } } break; case 2 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:98:4: '-' ( ID )? ( entityRestriction )* ( QUANTIFIER )? { ArrayList<Util.OrderAndCondition> list = new ArrayList<Util.OrderAndCondition>(); match(input,18,FOLLOW_18_in_entity644); // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:99:7: ( ID )? int alt6=2; int LA6_0 = input.LA(1); if ( (LA6_0==ID) ) { alt6=1; } switch (alt6) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:99:7: ID { ID11=(Token)match(input,ID,FOLLOW_ID_in_entity646); } break; } // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:99:11: ( entityRestriction )* loop7: do { int alt7=2; int LA7_0 = input.LA(1); if ( (LA7_0==21) ) { alt7=1; } switch (alt7) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:99:12: entityRestriction { pushFollow(FOLLOW_entityRestriction_in_entity650); entityRestriction10=entityRestriction(); state._fsp--; list.add(entityRestriction10); } break; default : break loop7; } } while (true); Util.OrderAndConditions ocs = Util.combineOrderAndConditions(list); val = Expression.buildEntity("-", ocs.getOrder(), ocs.getConditions(), (ID11!=null?ID11.getText():null)); // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:104:3: ( QUANTIFIER )? int alt8=2; int LA8_0 = input.LA(1); if ( (LA8_0==QUANTIFIER) ) { alt8=1; } switch (alt8) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:104:4: QUANTIFIER { QUANTIFIER12=(Token)match(input,QUANTIFIER,FOLLOW_QUANTIFIER_in_entity664); val = Expression.buildQuantifier((QUANTIFIER12!=null?QUANTIFIER12.getText():null), val); } break; } } break; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving } return val; } // $ANTLR end "entity" // $ANTLR start "entityRestriction" // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:107:1: entityRestriction returns [Util.OrderAndCondition val] : ( '[' ID OP value ']' | '[' order ':' ID ']' | '[' order ':' ID OP value ']' ); public final Util.OrderAndCondition entityRestriction() throws RecognitionException { Util.OrderAndCondition val = null; Token ID13=null; Token OP14=null; Token ID16=null; Token ID18=null; Token OP20=null; AbstractValue value15 =null; String order17 =null; String order19 =null; AbstractValue value21 =null; try { // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:108:2: ( '[' ID OP value ']' | '[' order ':' ID ']' | '[' order ':' ID OP value ']' ) int alt10=3; int LA10_0 = input.LA(1); if ( (LA10_0==21) ) { int LA10_1 = input.LA(2); if ( (LA10_1==ID) ) { int LA10_2 = input.LA(3); if ( (LA10_2==OP) ) { alt10=1; } else if ( (LA10_2==20) ) { int LA10_5 = input.LA(4); if ( (LA10_5==ID) ) { int LA10_6 = input.LA(5); if ( (LA10_6==22) ) { alt10=2; } else if ( (LA10_6==OP) ) { alt10=3; } else { NoViableAltException nvae = new NoViableAltException("", 10, 6, input); throw nvae; } } else { NoViableAltException nvae = new NoViableAltException("", 10, 5, input); throw nvae; } } else { NoViableAltException nvae = new NoViableAltException("", 10, 2, input); throw nvae; } } else if ( (LA10_1==OP) ) { int LA10_3 = input.LA(3); if ( (LA10_3==20) ) { int LA10_5 = input.LA(4); if ( (LA10_5==ID) ) { int LA10_6 = input.LA(5); if ( (LA10_6==22) ) { alt10=2; } else if ( (LA10_6==OP) ) { alt10=3; } else { NoViableAltException nvae = new NoViableAltException("", 10, 6, input); throw nvae; } } else { NoViableAltException nvae = new NoViableAltException("", 10, 5, input); throw nvae; } } else { NoViableAltException nvae = new NoViableAltException("", 10, 3, input); throw nvae; } } else { NoViableAltException nvae = new NoViableAltException("", 10, 1, input); throw nvae; } } else { NoViableAltException nvae = new NoViableAltException("", 10, 0, input); throw nvae; } switch (alt10) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:108:4: '[' ID OP value ']' { match(input,21,FOLLOW_21_in_entityRestriction683); ID13=(Token)match(input,ID,FOLLOW_ID_in_entityRestriction685); OP14=(Token)match(input,OP,FOLLOW_OP_in_entityRestriction687); pushFollow(FOLLOW_value_in_entityRestriction689); value15=value(); state._fsp--; match(input,22,FOLLOW_22_in_entityRestriction691); val = new Util.OrderAndCondition( null, Expression.buildCondition((ID13!=null?ID13.getText():null), (OP14!=null?OP14.getText():null), value15)); } break; case 2 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:110:4: '[' order ':' ID ']' { match(input,21,FOLLOW_21_in_entityRestriction701); pushFollow(FOLLOW_order_in_entityRestriction703); order17=order(); state._fsp--; match(input,20,FOLLOW_20_in_entityRestriction705); ID16=(Token)match(input,ID,FOLLOW_ID_in_entityRestriction707); match(input,22,FOLLOW_22_in_entityRestriction709); val = new Util.OrderAndCondition( Expression.buildOrder((ID16!=null?ID16.getText():null), order17), null); } break; case 3 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:112:4: '[' order ':' ID OP value ']' { match(input,21,FOLLOW_21_in_entityRestriction718); pushFollow(FOLLOW_order_in_entityRestriction720); order19=order(); state._fsp--; match(input,20,FOLLOW_20_in_entityRestriction722); ID18=(Token)match(input,ID,FOLLOW_ID_in_entityRestriction724); OP20=(Token)match(input,OP,FOLLOW_OP_in_entityRestriction726); pushFollow(FOLLOW_value_in_entityRestriction728); value21=value(); state._fsp--; match(input,22,FOLLOW_22_in_entityRestriction730); val = new Util.OrderAndCondition( Expression.buildOrder((ID18!=null?ID18.getText():null), order19), Expression.buildCondition((ID18!=null?ID18.getText():null), (OP20!=null?OP20.getText():null), value21)); } break; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving } return val; } // $ANTLR end "entityRestriction" // $ANTLR start "group" // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:116:1: group returns [Expression val] : LQUOTE (p1= parallel )+ RQUOTE ( QUANTIFIER )? ; public final Expression group() throws RecognitionException { Expression val = null; Token QUANTIFIER22=null; Expression p1 =null; try { // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:117:2: ( LQUOTE (p1= parallel )+ RQUOTE ( QUANTIFIER )? ) // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:117:4: LQUOTE (p1= parallel )+ RQUOTE ( QUANTIFIER )? { ArrayList<Expression> list = new ArrayList<Expression>(); match(input,LQUOTE,FOLLOW_LQUOTE_in_group753); // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:118:10: (p1= parallel )+ int cnt11=0; loop11: do { int alt11=2; int LA11_0 = input.LA(1); if ( (LA11_0==LQUOTE||(LA11_0 >= 18 && LA11_0 <= 19)) ) { alt11=1; } switch (alt11) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:118:11: p1= parallel { pushFollow(FOLLOW_parallel_in_group758); p1=parallel(); state._fsp--; list.add(p1); } break; default : if ( cnt11 >= 1 ) break loop11; EarlyExitException eee = new EarlyExitException(11, input); throw eee; } cnt11++; } while (true); match(input,RQUOTE,FOLLOW_RQUOTE_in_group770); val = Expression.buildConcat(list.toArray(new Expression[0])); // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:122:3: ( QUANTIFIER )? int alt12=2; int LA12_0 = input.LA(1); if ( (LA12_0==QUANTIFIER) ) { alt12=1; } switch (alt12) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:122:4: QUANTIFIER { QUANTIFIER22=(Token)match(input,QUANTIFIER,FOLLOW_QUANTIFIER_in_group779); val = Expression.buildQuantifier((QUANTIFIER22!=null?QUANTIFIER22.getText():null), val); } break; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving } return val; } // $ANTLR end "group" // $ANTLR start "atom" // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:128:1: fragment atom returns [Expression val] : ( entity | group ); public final Expression atom() throws RecognitionException { Expression val = null; Expression entity23 =null; Expression group24 =null; try { // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:129:2: ( entity | group ) int alt13=2; int LA13_0 = input.LA(1); if ( ((LA13_0 >= 18 && LA13_0 <= 19)) ) { alt13=1; } else if ( (LA13_0==LQUOTE) ) { alt13=2; } else { NoViableAltException nvae = new NoViableAltException("", 13, 0, input); throw nvae; } switch (alt13) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:129:4: entity { pushFollow(FOLLOW_entity_in_atom805); entity23=entity(); state._fsp--; val = entity23; } break; case 2 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:130:4: group { pushFollow(FOLLOW_group_in_atom812); group24=group(); state._fsp--; val = group24; } break; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving } return val; } // $ANTLR end "atom" // $ANTLR start "parallel" // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:133:1: parallel returns [Expression val] :e1= atom ( '|' e2= atom )* ; public final Expression parallel() throws RecognitionException { Expression val = null; Expression e1 =null; Expression e2 =null; try { // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:134:2: (e1= atom ( '|' e2= atom )* ) // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:134:4: e1= atom ( '|' e2= atom )* { ArrayList<Expression> list = new ArrayList<Expression>(); pushFollow(FOLLOW_atom_in_parallel835); e1=atom(); state._fsp--; list.add(e1); // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:137:3: ( '|' e2= atom )* loop14: do { int alt14=2; int LA14_0 = input.LA(1); if ( (LA14_0==23) ) { alt14=1; } switch (alt14) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:137:4: '|' e2= atom { match(input,23,FOLLOW_23_in_parallel845); pushFollow(FOLLOW_atom_in_parallel849); e2=atom(); state._fsp--; list.add(e2); } break; default : break loop14; } } while (true); val = Expression.buildParallel(list.toArray(new Expression[0])); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving } return val; } // $ANTLR end "parallel" // $ANTLR start "expression" // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:143:1: expression returns [Query val] : (p1= parallel )+ EOF ; public final Query expression() throws RecognitionException { Query val = null; Expression p1 =null; try { // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:144:2: ( (p1= parallel )+ EOF ) // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:144:5: (p1= parallel )+ EOF { ArrayList<Expression> list = new ArrayList<Expression>(); // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:145:3: (p1= parallel )+ int cnt15=0; loop15: do { int alt15=2; int LA15_0 = input.LA(1); if ( (LA15_0==LQUOTE||(LA15_0 >= 18 && LA15_0 <= 19)) ) { alt15=1; } switch (alt15) { case 1 : // E:\\Project\\hdgl\\hdgl.db.query\\src\\hdgl\\db\\query\\parser\\Query.g:145:4: p1= parallel { pushFollow(FOLLOW_parallel_in_expression886); p1=parallel(); state._fsp--; list.add(p1); } break; default : if ( cnt15 >= 1 ) break loop15; EarlyExitException eee = new EarlyExitException(15, input); throw eee; } cnt15++; } while (true); val = Expression.buildQuery(Expression.buildConcat(list.toArray(new Expression[0]))); match(input,EOF,FOLLOW_EOF_in_expression905); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving } return val; } // $ANTLR end "expression" // Delegated rules public static final BitSet FOLLOW_ID_in_order542 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_OP_in_order549 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_STRING_in_value566 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_INT_in_value574 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_FLOAT_in_value582 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ID_in_value590 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_19_in_entity612 = new BitSet(new long[]{0x0000000000202102L}); public static final BitSet FOLLOW_ID_in_entity614 = new BitSet(new long[]{0x0000000000202002L}); public static final BitSet FOLLOW_entityRestriction_in_entity618 = new BitSet(new long[]{0x0000000000202002L}); public static final BitSet FOLLOW_QUANTIFIER_in_entity631 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_18_in_entity644 = new BitSet(new long[]{0x0000000000202102L}); public static final BitSet FOLLOW_ID_in_entity646 = new BitSet(new long[]{0x0000000000202002L}); public static final BitSet FOLLOW_entityRestriction_in_entity650 = new BitSet(new long[]{0x0000000000202002L}); public static final BitSet FOLLOW_QUANTIFIER_in_entity664 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_21_in_entityRestriction683 = new BitSet(new long[]{0x0000000000000100L}); public static final BitSet FOLLOW_ID_in_entityRestriction685 = new BitSet(new long[]{0x0000000000001000L}); public static final BitSet FOLLOW_OP_in_entityRestriction687 = new BitSet(new long[]{0x0000000000008340L}); public static final BitSet FOLLOW_value_in_entityRestriction689 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_entityRestriction691 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_21_in_entityRestriction701 = new BitSet(new long[]{0x0000000000001100L}); public static final BitSet FOLLOW_order_in_entityRestriction703 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_entityRestriction705 = new BitSet(new long[]{0x0000000000000100L}); public static final BitSet FOLLOW_ID_in_entityRestriction707 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_entityRestriction709 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_21_in_entityRestriction718 = new BitSet(new long[]{0x0000000000001100L}); public static final BitSet FOLLOW_order_in_entityRestriction720 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_entityRestriction722 = new BitSet(new long[]{0x0000000000000100L}); public static final BitSet FOLLOW_ID_in_entityRestriction724 = new BitSet(new long[]{0x0000000000001000L}); public static final BitSet FOLLOW_OP_in_entityRestriction726 = new BitSet(new long[]{0x0000000000008340L}); public static final BitSet FOLLOW_value_in_entityRestriction728 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_entityRestriction730 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LQUOTE_in_group753 = new BitSet(new long[]{0x00000000000C0400L}); public static final BitSet FOLLOW_parallel_in_group758 = new BitSet(new long[]{0x00000000000C4400L}); public static final BitSet FOLLOW_RQUOTE_in_group770 = new BitSet(new long[]{0x0000000000002002L}); public static final BitSet FOLLOW_QUANTIFIER_in_group779 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_entity_in_atom805 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_group_in_atom812 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_atom_in_parallel835 = new BitSet(new long[]{0x0000000000800002L}); public static final BitSet FOLLOW_23_in_parallel845 = new BitSet(new long[]{0x00000000000C0400L}); public static final BitSet FOLLOW_atom_in_parallel849 = new BitSet(new long[]{0x0000000000800002L}); public static final BitSet FOLLOW_parallel_in_expression886 = new BitSet(new long[]{0x00000000000C0400L}); public static final BitSet FOLLOW_EOF_in_expression905 = new BitSet(new long[]{0x0000000000000002L}); }