/*
* Copyright 2015 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// $ANTLR 3.3 Nov 30, 2010 12:46:29 src/main/resources/org/drools/lang/Tree2TestDRL.g 2011-01-18 19:45:14
package org.drools.compiler.lang;
import org.antlr.runtime.*;
import org.antlr.runtime.tree.*;
public class Tree2TestDRL extends TreeParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "VT_COMPILATION_UNIT", "VT_FUNCTION_IMPORT", "VT_FACT", "VT_CONSTRAINTS", "VT_LABEL", "VT_QUERY_ID", "VT_TYPE_DECLARE_ID", "VT_TYPE_NAME", "VT_RULE_ID", "VT_ENTRYPOINT_ID", "VT_RULE_ATTRIBUTES", "VT_PKG_ATTRIBUTES", "VT_RHS_CHUNK", "VT_CURLY_CHUNK", "VT_SQUARE_CHUNK", "VT_PAREN_CHUNK", "VT_BEHAVIOR", "VT_AND_IMPLICIT", "VT_AND_PREFIX", "VT_OR_PREFIX", "VT_AND_INFIX", "VT_OR_INFIX", "VT_ACCUMULATE_INIT_CLAUSE", "VT_ACCUMULATE_ID_CLAUSE", "VT_FROM_SOURCE", "VT_EXPRESSION_CHAIN", "VT_FOR_CE", "VT_FOR_FUNCTIONS", "VT_PATTERN", "VT_FACT_BINDING", "VT_FACT_OR", "VT_BIND_FIELD", "VT_FIELD", "VT_ACCESSOR_PATH", "VT_ACCESSOR_ELEMENT", "VT_DATA_TYPE", "VT_PATTERN_TYPE", "VT_PACKAGE_ID", "VT_IMPORT_ID", "VT_GLOBAL_ID", "VT_FUNCTION_ID", "VT_PARAM_LIST", "VT_ARGUMENTS", "VT_EXPRESSION", "VK_DATE_EFFECTIVE", "VK_DATE_EXPIRES", "VK_LOCK_ON_ACTIVE", "VK_NO_LOOP", "VK_AUTO_FOCUS", "VK_ACTIVATION_GROUP", "VK_AGENDA_GROUP", "VK_RULEFLOW_GROUP", "VK_TIMER", "VK_CALENDARS", "VK_DIALECT", "VK_SALIENCE", "VK_ENABLED", "VK_ATTRIBUTES", "VK_RULE", "VK_EXTEND", "VK_IMPLEMENTS", "VK_IMPORT", "VK_PACKAGE", "VK_QUERY", "VK_DECLARE", "VK_FUNCTION", "VK_GLOBAL", "VK_EVAL", "VK_ENTRY_POINT", "VK_NOT", "VK_IN", "VK_OR", "VK_AND", "VK_EXISTS", "VK_FORALL", "VK_FOR", "VK_ACTION", "VK_REVERSE", "VK_RESULT", "VK_OPERATOR", "VK_END", "VK_INIT", "VK_INSTANCEOF", "VK_EXTENDS", "VK_SUPER", "VK_PRIMITIVE_TYPE", "VK_THIS", "VK_VOID", "VK_CLASS", "VK_NEW", "VK_FINAL", "VK_IF", "VK_ELSE", "VK_WHILE", "VK_DO", "VK_CASE", "VK_DEFAULT", "VK_TRY", "VK_CATCH", "VK_FINALLY", "VK_SWITCH", "VK_SYNCHRONIZED", "VK_RETURN", "VK_THROW", "VK_BREAK", "VK_CONTINUE", "VK_ASSERT", "VK_MODIFY", "VK_STATIC", "VK_PUBLIC", "VK_PROTECTED", "VK_PRIVATE", "VK_ABSTRACT", "VK_NATIVE", "VK_TRANSIENT", "VK_VOLATILE", "VK_STRICTFP", "VK_THROWS", "VK_INTERFACE", "VK_ENUM", "SIGNED_DECIMAL", "SIGNED_HEX", "SIGNED_FLOAT", "VT_PROP_KEY", "VT_PROP_VALUE", "EOL", "WS", "Exponent", "FloatTypeSuffix", "FLOAT", "HexDigit", "IntegerTypeSuffix", "HEX", "DECIMAL", "EscapeSequence", "STRING", "TimePeriod", "UnicodeEscape", "OctalEscape", "BOOL", "ACCUMULATE", "COLLECT", "FROM", "NULL", "OVER", "THEN", "WHEN", "AT", "PLUS_ASSIGN", "MINUS_ASSIGN", "MULT_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", "OR_ASSIGN", "XOR_ASSIGN", "MOD_ASSIGN", "DECR", "INCR", "ARROW", "SEMICOLON", "COLON", "EQUALS", "NOT_EQUALS", "GREATER_EQUALS", "LESS_EQUALS", "GREATER", "LESS", "EQUALS_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN", "LEFT_SQUARE", "RIGHT_SQUARE", "LEFT_CURLY", "RIGHT_CURLY", "COMMA", "DOT", "DOUBLE_AMPER", "DOUBLE_PIPE", "QUESTION", "NEGATION", "TILDE", "PIPE", "AMPER", "XOR", "MOD", "STAR", "MINUS", "PLUS", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT", "IdentifierStart", "IdentifierPart", "ID", "DIV", "MISC", "DOT_STAR", "VK_TEMPLATE", "VT_TEMPLATE_ID", "VT_SLOT", "VT_SLOT_ID", "INT", "VK_DURATION", "EQUAL", "GREATER_EQUAL", "LESS_EQUAL", "NOT_EQUAL"
};
public static final int EOF=-1;
public static final int VT_COMPILATION_UNIT=4;
public static final int VT_FUNCTION_IMPORT=5;
public static final int VT_FACT=6;
public static final int VT_CONSTRAINTS=7;
public static final int VT_LABEL=8;
public static final int VT_QUERY_ID=9;
public static final int VT_TYPE_DECLARE_ID=10;
public static final int VT_TYPE_NAME=11;
public static final int VT_RULE_ID=12;
public static final int VT_ENTRYPOINT_ID=13;
public static final int VT_RULE_ATTRIBUTES=14;
public static final int VT_PKG_ATTRIBUTES=15;
public static final int VT_RHS_CHUNK=16;
public static final int VT_CURLY_CHUNK=17;
public static final int VT_SQUARE_CHUNK=18;
public static final int VT_PAREN_CHUNK=19;
public static final int VT_BEHAVIOR=20;
public static final int VT_AND_IMPLICIT=21;
public static final int VT_AND_PREFIX=22;
public static final int VT_OR_PREFIX=23;
public static final int VT_AND_INFIX=24;
public static final int VT_OR_INFIX=25;
public static final int VT_ACCUMULATE_INIT_CLAUSE=26;
public static final int VT_ACCUMULATE_ID_CLAUSE=27;
public static final int VT_FROM_SOURCE=28;
public static final int VT_EXPRESSION_CHAIN=29;
public static final int VT_FOR_CE=30;
public static final int VT_FOR_FUNCTIONS=31;
public static final int VT_PATTERN=32;
public static final int VT_FACT_BINDING=33;
public static final int VT_FACT_OR=34;
public static final int VT_BIND_FIELD=35;
public static final int VT_FIELD=36;
public static final int VT_ACCESSOR_PATH=37;
public static final int VT_ACCESSOR_ELEMENT=38;
public static final int VT_DATA_TYPE=39;
public static final int VT_PATTERN_TYPE=40;
public static final int VT_PACKAGE_ID=41;
public static final int VT_IMPORT_ID=42;
public static final int VT_GLOBAL_ID=43;
public static final int VT_FUNCTION_ID=44;
public static final int VT_PARAM_LIST=45;
public static final int VT_ARGUMENTS=46;
public static final int VT_EXPRESSION=47;
public static final int VK_DATE_EFFECTIVE=48;
public static final int VK_DATE_EXPIRES=49;
public static final int VK_LOCK_ON_ACTIVE=50;
public static final int VK_NO_LOOP=51;
public static final int VK_AUTO_FOCUS=52;
public static final int VK_ACTIVATION_GROUP=53;
public static final int VK_AGENDA_GROUP=54;
public static final int VK_RULEFLOW_GROUP=55;
public static final int VK_TIMER=56;
public static final int VK_CALENDARS=57;
public static final int VK_DIALECT=58;
public static final int VK_SALIENCE=59;
public static final int VK_ENABLED=60;
public static final int VK_ATTRIBUTES=61;
public static final int VK_RULE=62;
public static final int VK_EXTEND=63;
public static final int VK_IMPLEMENTS=64;
public static final int VK_IMPORT=65;
public static final int VK_PACKAGE=66;
public static final int VK_QUERY=67;
public static final int VK_DECLARE=68;
public static final int VK_FUNCTION=69;
public static final int VK_GLOBAL=70;
public static final int VK_EVAL=71;
public static final int VK_ENTRY_POINT=72;
public static final int VK_NOT=73;
public static final int VK_IN=74;
public static final int VK_OR=75;
public static final int VK_AND=76;
public static final int VK_EXISTS=77;
public static final int VK_FORALL=78;
public static final int VK_FOR=79;
public static final int VK_ACTION=80;
public static final int VK_REVERSE=81;
public static final int VK_RESULT=82;
public static final int VK_OPERATOR=83;
public static final int VK_END=84;
public static final int VK_INIT=85;
public static final int VK_INSTANCEOF=86;
public static final int VK_EXTENDS=87;
public static final int VK_SUPER=88;
public static final int VK_PRIMITIVE_TYPE=89;
public static final int VK_THIS=90;
public static final int VK_VOID=91;
public static final int VK_CLASS=92;
public static final int VK_NEW=93;
public static final int VK_FINAL=94;
public static final int VK_IF=95;
public static final int VK_ELSE=96;
public static final int VK_WHILE=97;
public static final int VK_DO=98;
public static final int VK_CASE=99;
public static final int VK_DEFAULT=100;
public static final int VK_TRY=101;
public static final int VK_CATCH=102;
public static final int VK_FINALLY=103;
public static final int VK_SWITCH=104;
public static final int VK_SYNCHRONIZED=105;
public static final int VK_RETURN=106;
public static final int VK_THROW=107;
public static final int VK_BREAK=108;
public static final int VK_CONTINUE=109;
public static final int VK_ASSERT=110;
public static final int VK_MODIFY=111;
public static final int VK_STATIC=112;
public static final int VK_PUBLIC=113;
public static final int VK_PROTECTED=114;
public static final int VK_PRIVATE=115;
public static final int VK_ABSTRACT=116;
public static final int VK_NATIVE=117;
public static final int VK_TRANSIENT=118;
public static final int VK_VOLATILE=119;
public static final int VK_STRICTFP=120;
public static final int VK_THROWS=121;
public static final int VK_INTERFACE=122;
public static final int VK_ENUM=123;
public static final int SIGNED_DECIMAL=124;
public static final int SIGNED_HEX=125;
public static final int SIGNED_FLOAT=126;
public static final int VT_PROP_KEY=127;
public static final int VT_PROP_VALUE=128;
public static final int EOL=129;
public static final int WS=130;
public static final int Exponent=131;
public static final int FloatTypeSuffix=132;
public static final int FLOAT=133;
public static final int HexDigit=134;
public static final int IntegerTypeSuffix=135;
public static final int HEX=136;
public static final int DECIMAL=137;
public static final int EscapeSequence=138;
public static final int STRING=139;
public static final int TimePeriod=140;
public static final int UnicodeEscape=141;
public static final int OctalEscape=142;
public static final int BOOL=143;
public static final int ACCUMULATE=144;
public static final int COLLECT=145;
public static final int FROM=146;
public static final int NULL=147;
public static final int OVER=148;
public static final int THEN=149;
public static final int WHEN=150;
public static final int AT=151;
public static final int PLUS_ASSIGN=152;
public static final int MINUS_ASSIGN=153;
public static final int MULT_ASSIGN=154;
public static final int DIV_ASSIGN=155;
public static final int AND_ASSIGN=156;
public static final int OR_ASSIGN=157;
public static final int XOR_ASSIGN=158;
public static final int MOD_ASSIGN=159;
public static final int DECR=160;
public static final int INCR=161;
public static final int ARROW=162;
public static final int SEMICOLON=163;
public static final int COLON=164;
public static final int EQUALS=165;
public static final int NOT_EQUALS=166;
public static final int GREATER_EQUALS=167;
public static final int LESS_EQUALS=168;
public static final int GREATER=169;
public static final int LESS=170;
public static final int EQUALS_ASSIGN=171;
public static final int LEFT_PAREN=172;
public static final int RIGHT_PAREN=173;
public static final int LEFT_SQUARE=174;
public static final int RIGHT_SQUARE=175;
public static final int LEFT_CURLY=176;
public static final int RIGHT_CURLY=177;
public static final int COMMA=178;
public static final int DOT=179;
public static final int DOUBLE_AMPER=180;
public static final int DOUBLE_PIPE=181;
public static final int QUESTION=182;
public static final int NEGATION=183;
public static final int TILDE=184;
public static final int PIPE=185;
public static final int AMPER=186;
public static final int XOR=187;
public static final int MOD=188;
public static final int STAR=189;
public static final int MINUS=190;
public static final int PLUS=191;
public static final int SH_STYLE_SINGLE_LINE_COMMENT=192;
public static final int C_STYLE_SINGLE_LINE_COMMENT=193;
public static final int MULTI_LINE_COMMENT=194;
public static final int IdentifierStart=195;
public static final int IdentifierPart=196;
public static final int ID=197;
public static final int DIV=198;
public static final int MISC=199;
public static final int DOT_STAR=200;
public static final int VK_TEMPLATE=201;
public static final int VT_TEMPLATE_ID=202;
public static final int VT_SLOT=203;
public static final int VT_SLOT_ID=204;
public static final int INT=205;
public static final int VK_DURATION=206;
public static final int EQUAL=207;
public static final int GREATER_EQUAL=208;
public static final int LESS_EQUAL=209;
public static final int NOT_EQUAL=210;
// delegates
// delegators
public Tree2TestDRL(TreeNodeStream input) {
this(input, new RecognizerSharedState());
}
public Tree2TestDRL(TreeNodeStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return Tree2TestDRL.tokenNames; }
public String getGrammarFileName() { return "src/main/resources/org/drools/lang/Tree2TestDRL.g"; }
// $ANTLR start "compilation_unit"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:13:1: compilation_unit : ^( VT_COMPILATION_UNIT ( package_statement )? ( statement )* ) ;
public final void compilation_unit() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:14:2: ( ^( VT_COMPILATION_UNIT ( package_statement )? ( statement )* ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:14:4: ^( VT_COMPILATION_UNIT ( package_statement )? ( statement )* )
{
match(input,VT_COMPILATION_UNIT,FOLLOW_VT_COMPILATION_UNIT_in_compilation_unit43);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:14:26: ( package_statement )?
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==VK_PACKAGE) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:14:26: package_statement
{
pushFollow(FOLLOW_package_statement_in_compilation_unit45);
package_statement();
state._fsp--;
}
break;
}
// src/main/resources/org/drools/lang/Tree2TestDRL.g:14:45: ( statement )*
loop2:
do {
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==VT_FUNCTION_IMPORT||(LA2_0>=VK_DATE_EFFECTIVE && LA2_0<=VK_RULEFLOW_GROUP)||(LA2_0>=VK_DIALECT && LA2_0<=VK_ENABLED)||LA2_0==VK_RULE||LA2_0==VK_IMPORT||(LA2_0>=VK_QUERY && LA2_0<=VK_GLOBAL)||LA2_0==VK_TEMPLATE||LA2_0==VK_DURATION) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:14:45: statement
{
pushFollow(FOLLOW_statement_in_compilation_unit48);
statement();
state._fsp--;
}
break;
default :
break loop2;
}
} while (true);
match(input, Token.UP, null);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "compilation_unit"
// $ANTLR start "package_statement"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:17:1: package_statement : ^( VK_PACKAGE package_id ) ;
public final void package_statement() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:18:2: ( ^( VK_PACKAGE package_id ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:18:4: ^( VK_PACKAGE package_id )
{
match(input,VK_PACKAGE,FOLLOW_VK_PACKAGE_in_package_statement63);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_package_id_in_package_statement65);
package_id();
state._fsp--;
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "package_statement"
// $ANTLR start "package_id"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:21:1: package_id : ^( VT_PACKAGE_ID ( ID )+ ) ;
public final void package_id() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:22:2: ( ^( VT_PACKAGE_ID ( ID )+ ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:22:4: ^( VT_PACKAGE_ID ( ID )+ )
{
match(input,VT_PACKAGE_ID,FOLLOW_VT_PACKAGE_ID_in_package_id78);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:22:20: ( ID )+
int cnt3=0;
loop3:
do {
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==ID) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:22:20: ID
{
match(input,ID,FOLLOW_ID_in_package_id80);
}
break;
default :
if ( cnt3 >= 1 ) break loop3;
EarlyExitException eee =
new EarlyExitException(3, input);
throw eee;
}
cnt3++;
} while (true);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "package_id"
// $ANTLR start "statement"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:25:1: statement : ( rule_attribute | function_import_statement | import_statement | global | function | template | rule | query | type_declaration );
public final void statement() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:26:2: ( rule_attribute | function_import_statement | import_statement | global | function | template | rule | query | type_declaration )
int alt4=9;
switch ( input.LA(1) ) {
case VK_DATE_EFFECTIVE:
case VK_DATE_EXPIRES:
case VK_LOCK_ON_ACTIVE:
case VK_NO_LOOP:
case VK_AUTO_FOCUS:
case VK_ACTIVATION_GROUP:
case VK_AGENDA_GROUP:
case VK_RULEFLOW_GROUP:
case VK_DIALECT:
case VK_SALIENCE:
case VK_ENABLED:
case VK_DURATION:
{
alt4=1;
}
break;
case VT_FUNCTION_IMPORT:
{
alt4=2;
}
break;
case VK_IMPORT:
{
alt4=3;
}
break;
case VK_GLOBAL:
{
alt4=4;
}
break;
case VK_FUNCTION:
{
alt4=5;
}
break;
case VK_TEMPLATE:
{
alt4=6;
}
break;
case VK_RULE:
{
alt4=7;
}
break;
case VK_QUERY:
{
alt4=8;
}
break;
case VK_DECLARE:
{
alt4=9;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 4, 0, input);
throw nvae;
}
switch (alt4) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:26:4: rule_attribute
{
pushFollow(FOLLOW_rule_attribute_in_statement93);
rule_attribute();
state._fsp--;
}
break;
case 2 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:27:4: function_import_statement
{
pushFollow(FOLLOW_function_import_statement_in_statement98);
function_import_statement();
state._fsp--;
}
break;
case 3 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:28:4: import_statement
{
pushFollow(FOLLOW_import_statement_in_statement104);
import_statement();
state._fsp--;
}
break;
case 4 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:29:4: global
{
pushFollow(FOLLOW_global_in_statement110);
global();
state._fsp--;
}
break;
case 5 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:30:4: function
{
pushFollow(FOLLOW_function_in_statement116);
function();
state._fsp--;
}
break;
case 6 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:31:4: template
{
pushFollow(FOLLOW_template_in_statement121);
template();
state._fsp--;
}
break;
case 7 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:32:4: rule
{
pushFollow(FOLLOW_rule_in_statement126);
rule();
state._fsp--;
}
break;
case 8 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:33:4: query
{
pushFollow(FOLLOW_query_in_statement131);
query();
state._fsp--;
}
break;
case 9 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:34:4: type_declaration
{
pushFollow(FOLLOW_type_declaration_in_statement136);
type_declaration();
state._fsp--;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "statement"
// $ANTLR start "import_statement"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:37:1: import_statement : ^( VK_IMPORT import_name ) ;
public final void import_statement() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:38:2: ( ^( VK_IMPORT import_name ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:38:4: ^( VK_IMPORT import_name )
{
match(input,VK_IMPORT,FOLLOW_VK_IMPORT_in_import_statement148);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_import_name_in_import_statement150);
import_name();
state._fsp--;
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "import_statement"
// $ANTLR start "function_import_statement"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:41:1: function_import_statement : ^( VT_FUNCTION_IMPORT VK_FUNCTION import_name ) ;
public final void function_import_statement() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:42:2: ( ^( VT_FUNCTION_IMPORT VK_FUNCTION import_name ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:42:4: ^( VT_FUNCTION_IMPORT VK_FUNCTION import_name )
{
match(input,VT_FUNCTION_IMPORT,FOLLOW_VT_FUNCTION_IMPORT_in_function_import_statement163);
match(input, Token.DOWN, null);
match(input,VK_FUNCTION,FOLLOW_VK_FUNCTION_in_function_import_statement165);
pushFollow(FOLLOW_import_name_in_function_import_statement167);
import_name();
state._fsp--;
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "function_import_statement"
// $ANTLR start "import_name"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:45:1: import_name : ^( VT_IMPORT_ID ( ID )+ ( DOT_STAR )? ) ;
public final void import_name() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:46:2: ( ^( VT_IMPORT_ID ( ID )+ ( DOT_STAR )? ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:46:4: ^( VT_IMPORT_ID ( ID )+ ( DOT_STAR )? )
{
match(input,VT_IMPORT_ID,FOLLOW_VT_IMPORT_ID_in_import_name180);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:46:19: ( ID )+
int cnt5=0;
loop5:
do {
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==ID) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:46:19: ID
{
match(input,ID,FOLLOW_ID_in_import_name182);
}
break;
default :
if ( cnt5 >= 1 ) break loop5;
EarlyExitException eee =
new EarlyExitException(5, input);
throw eee;
}
cnt5++;
} while (true);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:46:23: ( DOT_STAR )?
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==DOT_STAR) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:46:23: DOT_STAR
{
match(input,DOT_STAR,FOLLOW_DOT_STAR_in_import_name185);
}
break;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "import_name"
// $ANTLR start "global"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:49:1: global : ^( VK_GLOBAL data_type VT_GLOBAL_ID ) ;
public final void global() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:50:2: ( ^( VK_GLOBAL data_type VT_GLOBAL_ID ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:50:4: ^( VK_GLOBAL data_type VT_GLOBAL_ID )
{
match(input,VK_GLOBAL,FOLLOW_VK_GLOBAL_in_global199);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_data_type_in_global201);
data_type();
state._fsp--;
match(input,VT_GLOBAL_ID,FOLLOW_VT_GLOBAL_ID_in_global203);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "global"
// $ANTLR start "function"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:53:1: function : ^( VK_FUNCTION ( data_type )? VT_FUNCTION_ID parameters curly_chunk ) ;
public final void function() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:54:2: ( ^( VK_FUNCTION ( data_type )? VT_FUNCTION_ID parameters curly_chunk ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:54:4: ^( VK_FUNCTION ( data_type )? VT_FUNCTION_ID parameters curly_chunk )
{
match(input,VK_FUNCTION,FOLLOW_VK_FUNCTION_in_function216);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:54:18: ( data_type )?
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==VT_DATA_TYPE) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:54:18: data_type
{
pushFollow(FOLLOW_data_type_in_function218);
data_type();
state._fsp--;
}
break;
}
match(input,VT_FUNCTION_ID,FOLLOW_VT_FUNCTION_ID_in_function221);
pushFollow(FOLLOW_parameters_in_function223);
parameters();
state._fsp--;
pushFollow(FOLLOW_curly_chunk_in_function225);
curly_chunk();
state._fsp--;
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "function"
// $ANTLR start "query"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:57:1: query : ^( VK_QUERY VT_QUERY_ID ( parameters )? lhs_block VK_END ) ;
public final void query() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:58:2: ( ^( VK_QUERY VT_QUERY_ID ( parameters )? lhs_block VK_END ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:58:4: ^( VK_QUERY VT_QUERY_ID ( parameters )? lhs_block VK_END )
{
match(input,VK_QUERY,FOLLOW_VK_QUERY_in_query238);
match(input, Token.DOWN, null);
match(input,VT_QUERY_ID,FOLLOW_VT_QUERY_ID_in_query240);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:58:27: ( parameters )?
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==VT_PARAM_LIST) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:58:27: parameters
{
pushFollow(FOLLOW_parameters_in_query242);
parameters();
state._fsp--;
}
break;
}
pushFollow(FOLLOW_lhs_block_in_query245);
lhs_block();
state._fsp--;
match(input,VK_END,FOLLOW_VK_END_in_query247);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "query"
// $ANTLR start "parameters"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:61:1: parameters : ^( VT_PARAM_LIST ( param_definition )* ) ;
public final void parameters() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:62:2: ( ^( VT_PARAM_LIST ( param_definition )* ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:62:4: ^( VT_PARAM_LIST ( param_definition )* )
{
match(input,VT_PARAM_LIST,FOLLOW_VT_PARAM_LIST_in_parameters260);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:62:20: ( param_definition )*
loop9:
do {
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==VT_DATA_TYPE||LA9_0==ID) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:62:20: param_definition
{
pushFollow(FOLLOW_param_definition_in_parameters262);
param_definition();
state._fsp--;
}
break;
default :
break loop9;
}
} while (true);
match(input, Token.UP, null);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "parameters"
// $ANTLR start "param_definition"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:65:1: param_definition : ( data_type )? argument ;
public final void param_definition() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:66:2: ( ( data_type )? argument )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:66:4: ( data_type )? argument
{
// src/main/resources/org/drools/lang/Tree2TestDRL.g:66:4: ( data_type )?
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==VT_DATA_TYPE) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:66:4: data_type
{
pushFollow(FOLLOW_data_type_in_param_definition275);
data_type();
state._fsp--;
}
break;
}
pushFollow(FOLLOW_argument_in_param_definition278);
argument();
state._fsp--;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "param_definition"
// $ANTLR start "argument"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:69:1: argument : ID ( dimension_definition )* ;
public final void argument() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:70:2: ( ID ( dimension_definition )* )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:70:4: ID ( dimension_definition )*
{
match(input,ID,FOLLOW_ID_in_argument289);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:70:7: ( dimension_definition )*
loop11:
do {
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==LEFT_SQUARE) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:70:7: dimension_definition
{
pushFollow(FOLLOW_dimension_definition_in_argument291);
dimension_definition();
state._fsp--;
}
break;
default :
break loop11;
}
} while (true);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "argument"
// $ANTLR start "type_declaration"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:73:1: type_declaration : ^( VK_DECLARE VT_TYPE_DECLARE_ID ( decl_metadata )* ( decl_field )* VK_END ) ;
public final void type_declaration() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:74:2: ( ^( VK_DECLARE VT_TYPE_DECLARE_ID ( decl_metadata )* ( decl_field )* VK_END ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:74:4: ^( VK_DECLARE VT_TYPE_DECLARE_ID ( decl_metadata )* ( decl_field )* VK_END )
{
match(input,VK_DECLARE,FOLLOW_VK_DECLARE_in_type_declaration304);
match(input, Token.DOWN, null);
match(input,VT_TYPE_DECLARE_ID,FOLLOW_VT_TYPE_DECLARE_ID_in_type_declaration306);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:74:36: ( decl_metadata )*
loop12:
do {
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==AT) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:74:36: decl_metadata
{
pushFollow(FOLLOW_decl_metadata_in_type_declaration308);
decl_metadata();
state._fsp--;
}
break;
default :
break loop12;
}
} while (true);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:74:51: ( decl_field )*
loop13:
do {
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==ID) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:74:51: decl_field
{
pushFollow(FOLLOW_decl_field_in_type_declaration311);
decl_field();
state._fsp--;
}
break;
default :
break loop13;
}
} while (true);
match(input,VK_END,FOLLOW_VK_END_in_type_declaration314);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "type_declaration"
// $ANTLR start "decl_metadata"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:77:1: decl_metadata : ^( AT ID ( VT_PAREN_CHUNK )? ) ;
public final void decl_metadata() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:78:2: ( ^( AT ID ( VT_PAREN_CHUNK )? ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:78:4: ^( AT ID ( VT_PAREN_CHUNK )? )
{
match(input,AT,FOLLOW_AT_in_decl_metadata327);
match(input, Token.DOWN, null);
match(input,ID,FOLLOW_ID_in_decl_metadata329);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:78:12: ( VT_PAREN_CHUNK )?
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==VT_PAREN_CHUNK) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:78:12: VT_PAREN_CHUNK
{
match(input,VT_PAREN_CHUNK,FOLLOW_VT_PAREN_CHUNK_in_decl_metadata331);
}
break;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "decl_metadata"
// $ANTLR start "decl_field"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:81:1: decl_field : ^( ID ( decl_field_initialization )? data_type ( decl_metadata )* ) ;
public final void decl_field() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:82:2: ( ^( ID ( decl_field_initialization )? data_type ( decl_metadata )* ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:82:4: ^( ID ( decl_field_initialization )? data_type ( decl_metadata )* )
{
match(input,ID,FOLLOW_ID_in_decl_field345);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:82:9: ( decl_field_initialization )?
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==EQUALS) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:82:9: decl_field_initialization
{
pushFollow(FOLLOW_decl_field_initialization_in_decl_field347);
decl_field_initialization();
state._fsp--;
}
break;
}
pushFollow(FOLLOW_data_type_in_decl_field350);
data_type();
state._fsp--;
// src/main/resources/org/drools/lang/Tree2TestDRL.g:82:46: ( decl_metadata )*
loop16:
do {
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==AT) ) {
alt16=1;
}
switch (alt16) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:82:46: decl_metadata
{
pushFollow(FOLLOW_decl_metadata_in_decl_field352);
decl_metadata();
state._fsp--;
}
break;
default :
break loop16;
}
} while (true);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "decl_field"
// $ANTLR start "decl_field_initialization"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:85:1: decl_field_initialization : ^( EQUALS VT_PAREN_CHUNK ) ;
public final void decl_field_initialization() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:86:2: ( ^( EQUALS VT_PAREN_CHUNK ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:86:4: ^( EQUALS VT_PAREN_CHUNK )
{
match(input,EQUALS,FOLLOW_EQUALS_in_decl_field_initialization366);
match(input, Token.DOWN, null);
match(input,VT_PAREN_CHUNK,FOLLOW_VT_PAREN_CHUNK_in_decl_field_initialization368);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "decl_field_initialization"
// $ANTLR start "template"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:89:1: template : ^( VK_TEMPLATE VT_TEMPLATE_ID ( template_slot )+ VK_END ) ;
public final void template() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:90:2: ( ^( VK_TEMPLATE VT_TEMPLATE_ID ( template_slot )+ VK_END ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:90:4: ^( VK_TEMPLATE VT_TEMPLATE_ID ( template_slot )+ VK_END )
{
match(input,VK_TEMPLATE,FOLLOW_VK_TEMPLATE_in_template381);
match(input, Token.DOWN, null);
match(input,VT_TEMPLATE_ID,FOLLOW_VT_TEMPLATE_ID_in_template383);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:90:33: ( template_slot )+
int cnt17=0;
loop17:
do {
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0==VT_SLOT) ) {
alt17=1;
}
switch (alt17) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:90:33: template_slot
{
pushFollow(FOLLOW_template_slot_in_template385);
template_slot();
state._fsp--;
}
break;
default :
if ( cnt17 >= 1 ) break loop17;
EarlyExitException eee =
new EarlyExitException(17, input);
throw eee;
}
cnt17++;
} while (true);
match(input,VK_END,FOLLOW_VK_END_in_template388);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "template"
// $ANTLR start "template_slot"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:93:1: template_slot : ^( VT_SLOT data_type VT_SLOT_ID ) ;
public final void template_slot() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:94:2: ( ^( VT_SLOT data_type VT_SLOT_ID ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:94:4: ^( VT_SLOT data_type VT_SLOT_ID )
{
match(input,VT_SLOT,FOLLOW_VT_SLOT_in_template_slot401);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_data_type_in_template_slot403);
data_type();
state._fsp--;
match(input,VT_SLOT_ID,FOLLOW_VT_SLOT_ID_in_template_slot405);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "template_slot"
// $ANTLR start "rule"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:97:1: rule : ^( VK_RULE VT_RULE_ID ( rule_attributes )? ( when_part )? VT_RHS_CHUNK ) ;
public final void rule() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:98:2: ( ^( VK_RULE VT_RULE_ID ( rule_attributes )? ( when_part )? VT_RHS_CHUNK ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:98:4: ^( VK_RULE VT_RULE_ID ( rule_attributes )? ( when_part )? VT_RHS_CHUNK )
{
match(input,VK_RULE,FOLLOW_VK_RULE_in_rule418);
match(input, Token.DOWN, null);
match(input,VT_RULE_ID,FOLLOW_VT_RULE_ID_in_rule420);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:98:25: ( rule_attributes )?
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==VT_RULE_ATTRIBUTES) ) {
alt18=1;
}
switch (alt18) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:98:25: rule_attributes
{
pushFollow(FOLLOW_rule_attributes_in_rule422);
rule_attributes();
state._fsp--;
}
break;
}
// src/main/resources/org/drools/lang/Tree2TestDRL.g:98:42: ( when_part )?
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==WHEN) ) {
alt19=1;
}
switch (alt19) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:98:42: when_part
{
pushFollow(FOLLOW_when_part_in_rule425);
when_part();
state._fsp--;
}
break;
}
match(input,VT_RHS_CHUNK,FOLLOW_VT_RHS_CHUNK_in_rule428);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "rule"
// $ANTLR start "when_part"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:101:1: when_part : WHEN lhs_block ;
public final void when_part() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:102:2: ( WHEN lhs_block )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:102:4: WHEN lhs_block
{
match(input,WHEN,FOLLOW_WHEN_in_when_part440);
pushFollow(FOLLOW_lhs_block_in_when_part442);
lhs_block();
state._fsp--;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "when_part"
// $ANTLR start "rule_attributes"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:105:1: rule_attributes : ^( VT_RULE_ATTRIBUTES ( VK_ATTRIBUTES )? ( rule_attribute )+ ) ;
public final void rule_attributes() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:106:2: ( ^( VT_RULE_ATTRIBUTES ( VK_ATTRIBUTES )? ( rule_attribute )+ ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:106:4: ^( VT_RULE_ATTRIBUTES ( VK_ATTRIBUTES )? ( rule_attribute )+ )
{
match(input,VT_RULE_ATTRIBUTES,FOLLOW_VT_RULE_ATTRIBUTES_in_rule_attributes454);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:106:25: ( VK_ATTRIBUTES )?
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==VK_ATTRIBUTES) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:106:25: VK_ATTRIBUTES
{
match(input,VK_ATTRIBUTES,FOLLOW_VK_ATTRIBUTES_in_rule_attributes456);
}
break;
}
// src/main/resources/org/drools/lang/Tree2TestDRL.g:106:40: ( rule_attribute )+
int cnt21=0;
loop21:
do {
int alt21=2;
int LA21_0 = input.LA(1);
if ( ((LA21_0>=VK_DATE_EFFECTIVE && LA21_0<=VK_RULEFLOW_GROUP)||(LA21_0>=VK_DIALECT && LA21_0<=VK_ENABLED)||LA21_0==VK_DURATION) ) {
alt21=1;
}
switch (alt21) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:106:40: rule_attribute
{
pushFollow(FOLLOW_rule_attribute_in_rule_attributes459);
rule_attribute();
state._fsp--;
}
break;
default :
if ( cnt21 >= 1 ) break loop21;
EarlyExitException eee =
new EarlyExitException(21, input);
throw eee;
}
cnt21++;
} while (true);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "rule_attributes"
// $ANTLR start "rule_attribute"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:109:1: rule_attribute : ( ^( VK_SALIENCE ( INT | VT_PAREN_CHUNK ) ) | ^( VK_NO_LOOP ( BOOL )? ) | ^( VK_AGENDA_GROUP STRING ) | ^( VK_DURATION INT ) | ^( VK_ACTIVATION_GROUP STRING ) | ^( VK_AUTO_FOCUS ( BOOL )? ) | ^( VK_DATE_EFFECTIVE STRING ) | ^( VK_DATE_EXPIRES STRING ) | ^( VK_ENABLED BOOL ) | ^( VK_RULEFLOW_GROUP STRING ) | ^( VK_LOCK_ON_ACTIVE ( BOOL )? ) | ^( VK_DIALECT STRING ) );
public final void rule_attribute() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:110:2: ( ^( VK_SALIENCE ( INT | VT_PAREN_CHUNK ) ) | ^( VK_NO_LOOP ( BOOL )? ) | ^( VK_AGENDA_GROUP STRING ) | ^( VK_DURATION INT ) | ^( VK_ACTIVATION_GROUP STRING ) | ^( VK_AUTO_FOCUS ( BOOL )? ) | ^( VK_DATE_EFFECTIVE STRING ) | ^( VK_DATE_EXPIRES STRING ) | ^( VK_ENABLED BOOL ) | ^( VK_RULEFLOW_GROUP STRING ) | ^( VK_LOCK_ON_ACTIVE ( BOOL )? ) | ^( VK_DIALECT STRING ) )
int alt25=12;
switch ( input.LA(1) ) {
case VK_SALIENCE:
{
alt25=1;
}
break;
case VK_NO_LOOP:
{
alt25=2;
}
break;
case VK_AGENDA_GROUP:
{
alt25=3;
}
break;
case VK_DURATION:
{
alt25=4;
}
break;
case VK_ACTIVATION_GROUP:
{
alt25=5;
}
break;
case VK_AUTO_FOCUS:
{
alt25=6;
}
break;
case VK_DATE_EFFECTIVE:
{
alt25=7;
}
break;
case VK_DATE_EXPIRES:
{
alt25=8;
}
break;
case VK_ENABLED:
{
alt25=9;
}
break;
case VK_RULEFLOW_GROUP:
{
alt25=10;
}
break;
case VK_LOCK_ON_ACTIVE:
{
alt25=11;
}
break;
case VK_DIALECT:
{
alt25=12;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 25, 0, input);
throw nvae;
}
switch (alt25) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:110:4: ^( VK_SALIENCE ( INT | VT_PAREN_CHUNK ) )
{
match(input,VK_SALIENCE,FOLLOW_VK_SALIENCE_in_rule_attribute473);
match(input, Token.DOWN, null);
if ( input.LA(1)==VT_PAREN_CHUNK||input.LA(1)==INT ) {
input.consume();
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
match(input, Token.UP, null);
}
break;
case 2 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:111:4: ^( VK_NO_LOOP ( BOOL )? )
{
match(input,VK_NO_LOOP,FOLLOW_VK_NO_LOOP_in_rule_attribute487);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:111:17: ( BOOL )?
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==BOOL) ) {
alt22=1;
}
switch (alt22) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:111:17: BOOL
{
match(input,BOOL,FOLLOW_BOOL_in_rule_attribute489);
}
break;
}
match(input, Token.UP, null);
}
}
break;
case 3 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:112:4: ^( VK_AGENDA_GROUP STRING )
{
match(input,VK_AGENDA_GROUP,FOLLOW_VK_AGENDA_GROUP_in_rule_attribute499);
match(input, Token.DOWN, null);
match(input,STRING,FOLLOW_STRING_in_rule_attribute501);
match(input, Token.UP, null);
}
break;
case 4 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:113:4: ^( VK_DURATION INT )
{
match(input,VK_DURATION,FOLLOW_VK_DURATION_in_rule_attribute510);
match(input, Token.DOWN, null);
match(input,INT,FOLLOW_INT_in_rule_attribute512);
match(input, Token.UP, null);
}
break;
case 5 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:114:4: ^( VK_ACTIVATION_GROUP STRING )
{
match(input,VK_ACTIVATION_GROUP,FOLLOW_VK_ACTIVATION_GROUP_in_rule_attribute522);
match(input, Token.DOWN, null);
match(input,STRING,FOLLOW_STRING_in_rule_attribute524);
match(input, Token.UP, null);
}
break;
case 6 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:115:4: ^( VK_AUTO_FOCUS ( BOOL )? )
{
match(input,VK_AUTO_FOCUS,FOLLOW_VK_AUTO_FOCUS_in_rule_attribute532);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:115:20: ( BOOL )?
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==BOOL) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:115:20: BOOL
{
match(input,BOOL,FOLLOW_BOOL_in_rule_attribute534);
}
break;
}
match(input, Token.UP, null);
}
}
break;
case 7 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:116:4: ^( VK_DATE_EFFECTIVE STRING )
{
match(input,VK_DATE_EFFECTIVE,FOLLOW_VK_DATE_EFFECTIVE_in_rule_attribute543);
match(input, Token.DOWN, null);
match(input,STRING,FOLLOW_STRING_in_rule_attribute545);
match(input, Token.UP, null);
}
break;
case 8 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:117:4: ^( VK_DATE_EXPIRES STRING )
{
match(input,VK_DATE_EXPIRES,FOLLOW_VK_DATE_EXPIRES_in_rule_attribute553);
match(input, Token.DOWN, null);
match(input,STRING,FOLLOW_STRING_in_rule_attribute555);
match(input, Token.UP, null);
}
break;
case 9 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:118:4: ^( VK_ENABLED BOOL )
{
match(input,VK_ENABLED,FOLLOW_VK_ENABLED_in_rule_attribute563);
match(input, Token.DOWN, null);
match(input,BOOL,FOLLOW_BOOL_in_rule_attribute565);
match(input, Token.UP, null);
}
break;
case 10 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:119:4: ^( VK_RULEFLOW_GROUP STRING )
{
match(input,VK_RULEFLOW_GROUP,FOLLOW_VK_RULEFLOW_GROUP_in_rule_attribute573);
match(input, Token.DOWN, null);
match(input,STRING,FOLLOW_STRING_in_rule_attribute575);
match(input, Token.UP, null);
}
break;
case 11 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:120:4: ^( VK_LOCK_ON_ACTIVE ( BOOL )? )
{
match(input,VK_LOCK_ON_ACTIVE,FOLLOW_VK_LOCK_ON_ACTIVE_in_rule_attribute583);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:120:24: ( BOOL )?
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==BOOL) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:120:24: BOOL
{
match(input,BOOL,FOLLOW_BOOL_in_rule_attribute585);
}
break;
}
match(input, Token.UP, null);
}
}
break;
case 12 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:121:4: ^( VK_DIALECT STRING )
{
match(input,VK_DIALECT,FOLLOW_VK_DIALECT_in_rule_attribute593);
match(input, Token.DOWN, null);
match(input,STRING,FOLLOW_STRING_in_rule_attribute595);
match(input, Token.UP, null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "rule_attribute"
// $ANTLR start "lhs_block"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:124:1: lhs_block : ^( VT_AND_IMPLICIT ( lhs )* ) ;
public final void lhs_block() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:125:2: ( ^( VT_AND_IMPLICIT ( lhs )* ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:125:4: ^( VT_AND_IMPLICIT ( lhs )* )
{
match(input,VT_AND_IMPLICIT,FOLLOW_VT_AND_IMPLICIT_in_lhs_block609);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:125:22: ( lhs )*
loop26:
do {
int alt26=2;
int LA26_0 = input.LA(1);
if ( ((LA26_0>=VT_AND_PREFIX && LA26_0<=VT_OR_INFIX)||LA26_0==VT_PATTERN||LA26_0==VK_EVAL||LA26_0==VK_NOT||(LA26_0>=VK_EXISTS && LA26_0<=VK_FORALL)||LA26_0==FROM) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:125:22: lhs
{
pushFollow(FOLLOW_lhs_in_lhs_block611);
lhs();
state._fsp--;
}
break;
default :
break loop26;
}
} while (true);
match(input, Token.UP, null);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "lhs_block"
// $ANTLR start "lhs"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:128:1: lhs : ( ^( VT_OR_PREFIX ( lhs )+ ) | ^( VT_OR_INFIX lhs lhs ) | ^( VT_AND_PREFIX ( lhs )+ ) | ^( VT_AND_INFIX lhs lhs ) | ^( VK_EXISTS lhs ) | ^( VK_NOT lhs ) | ^( VK_EVAL VT_PAREN_CHUNK ) | ^( VK_FORALL ( lhs )+ ) | ^( FROM lhs_pattern from_elements ) | lhs_pattern );
public final void lhs() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:128:5: ( ^( VT_OR_PREFIX ( lhs )+ ) | ^( VT_OR_INFIX lhs lhs ) | ^( VT_AND_PREFIX ( lhs )+ ) | ^( VT_AND_INFIX lhs lhs ) | ^( VK_EXISTS lhs ) | ^( VK_NOT lhs ) | ^( VK_EVAL VT_PAREN_CHUNK ) | ^( VK_FORALL ( lhs )+ ) | ^( FROM lhs_pattern from_elements ) | lhs_pattern )
int alt30=10;
switch ( input.LA(1) ) {
case VT_OR_PREFIX:
{
alt30=1;
}
break;
case VT_OR_INFIX:
{
alt30=2;
}
break;
case VT_AND_PREFIX:
{
alt30=3;
}
break;
case VT_AND_INFIX:
{
alt30=4;
}
break;
case VK_EXISTS:
{
alt30=5;
}
break;
case VK_NOT:
{
alt30=6;
}
break;
case VK_EVAL:
{
alt30=7;
}
break;
case VK_FORALL:
{
alt30=8;
}
break;
case FROM:
{
alt30=9;
}
break;
case VT_PATTERN:
{
alt30=10;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 30, 0, input);
throw nvae;
}
switch (alt30) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:128:7: ^( VT_OR_PREFIX ( lhs )+ )
{
match(input,VT_OR_PREFIX,FOLLOW_VT_OR_PREFIX_in_lhs624);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:128:22: ( lhs )+
int cnt27=0;
loop27:
do {
int alt27=2;
int LA27_0 = input.LA(1);
if ( ((LA27_0>=VT_AND_PREFIX && LA27_0<=VT_OR_INFIX)||LA27_0==VT_PATTERN||LA27_0==VK_EVAL||LA27_0==VK_NOT||(LA27_0>=VK_EXISTS && LA27_0<=VK_FORALL)||LA27_0==FROM) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:128:22: lhs
{
pushFollow(FOLLOW_lhs_in_lhs626);
lhs();
state._fsp--;
}
break;
default :
if ( cnt27 >= 1 ) break loop27;
EarlyExitException eee =
new EarlyExitException(27, input);
throw eee;
}
cnt27++;
} while (true);
match(input, Token.UP, null);
}
break;
case 2 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:129:4: ^( VT_OR_INFIX lhs lhs )
{
match(input,VT_OR_INFIX,FOLLOW_VT_OR_INFIX_in_lhs634);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_lhs_in_lhs636);
lhs();
state._fsp--;
pushFollow(FOLLOW_lhs_in_lhs638);
lhs();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 3 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:130:4: ^( VT_AND_PREFIX ( lhs )+ )
{
match(input,VT_AND_PREFIX,FOLLOW_VT_AND_PREFIX_in_lhs645);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:130:20: ( lhs )+
int cnt28=0;
loop28:
do {
int alt28=2;
int LA28_0 = input.LA(1);
if ( ((LA28_0>=VT_AND_PREFIX && LA28_0<=VT_OR_INFIX)||LA28_0==VT_PATTERN||LA28_0==VK_EVAL||LA28_0==VK_NOT||(LA28_0>=VK_EXISTS && LA28_0<=VK_FORALL)||LA28_0==FROM) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:130:20: lhs
{
pushFollow(FOLLOW_lhs_in_lhs647);
lhs();
state._fsp--;
}
break;
default :
if ( cnt28 >= 1 ) break loop28;
EarlyExitException eee =
new EarlyExitException(28, input);
throw eee;
}
cnt28++;
} while (true);
match(input, Token.UP, null);
}
break;
case 4 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:131:4: ^( VT_AND_INFIX lhs lhs )
{
match(input,VT_AND_INFIX,FOLLOW_VT_AND_INFIX_in_lhs655);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_lhs_in_lhs657);
lhs();
state._fsp--;
pushFollow(FOLLOW_lhs_in_lhs659);
lhs();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 5 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:132:4: ^( VK_EXISTS lhs )
{
match(input,VK_EXISTS,FOLLOW_VK_EXISTS_in_lhs666);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_lhs_in_lhs668);
lhs();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 6 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:133:4: ^( VK_NOT lhs )
{
match(input,VK_NOT,FOLLOW_VK_NOT_in_lhs675);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_lhs_in_lhs677);
lhs();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 7 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:134:4: ^( VK_EVAL VT_PAREN_CHUNK )
{
match(input,VK_EVAL,FOLLOW_VK_EVAL_in_lhs684);
match(input, Token.DOWN, null);
match(input,VT_PAREN_CHUNK,FOLLOW_VT_PAREN_CHUNK_in_lhs686);
match(input, Token.UP, null);
}
break;
case 8 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:135:4: ^( VK_FORALL ( lhs )+ )
{
match(input,VK_FORALL,FOLLOW_VK_FORALL_in_lhs693);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:135:16: ( lhs )+
int cnt29=0;
loop29:
do {
int alt29=2;
int LA29_0 = input.LA(1);
if ( ((LA29_0>=VT_AND_PREFIX && LA29_0<=VT_OR_INFIX)||LA29_0==VT_PATTERN||LA29_0==VK_EVAL||LA29_0==VK_NOT||(LA29_0>=VK_EXISTS && LA29_0<=VK_FORALL)||LA29_0==FROM) ) {
alt29=1;
}
switch (alt29) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:135:16: lhs
{
pushFollow(FOLLOW_lhs_in_lhs695);
lhs();
state._fsp--;
}
break;
default :
if ( cnt29 >= 1 ) break loop29;
EarlyExitException eee =
new EarlyExitException(29, input);
throw eee;
}
cnt29++;
} while (true);
match(input, Token.UP, null);
}
break;
case 9 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:136:4: ^( FROM lhs_pattern from_elements )
{
match(input,FROM,FOLLOW_FROM_in_lhs703);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_lhs_pattern_in_lhs705);
lhs_pattern();
state._fsp--;
pushFollow(FOLLOW_from_elements_in_lhs707);
from_elements();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 10 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:137:4: lhs_pattern
{
pushFollow(FOLLOW_lhs_pattern_in_lhs713);
lhs_pattern();
state._fsp--;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "lhs"
// $ANTLR start "from_elements"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:140:1: from_elements : ( ^( ACCUMULATE lhs ( accumulate_init_clause | accumulate_id_clause ) ) | ^( COLLECT lhs ) | ^( VK_ENTRY_POINT VT_ENTRYPOINT_ID ) | ^( VT_FROM_SOURCE ID ( VT_PAREN_CHUNK )? ( expression_chain )? ) );
public final void from_elements() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:141:2: ( ^( ACCUMULATE lhs ( accumulate_init_clause | accumulate_id_clause ) ) | ^( COLLECT lhs ) | ^( VK_ENTRY_POINT VT_ENTRYPOINT_ID ) | ^( VT_FROM_SOURCE ID ( VT_PAREN_CHUNK )? ( expression_chain )? ) )
int alt34=4;
switch ( input.LA(1) ) {
case ACCUMULATE:
{
alt34=1;
}
break;
case COLLECT:
{
alt34=2;
}
break;
case VK_ENTRY_POINT:
{
alt34=3;
}
break;
case VT_FROM_SOURCE:
{
alt34=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 34, 0, input);
throw nvae;
}
switch (alt34) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:141:4: ^( ACCUMULATE lhs ( accumulate_init_clause | accumulate_id_clause ) )
{
match(input,ACCUMULATE,FOLLOW_ACCUMULATE_in_from_elements725);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_lhs_in_from_elements727);
lhs();
state._fsp--;
// src/main/resources/org/drools/lang/Tree2TestDRL.g:141:21: ( accumulate_init_clause | accumulate_id_clause )
int alt31=2;
int LA31_0 = input.LA(1);
if ( (LA31_0==VT_ACCUMULATE_INIT_CLAUSE) ) {
alt31=1;
}
else if ( (LA31_0==VT_ACCUMULATE_ID_CLAUSE) ) {
alt31=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 31, 0, input);
throw nvae;
}
switch (alt31) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:141:22: accumulate_init_clause
{
pushFollow(FOLLOW_accumulate_init_clause_in_from_elements730);
accumulate_init_clause();
state._fsp--;
}
break;
case 2 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:141:45: accumulate_id_clause
{
pushFollow(FOLLOW_accumulate_id_clause_in_from_elements732);
accumulate_id_clause();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
break;
case 2 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:142:4: ^( COLLECT lhs )
{
match(input,COLLECT,FOLLOW_COLLECT_in_from_elements740);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_lhs_in_from_elements742);
lhs();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 3 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:143:4: ^( VK_ENTRY_POINT VT_ENTRYPOINT_ID )
{
match(input,VK_ENTRY_POINT,FOLLOW_VK_ENTRY_POINT_in_from_elements749);
match(input, Token.DOWN, null);
match(input,VT_ENTRYPOINT_ID,FOLLOW_VT_ENTRYPOINT_ID_in_from_elements751);
match(input, Token.UP, null);
}
break;
case 4 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:144:4: ^( VT_FROM_SOURCE ID ( VT_PAREN_CHUNK )? ( expression_chain )? )
{
match(input,VT_FROM_SOURCE,FOLLOW_VT_FROM_SOURCE_in_from_elements758);
match(input, Token.DOWN, null);
match(input,ID,FOLLOW_ID_in_from_elements760);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:144:24: ( VT_PAREN_CHUNK )?
int alt32=2;
int LA32_0 = input.LA(1);
if ( (LA32_0==VT_PAREN_CHUNK) ) {
alt32=1;
}
switch (alt32) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:144:24: VT_PAREN_CHUNK
{
match(input,VT_PAREN_CHUNK,FOLLOW_VT_PAREN_CHUNK_in_from_elements762);
}
break;
}
// src/main/resources/org/drools/lang/Tree2TestDRL.g:144:40: ( expression_chain )?
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==VT_EXPRESSION_CHAIN) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:144:40: expression_chain
{
pushFollow(FOLLOW_expression_chain_in_from_elements765);
expression_chain();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "from_elements"
// $ANTLR start "accumulate_init_clause"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:147:1: accumulate_init_clause : ^( VT_ACCUMULATE_INIT_CLAUSE ^( VK_INIT VT_PAREN_CHUNK ) ^( VK_ACTION VT_PAREN_CHUNK ) ( accumulate_init_reverse_clause )? ^( VK_RESULT VT_PAREN_CHUNK ) ) ;
public final void accumulate_init_clause() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:148:2: ( ^( VT_ACCUMULATE_INIT_CLAUSE ^( VK_INIT VT_PAREN_CHUNK ) ^( VK_ACTION VT_PAREN_CHUNK ) ( accumulate_init_reverse_clause )? ^( VK_RESULT VT_PAREN_CHUNK ) ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:148:4: ^( VT_ACCUMULATE_INIT_CLAUSE ^( VK_INIT VT_PAREN_CHUNK ) ^( VK_ACTION VT_PAREN_CHUNK ) ( accumulate_init_reverse_clause )? ^( VK_RESULT VT_PAREN_CHUNK ) )
{
match(input,VT_ACCUMULATE_INIT_CLAUSE,FOLLOW_VT_ACCUMULATE_INIT_CLAUSE_in_accumulate_init_clause779);
match(input, Token.DOWN, null);
match(input,VK_INIT,FOLLOW_VK_INIT_in_accumulate_init_clause786);
match(input, Token.DOWN, null);
match(input,VT_PAREN_CHUNK,FOLLOW_VT_PAREN_CHUNK_in_accumulate_init_clause788);
match(input, Token.UP, null);
match(input,VK_ACTION,FOLLOW_VK_ACTION_in_accumulate_init_clause796);
match(input, Token.DOWN, null);
match(input,VT_PAREN_CHUNK,FOLLOW_VT_PAREN_CHUNK_in_accumulate_init_clause798);
match(input, Token.UP, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:151:4: ( accumulate_init_reverse_clause )?
int alt35=2;
int LA35_0 = input.LA(1);
if ( (LA35_0==VK_REVERSE) ) {
alt35=1;
}
switch (alt35) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:151:4: accumulate_init_reverse_clause
{
pushFollow(FOLLOW_accumulate_init_reverse_clause_in_accumulate_init_clause805);
accumulate_init_reverse_clause();
state._fsp--;
}
break;
}
match(input,VK_RESULT,FOLLOW_VK_RESULT_in_accumulate_init_clause812);
match(input, Token.DOWN, null);
match(input,VT_PAREN_CHUNK,FOLLOW_VT_PAREN_CHUNK_in_accumulate_init_clause814);
match(input, Token.UP, null);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "accumulate_init_clause"
// $ANTLR start "accumulate_init_reverse_clause"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:155:1: accumulate_init_reverse_clause : ^( VK_REVERSE VT_PAREN_CHUNK ) ;
public final void accumulate_init_reverse_clause() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:156:2: ( ^( VK_REVERSE VT_PAREN_CHUNK ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:156:4: ^( VK_REVERSE VT_PAREN_CHUNK )
{
match(input,VK_REVERSE,FOLLOW_VK_REVERSE_in_accumulate_init_reverse_clause828);
match(input, Token.DOWN, null);
match(input,VT_PAREN_CHUNK,FOLLOW_VT_PAREN_CHUNK_in_accumulate_init_reverse_clause830);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "accumulate_init_reverse_clause"
// $ANTLR start "accumulate_id_clause"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:160:1: accumulate_id_clause : ^( VT_ACCUMULATE_ID_CLAUSE ID VT_PAREN_CHUNK ) ;
public final void accumulate_id_clause() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:161:2: ( ^( VT_ACCUMULATE_ID_CLAUSE ID VT_PAREN_CHUNK ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:161:4: ^( VT_ACCUMULATE_ID_CLAUSE ID VT_PAREN_CHUNK )
{
match(input,VT_ACCUMULATE_ID_CLAUSE,FOLLOW_VT_ACCUMULATE_ID_CLAUSE_in_accumulate_id_clause844);
match(input, Token.DOWN, null);
match(input,ID,FOLLOW_ID_in_accumulate_id_clause846);
match(input,VT_PAREN_CHUNK,FOLLOW_VT_PAREN_CHUNK_in_accumulate_id_clause848);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "accumulate_id_clause"
// $ANTLR start "lhs_pattern"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:164:1: lhs_pattern : ^( VT_PATTERN fact_expression ) ( over_clause )? ;
public final void lhs_pattern() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:165:2: ( ^( VT_PATTERN fact_expression ) ( over_clause )? )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:165:4: ^( VT_PATTERN fact_expression ) ( over_clause )?
{
match(input,VT_PATTERN,FOLLOW_VT_PATTERN_in_lhs_pattern861);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_fact_expression_in_lhs_pattern863);
fact_expression();
state._fsp--;
match(input, Token.UP, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:165:34: ( over_clause )?
int alt36=2;
int LA36_0 = input.LA(1);
if ( (LA36_0==OVER) ) {
alt36=1;
}
switch (alt36) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:165:34: over_clause
{
pushFollow(FOLLOW_over_clause_in_lhs_pattern866);
over_clause();
state._fsp--;
}
break;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "lhs_pattern"
// $ANTLR start "over_clause"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:168:1: over_clause : ^( OVER ( over_element )+ ) ;
public final void over_clause() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:169:2: ( ^( OVER ( over_element )+ ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:169:4: ^( OVER ( over_element )+ )
{
match(input,OVER,FOLLOW_OVER_in_over_clause879);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:169:11: ( over_element )+
int cnt37=0;
loop37:
do {
int alt37=2;
int LA37_0 = input.LA(1);
if ( (LA37_0==VT_BEHAVIOR) ) {
alt37=1;
}
switch (alt37) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:169:11: over_element
{
pushFollow(FOLLOW_over_element_in_over_clause881);
over_element();
state._fsp--;
}
break;
default :
if ( cnt37 >= 1 ) break loop37;
EarlyExitException eee =
new EarlyExitException(37, input);
throw eee;
}
cnt37++;
} while (true);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "over_clause"
// $ANTLR start "over_element"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:172:1: over_element : ^( VT_BEHAVIOR ID ID VT_PAREN_CHUNK ) ;
public final void over_element() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:173:2: ( ^( VT_BEHAVIOR ID ID VT_PAREN_CHUNK ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:173:4: ^( VT_BEHAVIOR ID ID VT_PAREN_CHUNK )
{
match(input,VT_BEHAVIOR,FOLLOW_VT_BEHAVIOR_in_over_element895);
match(input, Token.DOWN, null);
match(input,ID,FOLLOW_ID_in_over_element897);
match(input,ID,FOLLOW_ID_in_over_element899);
match(input,VT_PAREN_CHUNK,FOLLOW_VT_PAREN_CHUNK_in_over_element901);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "over_element"
// $ANTLR start "fact_expression"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:176:1: fact_expression : ( ^( DOUBLE_PIPE fact_expression fact_expression ) | ^( DOUBLE_AMPER fact_expression fact_expression ) | ^( VT_FACT_BINDING VT_LABEL fact_expression ) | ^( VT_FACT pattern_type ( fact_expression )* ) | ^( VT_FACT_OR fact_expression fact_expression ) | ^( VK_EVAL VT_PAREN_CHUNK ) | ^( VK_IN ( VK_NOT )? ( fact_expression )+ ) | ^( EQUAL fact_expression ) | ^( GREATER fact_expression ) | ^( GREATER_EQUAL fact_expression ) | ^( LESS fact_expression ) | ^( LESS_EQUAL fact_expression ) | ^( NOT_EQUAL fact_expression ) | ^( VK_OPERATOR ( VK_NOT )? ( VT_SQUARE_CHUNK )? fact_expression ) | ^( ID ( VK_NOT )? ( VT_SQUARE_CHUNK )? fact_expression ) | ^( VT_BIND_FIELD VT_LABEL fact_expression ) | ^( VT_FIELD fact_expression ( fact_expression )? ) | ^( VT_ACCESSOR_PATH ( accessor_element )+ ) | STRING | INT | FLOAT | BOOL | NULL | VT_PAREN_CHUNK );
public final void fact_expression() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:177:2: ( ^( DOUBLE_PIPE fact_expression fact_expression ) | ^( DOUBLE_AMPER fact_expression fact_expression ) | ^( VT_FACT_BINDING VT_LABEL fact_expression ) | ^( VT_FACT pattern_type ( fact_expression )* ) | ^( VT_FACT_OR fact_expression fact_expression ) | ^( VK_EVAL VT_PAREN_CHUNK ) | ^( VK_IN ( VK_NOT )? ( fact_expression )+ ) | ^( EQUAL fact_expression ) | ^( GREATER fact_expression ) | ^( GREATER_EQUAL fact_expression ) | ^( LESS fact_expression ) | ^( LESS_EQUAL fact_expression ) | ^( NOT_EQUAL fact_expression ) | ^( VK_OPERATOR ( VK_NOT )? ( VT_SQUARE_CHUNK )? fact_expression ) | ^( ID ( VK_NOT )? ( VT_SQUARE_CHUNK )? fact_expression ) | ^( VT_BIND_FIELD VT_LABEL fact_expression ) | ^( VT_FIELD fact_expression ( fact_expression )? ) | ^( VT_ACCESSOR_PATH ( accessor_element )+ ) | STRING | INT | FLOAT | BOOL | NULL | VT_PAREN_CHUNK )
int alt47=24;
switch ( input.LA(1) ) {
case DOUBLE_PIPE:
{
alt47=1;
}
break;
case DOUBLE_AMPER:
{
alt47=2;
}
break;
case VT_FACT_BINDING:
{
alt47=3;
}
break;
case VT_FACT:
{
alt47=4;
}
break;
case VT_FACT_OR:
{
alt47=5;
}
break;
case VK_EVAL:
{
alt47=6;
}
break;
case VK_IN:
{
alt47=7;
}
break;
case EQUAL:
{
alt47=8;
}
break;
case GREATER:
{
alt47=9;
}
break;
case GREATER_EQUAL:
{
alt47=10;
}
break;
case LESS:
{
alt47=11;
}
break;
case LESS_EQUAL:
{
alt47=12;
}
break;
case NOT_EQUAL:
{
alt47=13;
}
break;
case VK_OPERATOR:
{
alt47=14;
}
break;
case ID:
{
alt47=15;
}
break;
case VT_BIND_FIELD:
{
alt47=16;
}
break;
case VT_FIELD:
{
alt47=17;
}
break;
case VT_ACCESSOR_PATH:
{
alt47=18;
}
break;
case STRING:
{
alt47=19;
}
break;
case INT:
{
alt47=20;
}
break;
case FLOAT:
{
alt47=21;
}
break;
case BOOL:
{
alt47=22;
}
break;
case NULL:
{
alt47=23;
}
break;
case VT_PAREN_CHUNK:
{
alt47=24;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 47, 0, input);
throw nvae;
}
switch (alt47) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:177:4: ^( DOUBLE_PIPE fact_expression fact_expression )
{
match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_fact_expression914);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_fact_expression_in_fact_expression916);
fact_expression();
state._fsp--;
pushFollow(FOLLOW_fact_expression_in_fact_expression918);
fact_expression();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 2 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:178:4: ^( DOUBLE_AMPER fact_expression fact_expression )
{
match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_fact_expression925);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_fact_expression_in_fact_expression927);
fact_expression();
state._fsp--;
pushFollow(FOLLOW_fact_expression_in_fact_expression929);
fact_expression();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 3 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:179:4: ^( VT_FACT_BINDING VT_LABEL fact_expression )
{
match(input,VT_FACT_BINDING,FOLLOW_VT_FACT_BINDING_in_fact_expression936);
match(input, Token.DOWN, null);
match(input,VT_LABEL,FOLLOW_VT_LABEL_in_fact_expression938);
pushFollow(FOLLOW_fact_expression_in_fact_expression940);
fact_expression();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 4 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:180:4: ^( VT_FACT pattern_type ( fact_expression )* )
{
match(input,VT_FACT,FOLLOW_VT_FACT_in_fact_expression947);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_pattern_type_in_fact_expression949);
pattern_type();
state._fsp--;
// src/main/resources/org/drools/lang/Tree2TestDRL.g:180:27: ( fact_expression )*
loop38:
do {
int alt38=2;
int LA38_0 = input.LA(1);
if ( (LA38_0==VT_FACT||LA38_0==VT_PAREN_CHUNK||(LA38_0>=VT_FACT_BINDING && LA38_0<=VT_ACCESSOR_PATH)||LA38_0==VK_EVAL||LA38_0==VK_IN||LA38_0==VK_OPERATOR||LA38_0==FLOAT||LA38_0==STRING||LA38_0==BOOL||LA38_0==NULL||(LA38_0>=GREATER && LA38_0<=LESS)||(LA38_0>=DOUBLE_AMPER && LA38_0<=DOUBLE_PIPE)||LA38_0==ID||LA38_0==INT||(LA38_0>=EQUAL && LA38_0<=NOT_EQUAL)) ) {
alt38=1;
}
switch (alt38) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:180:27: fact_expression
{
pushFollow(FOLLOW_fact_expression_in_fact_expression951);
fact_expression();
state._fsp--;
}
break;
default :
break loop38;
}
} while (true);
match(input, Token.UP, null);
}
break;
case 5 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:181:4: ^( VT_FACT_OR fact_expression fact_expression )
{
match(input,VT_FACT_OR,FOLLOW_VT_FACT_OR_in_fact_expression959);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_fact_expression_in_fact_expression961);
fact_expression();
state._fsp--;
pushFollow(FOLLOW_fact_expression_in_fact_expression963);
fact_expression();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 6 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:182:4: ^( VK_EVAL VT_PAREN_CHUNK )
{
match(input,VK_EVAL,FOLLOW_VK_EVAL_in_fact_expression970);
match(input, Token.DOWN, null);
match(input,VT_PAREN_CHUNK,FOLLOW_VT_PAREN_CHUNK_in_fact_expression972);
match(input, Token.UP, null);
}
break;
case 7 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:183:4: ^( VK_IN ( VK_NOT )? ( fact_expression )+ )
{
match(input,VK_IN,FOLLOW_VK_IN_in_fact_expression979);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:183:12: ( VK_NOT )?
int alt39=2;
int LA39_0 = input.LA(1);
if ( (LA39_0==VK_NOT) ) {
alt39=1;
}
switch (alt39) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:183:12: VK_NOT
{
match(input,VK_NOT,FOLLOW_VK_NOT_in_fact_expression981);
}
break;
}
// src/main/resources/org/drools/lang/Tree2TestDRL.g:183:20: ( fact_expression )+
int cnt40=0;
loop40:
do {
int alt40=2;
int LA40_0 = input.LA(1);
if ( (LA40_0==VT_FACT||LA40_0==VT_PAREN_CHUNK||(LA40_0>=VT_FACT_BINDING && LA40_0<=VT_ACCESSOR_PATH)||LA40_0==VK_EVAL||LA40_0==VK_IN||LA40_0==VK_OPERATOR||LA40_0==FLOAT||LA40_0==STRING||LA40_0==BOOL||LA40_0==NULL||(LA40_0>=GREATER && LA40_0<=LESS)||(LA40_0>=DOUBLE_AMPER && LA40_0<=DOUBLE_PIPE)||LA40_0==ID||LA40_0==INT||(LA40_0>=EQUAL && LA40_0<=NOT_EQUAL)) ) {
alt40=1;
}
switch (alt40) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:183:20: fact_expression
{
pushFollow(FOLLOW_fact_expression_in_fact_expression984);
fact_expression();
state._fsp--;
}
break;
default :
if ( cnt40 >= 1 ) break loop40;
EarlyExitException eee =
new EarlyExitException(40, input);
throw eee;
}
cnt40++;
} while (true);
match(input, Token.UP, null);
}
break;
case 8 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:184:4: ^( EQUAL fact_expression )
{
match(input,EQUAL,FOLLOW_EQUAL_in_fact_expression992);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_fact_expression_in_fact_expression994);
fact_expression();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 9 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:185:4: ^( GREATER fact_expression )
{
match(input,GREATER,FOLLOW_GREATER_in_fact_expression1001);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_fact_expression_in_fact_expression1003);
fact_expression();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 10 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:186:4: ^( GREATER_EQUAL fact_expression )
{
match(input,GREATER_EQUAL,FOLLOW_GREATER_EQUAL_in_fact_expression1010);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_fact_expression_in_fact_expression1012);
fact_expression();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 11 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:187:4: ^( LESS fact_expression )
{
match(input,LESS,FOLLOW_LESS_in_fact_expression1019);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_fact_expression_in_fact_expression1021);
fact_expression();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 12 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:188:4: ^( LESS_EQUAL fact_expression )
{
match(input,LESS_EQUAL,FOLLOW_LESS_EQUAL_in_fact_expression1028);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_fact_expression_in_fact_expression1030);
fact_expression();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 13 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:189:4: ^( NOT_EQUAL fact_expression )
{
match(input,NOT_EQUAL,FOLLOW_NOT_EQUAL_in_fact_expression1037);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_fact_expression_in_fact_expression1039);
fact_expression();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 14 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:190:4: ^( VK_OPERATOR ( VK_NOT )? ( VT_SQUARE_CHUNK )? fact_expression )
{
match(input,VK_OPERATOR,FOLLOW_VK_OPERATOR_in_fact_expression1046);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:190:18: ( VK_NOT )?
int alt41=2;
int LA41_0 = input.LA(1);
if ( (LA41_0==VK_NOT) ) {
alt41=1;
}
switch (alt41) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:190:18: VK_NOT
{
match(input,VK_NOT,FOLLOW_VK_NOT_in_fact_expression1048);
}
break;
}
// src/main/resources/org/drools/lang/Tree2TestDRL.g:190:26: ( VT_SQUARE_CHUNK )?
int alt42=2;
int LA42_0 = input.LA(1);
if ( (LA42_0==VT_SQUARE_CHUNK) ) {
alt42=1;
}
switch (alt42) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:190:26: VT_SQUARE_CHUNK
{
match(input,VT_SQUARE_CHUNK,FOLLOW_VT_SQUARE_CHUNK_in_fact_expression1051);
}
break;
}
pushFollow(FOLLOW_fact_expression_in_fact_expression1054);
fact_expression();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 15 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:191:4: ^( ID ( VK_NOT )? ( VT_SQUARE_CHUNK )? fact_expression )
{
match(input,ID,FOLLOW_ID_in_fact_expression1061);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:191:9: ( VK_NOT )?
int alt43=2;
int LA43_0 = input.LA(1);
if ( (LA43_0==VK_NOT) ) {
alt43=1;
}
switch (alt43) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:191:9: VK_NOT
{
match(input,VK_NOT,FOLLOW_VK_NOT_in_fact_expression1063);
}
break;
}
// src/main/resources/org/drools/lang/Tree2TestDRL.g:191:17: ( VT_SQUARE_CHUNK )?
int alt44=2;
int LA44_0 = input.LA(1);
if ( (LA44_0==VT_SQUARE_CHUNK) ) {
alt44=1;
}
switch (alt44) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:191:17: VT_SQUARE_CHUNK
{
match(input,VT_SQUARE_CHUNK,FOLLOW_VT_SQUARE_CHUNK_in_fact_expression1066);
}
break;
}
pushFollow(FOLLOW_fact_expression_in_fact_expression1069);
fact_expression();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 16 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:192:4: ^( VT_BIND_FIELD VT_LABEL fact_expression )
{
match(input,VT_BIND_FIELD,FOLLOW_VT_BIND_FIELD_in_fact_expression1076);
match(input, Token.DOWN, null);
match(input,VT_LABEL,FOLLOW_VT_LABEL_in_fact_expression1078);
pushFollow(FOLLOW_fact_expression_in_fact_expression1080);
fact_expression();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 17 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:193:4: ^( VT_FIELD fact_expression ( fact_expression )? )
{
match(input,VT_FIELD,FOLLOW_VT_FIELD_in_fact_expression1087);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_fact_expression_in_fact_expression1089);
fact_expression();
state._fsp--;
// src/main/resources/org/drools/lang/Tree2TestDRL.g:193:31: ( fact_expression )?
int alt45=2;
int LA45_0 = input.LA(1);
if ( (LA45_0==VT_FACT||LA45_0==VT_PAREN_CHUNK||(LA45_0>=VT_FACT_BINDING && LA45_0<=VT_ACCESSOR_PATH)||LA45_0==VK_EVAL||LA45_0==VK_IN||LA45_0==VK_OPERATOR||LA45_0==FLOAT||LA45_0==STRING||LA45_0==BOOL||LA45_0==NULL||(LA45_0>=GREATER && LA45_0<=LESS)||(LA45_0>=DOUBLE_AMPER && LA45_0<=DOUBLE_PIPE)||LA45_0==ID||LA45_0==INT||(LA45_0>=EQUAL && LA45_0<=NOT_EQUAL)) ) {
alt45=1;
}
switch (alt45) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:193:31: fact_expression
{
pushFollow(FOLLOW_fact_expression_in_fact_expression1091);
fact_expression();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
break;
case 18 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:194:4: ^( VT_ACCESSOR_PATH ( accessor_element )+ )
{
match(input,VT_ACCESSOR_PATH,FOLLOW_VT_ACCESSOR_PATH_in_fact_expression1099);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:194:23: ( accessor_element )+
int cnt46=0;
loop46:
do {
int alt46=2;
int LA46_0 = input.LA(1);
if ( (LA46_0==VT_ACCESSOR_ELEMENT) ) {
alt46=1;
}
switch (alt46) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:194:23: accessor_element
{
pushFollow(FOLLOW_accessor_element_in_fact_expression1101);
accessor_element();
state._fsp--;
}
break;
default :
if ( cnt46 >= 1 ) break loop46;
EarlyExitException eee =
new EarlyExitException(46, input);
throw eee;
}
cnt46++;
} while (true);
match(input, Token.UP, null);
}
break;
case 19 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:195:4: STRING
{
match(input,STRING,FOLLOW_STRING_in_fact_expression1108);
}
break;
case 20 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:196:4: INT
{
match(input,INT,FOLLOW_INT_in_fact_expression1113);
}
break;
case 21 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:197:4: FLOAT
{
match(input,FLOAT,FOLLOW_FLOAT_in_fact_expression1118);
}
break;
case 22 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:198:4: BOOL
{
match(input,BOOL,FOLLOW_BOOL_in_fact_expression1123);
}
break;
case 23 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:199:4: NULL
{
match(input,NULL,FOLLOW_NULL_in_fact_expression1128);
}
break;
case 24 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:200:4: VT_PAREN_CHUNK
{
match(input,VT_PAREN_CHUNK,FOLLOW_VT_PAREN_CHUNK_in_fact_expression1133);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "fact_expression"
// $ANTLR start "pattern_type"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:203:1: pattern_type : ^( VT_PATTERN_TYPE ( ID )+ ( dimension_definition )* ) ;
public final void pattern_type() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:204:2: ( ^( VT_PATTERN_TYPE ( ID )+ ( dimension_definition )* ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:204:4: ^( VT_PATTERN_TYPE ( ID )+ ( dimension_definition )* )
{
match(input,VT_PATTERN_TYPE,FOLLOW_VT_PATTERN_TYPE_in_pattern_type1145);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:204:22: ( ID )+
int cnt48=0;
loop48:
do {
int alt48=2;
int LA48_0 = input.LA(1);
if ( (LA48_0==ID) ) {
alt48=1;
}
switch (alt48) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:204:22: ID
{
match(input,ID,FOLLOW_ID_in_pattern_type1147);
}
break;
default :
if ( cnt48 >= 1 ) break loop48;
EarlyExitException eee =
new EarlyExitException(48, input);
throw eee;
}
cnt48++;
} while (true);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:204:26: ( dimension_definition )*
loop49:
do {
int alt49=2;
int LA49_0 = input.LA(1);
if ( (LA49_0==LEFT_SQUARE) ) {
alt49=1;
}
switch (alt49) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:204:26: dimension_definition
{
pushFollow(FOLLOW_dimension_definition_in_pattern_type1150);
dimension_definition();
state._fsp--;
}
break;
default :
break loop49;
}
} while (true);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "pattern_type"
// $ANTLR start "data_type"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:207:1: data_type : ^( VT_DATA_TYPE ( ID )+ ( dimension_definition )* ) ;
public final void data_type() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:208:2: ( ^( VT_DATA_TYPE ( ID )+ ( dimension_definition )* ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:208:4: ^( VT_DATA_TYPE ( ID )+ ( dimension_definition )* )
{
match(input,VT_DATA_TYPE,FOLLOW_VT_DATA_TYPE_in_data_type1164);
match(input, Token.DOWN, null);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:208:19: ( ID )+
int cnt50=0;
loop50:
do {
int alt50=2;
int LA50_0 = input.LA(1);
if ( (LA50_0==ID) ) {
alt50=1;
}
switch (alt50) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:208:19: ID
{
match(input,ID,FOLLOW_ID_in_data_type1166);
}
break;
default :
if ( cnt50 >= 1 ) break loop50;
EarlyExitException eee =
new EarlyExitException(50, input);
throw eee;
}
cnt50++;
} while (true);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:208:23: ( dimension_definition )*
loop51:
do {
int alt51=2;
int LA51_0 = input.LA(1);
if ( (LA51_0==LEFT_SQUARE) ) {
alt51=1;
}
switch (alt51) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:208:23: dimension_definition
{
pushFollow(FOLLOW_dimension_definition_in_data_type1169);
dimension_definition();
state._fsp--;
}
break;
default :
break loop51;
}
} while (true);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "data_type"
// $ANTLR start "dimension_definition"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:211:1: dimension_definition : LEFT_SQUARE RIGHT_SQUARE ;
public final void dimension_definition() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:212:2: ( LEFT_SQUARE RIGHT_SQUARE )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:212:4: LEFT_SQUARE RIGHT_SQUARE
{
match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_dimension_definition1182);
match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_dimension_definition1184);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "dimension_definition"
// $ANTLR start "accessor_element"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:215:1: accessor_element : ^( VT_ACCESSOR_ELEMENT ID ( VT_SQUARE_CHUNK )* ) ;
public final void accessor_element() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:216:2: ( ^( VT_ACCESSOR_ELEMENT ID ( VT_SQUARE_CHUNK )* ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:216:4: ^( VT_ACCESSOR_ELEMENT ID ( VT_SQUARE_CHUNK )* )
{
match(input,VT_ACCESSOR_ELEMENT,FOLLOW_VT_ACCESSOR_ELEMENT_in_accessor_element1196);
match(input, Token.DOWN, null);
match(input,ID,FOLLOW_ID_in_accessor_element1198);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:216:29: ( VT_SQUARE_CHUNK )*
loop52:
do {
int alt52=2;
int LA52_0 = input.LA(1);
if ( (LA52_0==VT_SQUARE_CHUNK) ) {
alt52=1;
}
switch (alt52) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:216:29: VT_SQUARE_CHUNK
{
match(input,VT_SQUARE_CHUNK,FOLLOW_VT_SQUARE_CHUNK_in_accessor_element1200);
}
break;
default :
break loop52;
}
} while (true);
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "accessor_element"
// $ANTLR start "expression_chain"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:219:1: expression_chain : ^( VT_EXPRESSION_CHAIN ID ( VT_SQUARE_CHUNK )? ( VT_PAREN_CHUNK )? ( expression_chain )? ) ;
public final void expression_chain() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:220:2: ( ^( VT_EXPRESSION_CHAIN ID ( VT_SQUARE_CHUNK )? ( VT_PAREN_CHUNK )? ( expression_chain )? ) )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:220:4: ^( VT_EXPRESSION_CHAIN ID ( VT_SQUARE_CHUNK )? ( VT_PAREN_CHUNK )? ( expression_chain )? )
{
match(input,VT_EXPRESSION_CHAIN,FOLLOW_VT_EXPRESSION_CHAIN_in_expression_chain1214);
match(input, Token.DOWN, null);
match(input,ID,FOLLOW_ID_in_expression_chain1216);
// src/main/resources/org/drools/lang/Tree2TestDRL.g:220:29: ( VT_SQUARE_CHUNK )?
int alt53=2;
int LA53_0 = input.LA(1);
if ( (LA53_0==VT_SQUARE_CHUNK) ) {
alt53=1;
}
switch (alt53) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:220:29: VT_SQUARE_CHUNK
{
match(input,VT_SQUARE_CHUNK,FOLLOW_VT_SQUARE_CHUNK_in_expression_chain1218);
}
break;
}
// src/main/resources/org/drools/lang/Tree2TestDRL.g:220:46: ( VT_PAREN_CHUNK )?
int alt54=2;
int LA54_0 = input.LA(1);
if ( (LA54_0==VT_PAREN_CHUNK) ) {
alt54=1;
}
switch (alt54) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:220:46: VT_PAREN_CHUNK
{
match(input,VT_PAREN_CHUNK,FOLLOW_VT_PAREN_CHUNK_in_expression_chain1221);
}
break;
}
// src/main/resources/org/drools/lang/Tree2TestDRL.g:220:62: ( expression_chain )?
int alt55=2;
int LA55_0 = input.LA(1);
if ( (LA55_0==VT_EXPRESSION_CHAIN) ) {
alt55=1;
}
switch (alt55) {
case 1 :
// src/main/resources/org/drools/lang/Tree2TestDRL.g:220:62: expression_chain
{
pushFollow(FOLLOW_expression_chain_in_expression_chain1224);
expression_chain();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "expression_chain"
// $ANTLR start "curly_chunk"
// src/main/resources/org/drools/lang/Tree2TestDRL.g:223:1: curly_chunk : VT_CURLY_CHUNK ;
public final void curly_chunk() throws RecognitionException {
try {
// src/main/resources/org/drools/lang/Tree2TestDRL.g:224:2: ( VT_CURLY_CHUNK )
// src/main/resources/org/drools/lang/Tree2TestDRL.g:224:4: VT_CURLY_CHUNK
{
match(input,VT_CURLY_CHUNK,FOLLOW_VT_CURLY_CHUNK_in_curly_chunk1238);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ;
}
// $ANTLR end "curly_chunk"
// Delegated rules
public static final BitSet FOLLOW_VT_COMPILATION_UNIT_in_compilation_unit43 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_package_statement_in_compilation_unit45 = new BitSet(new long[]{0x5CFF000000000028L,0x000000000000007AL,0x0000000000000000L,0x0000000000004200L});
public static final BitSet FOLLOW_statement_in_compilation_unit48 = new BitSet(new long[]{0x5CFF000000000028L,0x000000000000007AL,0x0000000000000000L,0x0000000000004200L});
public static final BitSet FOLLOW_VK_PACKAGE_in_package_statement63 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_package_id_in_package_statement65 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_PACKAGE_ID_in_package_id78 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_package_id80 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000000000000000L,0x0000000000000020L});
public static final BitSet FOLLOW_rule_attribute_in_statement93 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_function_import_statement_in_statement98 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_import_statement_in_statement104 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_global_in_statement110 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_function_in_statement116 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_template_in_statement121 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rule_in_statement126 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_query_in_statement131 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_declaration_in_statement136 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VK_IMPORT_in_import_statement148 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_import_name_in_import_statement150 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_FUNCTION_IMPORT_in_function_import_statement163 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VK_FUNCTION_in_function_import_statement165 = new BitSet(new long[]{0x0000040000000000L});
public static final BitSet FOLLOW_import_name_in_function_import_statement167 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_IMPORT_ID_in_import_name180 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_import_name182 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000000000000000L,0x0000000000000120L});
public static final BitSet FOLLOW_DOT_STAR_in_import_name185 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_GLOBAL_in_global199 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_data_type_in_global201 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_VT_GLOBAL_ID_in_global203 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_FUNCTION_in_function216 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_data_type_in_function218 = new BitSet(new long[]{0x0000100000000000L});
public static final BitSet FOLLOW_VT_FUNCTION_ID_in_function221 = new BitSet(new long[]{0x0000200000000000L});
public static final BitSet FOLLOW_parameters_in_function223 = new BitSet(new long[]{0x0000000000020000L});
public static final BitSet FOLLOW_curly_chunk_in_function225 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_QUERY_in_query238 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VT_QUERY_ID_in_query240 = new BitSet(new long[]{0x0000200000200000L});
public static final BitSet FOLLOW_parameters_in_query242 = new BitSet(new long[]{0x0000200000200000L});
public static final BitSet FOLLOW_lhs_block_in_query245 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_VK_END_in_query247 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_PARAM_LIST_in_parameters260 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_param_definition_in_parameters262 = new BitSet(new long[]{0x0000008000000008L,0x0000000000000000L,0x0000000000000000L,0x0000000000000020L});
public static final BitSet FOLLOW_data_type_in_param_definition275 = new BitSet(new long[]{0x0000008000000008L,0x0000000000000000L,0x0000000000000000L,0x0000000000000020L});
public static final BitSet FOLLOW_argument_in_param_definition278 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ID_in_argument289 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000400000000000L});
public static final BitSet FOLLOW_dimension_definition_in_argument291 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000400000000000L});
public static final BitSet FOLLOW_VK_DECLARE_in_type_declaration304 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VT_TYPE_DECLARE_ID_in_type_declaration306 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L,0x0000000000800000L,0x0000000000000020L});
public static final BitSet FOLLOW_decl_metadata_in_type_declaration308 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L,0x0000000000800000L,0x0000000000000020L});
public static final BitSet FOLLOW_decl_field_in_type_declaration311 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L,0x0000000000000000L,0x0000000000000020L});
public static final BitSet FOLLOW_VK_END_in_type_declaration314 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_AT_in_decl_metadata327 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_decl_metadata329 = new BitSet(new long[]{0x0000000000080008L});
public static final BitSet FOLLOW_VT_PAREN_CHUNK_in_decl_metadata331 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ID_in_decl_field345 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_decl_field_initialization_in_decl_field347 = new BitSet(new long[]{0x0000008000000000L});
public static final BitSet FOLLOW_data_type_in_decl_field350 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000000000800000L});
public static final BitSet FOLLOW_decl_metadata_in_decl_field352 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000000000800000L});
public static final BitSet FOLLOW_EQUALS_in_decl_field_initialization366 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VT_PAREN_CHUNK_in_decl_field_initialization368 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_TEMPLATE_in_template381 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VT_TEMPLATE_ID_in_template383 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000800L});
public static final BitSet FOLLOW_template_slot_in_template385 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L,0x0000000000000000L,0x0000000000000800L});
public static final BitSet FOLLOW_VK_END_in_template388 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_SLOT_in_template_slot401 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_data_type_in_template_slot403 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000001000L});
public static final BitSet FOLLOW_VT_SLOT_ID_in_template_slot405 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_RULE_in_rule418 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VT_RULE_ID_in_rule420 = new BitSet(new long[]{0x0000000000014000L,0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_rule_attributes_in_rule422 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_when_part_in_rule425 = new BitSet(new long[]{0x0000000000010000L});
public static final BitSet FOLLOW_VT_RHS_CHUNK_in_rule428 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_WHEN_in_when_part440 = new BitSet(new long[]{0x0000200000200000L});
public static final BitSet FOLLOW_lhs_block_in_when_part442 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VT_RULE_ATTRIBUTES_in_rule_attributes454 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VK_ATTRIBUTES_in_rule_attributes456 = new BitSet(new long[]{0x1CFF000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000004000L});
public static final BitSet FOLLOW_rule_attribute_in_rule_attributes459 = new BitSet(new long[]{0x1CFF000000000008L,0x0000000000000000L,0x0000000000000000L,0x0000000000004000L});
public static final BitSet FOLLOW_VK_SALIENCE_in_rule_attribute473 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_set_in_rule_attribute475 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_NO_LOOP_in_rule_attribute487 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_BOOL_in_rule_attribute489 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_AGENDA_GROUP_in_rule_attribute499 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_STRING_in_rule_attribute501 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_DURATION_in_rule_attribute510 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_INT_in_rule_attribute512 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_ACTIVATION_GROUP_in_rule_attribute522 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_STRING_in_rule_attribute524 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_AUTO_FOCUS_in_rule_attribute532 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_BOOL_in_rule_attribute534 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_DATE_EFFECTIVE_in_rule_attribute543 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_STRING_in_rule_attribute545 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_DATE_EXPIRES_in_rule_attribute553 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_STRING_in_rule_attribute555 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_ENABLED_in_rule_attribute563 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_BOOL_in_rule_attribute565 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_RULEFLOW_GROUP_in_rule_attribute573 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_STRING_in_rule_attribute575 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_LOCK_ON_ACTIVE_in_rule_attribute583 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_BOOL_in_rule_attribute585 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_DIALECT_in_rule_attribute593 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_STRING_in_rule_attribute595 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_AND_IMPLICIT_in_lhs_block609 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_lhs_in_lhs_block611 = new BitSet(new long[]{0x0000000103C00008L,0x0000000000006280L,0x0000000000040000L});
public static final BitSet FOLLOW_VT_OR_PREFIX_in_lhs624 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_lhs_in_lhs626 = new BitSet(new long[]{0x0000000103C00008L,0x0000000000006280L,0x0000000000040000L});
public static final BitSet FOLLOW_VT_OR_INFIX_in_lhs634 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_lhs_in_lhs636 = new BitSet(new long[]{0x0000000103C00008L,0x0000000000006280L,0x0000000000040000L});
public static final BitSet FOLLOW_lhs_in_lhs638 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_AND_PREFIX_in_lhs645 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_lhs_in_lhs647 = new BitSet(new long[]{0x0000000103C00008L,0x0000000000006280L,0x0000000000040000L});
public static final BitSet FOLLOW_VT_AND_INFIX_in_lhs655 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_lhs_in_lhs657 = new BitSet(new long[]{0x0000000103C00008L,0x0000000000006280L,0x0000000000040000L});
public static final BitSet FOLLOW_lhs_in_lhs659 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_EXISTS_in_lhs666 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_lhs_in_lhs668 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_NOT_in_lhs675 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_lhs_in_lhs677 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_EVAL_in_lhs684 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VT_PAREN_CHUNK_in_lhs686 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_FORALL_in_lhs693 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_lhs_in_lhs695 = new BitSet(new long[]{0x0000000103C00008L,0x0000000000006280L,0x0000000000040000L});
public static final BitSet FOLLOW_FROM_in_lhs703 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_lhs_pattern_in_lhs705 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000100L,0x0000000000030000L});
public static final BitSet FOLLOW_from_elements_in_lhs707 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_lhs_pattern_in_lhs713 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ACCUMULATE_in_from_elements725 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_lhs_in_from_elements727 = new BitSet(new long[]{0x000000000C000000L});
public static final BitSet FOLLOW_accumulate_init_clause_in_from_elements730 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_accumulate_id_clause_in_from_elements732 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_COLLECT_in_from_elements740 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_lhs_in_from_elements742 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_ENTRY_POINT_in_from_elements749 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VT_ENTRYPOINT_ID_in_from_elements751 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_FROM_SOURCE_in_from_elements758 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_from_elements760 = new BitSet(new long[]{0x0000000020080008L});
public static final BitSet FOLLOW_VT_PAREN_CHUNK_in_from_elements762 = new BitSet(new long[]{0x0000000020000008L});
public static final BitSet FOLLOW_expression_chain_in_from_elements765 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_ACCUMULATE_INIT_CLAUSE_in_accumulate_init_clause779 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VK_INIT_in_accumulate_init_clause786 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VT_PAREN_CHUNK_in_accumulate_init_clause788 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_ACTION_in_accumulate_init_clause796 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VT_PAREN_CHUNK_in_accumulate_init_clause798 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_accumulate_init_reverse_clause_in_accumulate_init_clause805 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
public static final BitSet FOLLOW_VK_RESULT_in_accumulate_init_clause812 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VT_PAREN_CHUNK_in_accumulate_init_clause814 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_REVERSE_in_accumulate_init_reverse_clause828 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VT_PAREN_CHUNK_in_accumulate_init_reverse_clause830 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_ACCUMULATE_ID_CLAUSE_in_accumulate_id_clause844 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_accumulate_id_clause846 = new BitSet(new long[]{0x0000000000080000L});
public static final BitSet FOLLOW_VT_PAREN_CHUNK_in_accumulate_id_clause848 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_PATTERN_in_lhs_pattern861 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_fact_expression_in_lhs_pattern863 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_over_clause_in_lhs_pattern866 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OVER_in_over_clause879 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_over_element_in_over_clause881 = new BitSet(new long[]{0x0000000000100008L});
public static final BitSet FOLLOW_VT_BEHAVIOR_in_over_element895 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_over_element897 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000020L});
public static final BitSet FOLLOW_ID_in_over_element899 = new BitSet(new long[]{0x0000000000080000L});
public static final BitSet FOLLOW_VT_PAREN_CHUNK_in_over_element901 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_DOUBLE_PIPE_in_fact_expression914 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression916 = new BitSet(new long[]{0x0000003E00080040L,0x0000000000080480L,0x0030060000088820L,0x000000000007A020L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression918 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_DOUBLE_AMPER_in_fact_expression925 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression927 = new BitSet(new long[]{0x0000003E00080040L,0x0000000000080480L,0x0030060000088820L,0x000000000007A020L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression929 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_FACT_BINDING_in_fact_expression936 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VT_LABEL_in_fact_expression938 = new BitSet(new long[]{0x0000003E00080040L,0x0000000000080480L,0x0030060000088820L,0x000000000007A020L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression940 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_FACT_in_fact_expression947 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_pattern_type_in_fact_expression949 = new BitSet(new long[]{0x0000003E00080048L,0x0000000000080480L,0x0030060000088820L,0x000000000007A020L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression951 = new BitSet(new long[]{0x0000003E00080048L,0x0000000000080480L,0x0030060000088820L,0x000000000007A020L});
public static final BitSet FOLLOW_VT_FACT_OR_in_fact_expression959 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression961 = new BitSet(new long[]{0x0000003E00080040L,0x0000000000080480L,0x0030060000088820L,0x000000000007A020L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression963 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_EVAL_in_fact_expression970 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VT_PAREN_CHUNK_in_fact_expression972 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_IN_in_fact_expression979 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VK_NOT_in_fact_expression981 = new BitSet(new long[]{0x0000003E00080040L,0x0000000000080480L,0x0030060000088820L,0x000000000007A020L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression984 = new BitSet(new long[]{0x0000003E00080048L,0x0000000000080480L,0x0030060000088820L,0x000000000007A020L});
public static final BitSet FOLLOW_EQUAL_in_fact_expression992 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression994 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_GREATER_in_fact_expression1001 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression1003 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_GREATER_EQUAL_in_fact_expression1010 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression1012 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_LESS_in_fact_expression1019 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression1021 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_LESS_EQUAL_in_fact_expression1028 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression1030 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_NOT_EQUAL_in_fact_expression1037 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression1039 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VK_OPERATOR_in_fact_expression1046 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VK_NOT_in_fact_expression1048 = new BitSet(new long[]{0x0000003E000C0040L,0x0000000000080480L,0x0030060000088820L,0x000000000007A020L});
public static final BitSet FOLLOW_VT_SQUARE_CHUNK_in_fact_expression1051 = new BitSet(new long[]{0x0000003E00080040L,0x0000000000080480L,0x0030060000088820L,0x000000000007A020L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression1054 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ID_in_fact_expression1061 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VK_NOT_in_fact_expression1063 = new BitSet(new long[]{0x0000003E000C0040L,0x0000000000080480L,0x0030060000088820L,0x000000000007A020L});
public static final BitSet FOLLOW_VT_SQUARE_CHUNK_in_fact_expression1066 = new BitSet(new long[]{0x0000003E00080040L,0x0000000000080480L,0x0030060000088820L,0x000000000007A020L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression1069 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_BIND_FIELD_in_fact_expression1076 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VT_LABEL_in_fact_expression1078 = new BitSet(new long[]{0x0000003E00080040L,0x0000000000080480L,0x0030060000088820L,0x000000000007A020L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression1080 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_FIELD_in_fact_expression1087 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression1089 = new BitSet(new long[]{0x0000003E00080048L,0x0000000000080480L,0x0030060000088820L,0x000000000007A020L});
public static final BitSet FOLLOW_fact_expression_in_fact_expression1091 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_ACCESSOR_PATH_in_fact_expression1099 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_accessor_element_in_fact_expression1101 = new BitSet(new long[]{0x0000004000000008L});
public static final BitSet FOLLOW_STRING_in_fact_expression1108 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INT_in_fact_expression1113 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FLOAT_in_fact_expression1118 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BOOL_in_fact_expression1123 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NULL_in_fact_expression1128 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VT_PAREN_CHUNK_in_fact_expression1133 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VT_PATTERN_TYPE_in_pattern_type1145 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_pattern_type1147 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000400000000000L,0x0000000000000020L});
public static final BitSet FOLLOW_dimension_definition_in_pattern_type1150 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000400000000000L});
public static final BitSet FOLLOW_VT_DATA_TYPE_in_data_type1164 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_data_type1166 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000400000000000L,0x0000000000000020L});
public static final BitSet FOLLOW_dimension_definition_in_data_type1169 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000400000000000L});
public static final BitSet FOLLOW_LEFT_SQUARE_in_dimension_definition1182 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
public static final BitSet FOLLOW_RIGHT_SQUARE_in_dimension_definition1184 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VT_ACCESSOR_ELEMENT_in_accessor_element1196 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_accessor_element1198 = new BitSet(new long[]{0x0000000000040008L});
public static final BitSet FOLLOW_VT_SQUARE_CHUNK_in_accessor_element1200 = new BitSet(new long[]{0x0000000000040008L});
public static final BitSet FOLLOW_VT_EXPRESSION_CHAIN_in_expression_chain1214 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_expression_chain1216 = new BitSet(new long[]{0x00000000200C0008L});
public static final BitSet FOLLOW_VT_SQUARE_CHUNK_in_expression_chain1218 = new BitSet(new long[]{0x0000000020080008L});
public static final BitSet FOLLOW_VT_PAREN_CHUNK_in_expression_chain1221 = new BitSet(new long[]{0x0000000020000008L});
public static final BitSet FOLLOW_expression_chain_in_expression_chain1224 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VT_CURLY_CHUNK_in_curly_chunk1238 = new BitSet(new long[]{0x0000000000000002L});
}