[jboss-svn-commits] JBL Code SVN: r17267 - in labs/jbossrules/trunk: drools-compiler/src/main/java/org/drools/lang and 21 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Dec 16 07:25:59 EST 2007
Author: tirelli
Date: 2007-12-16 07:25:57 -0500 (Sun, 16 Dec 2007)
New Revision: 17267
Added:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/EntryPointDescr.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/EntryPointBuilder.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EntryPoint.drl
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/EntryPointInterface.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BeforeEvaluatorDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/CoincidesEvaluatorDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DuringEvaluatorDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FinishedByEvaluatorDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FinishesEvaluatorDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/IncludesEvaluatorDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/MeetsEvaluatorDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/MetByEvaluatorDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/OverlappedByEvaluatorDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/OverlapsEvaluatorDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StartedByEvaluatorDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StartsEvaluatorDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/EntryPointBuilder.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EntryPoint.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/TemporalEvaluatorFactoryTest.java
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/Dialect.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/Location.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
labs/jbossrules/trunk/drools-compiler/src/main/resources/META-INF/drools.default.packagebuilder.conf
labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_TimeRelationalOperators.drl
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/AfterEvaluatorDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EventFactHandle.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/PropagationContextImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ClassObjectTypeConf.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FactTemplateTypeConf.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/MemoryVisitor.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildContext.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildUtils.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooRuleBuilder.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/PropagationContext.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java
labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java
Log:
JBRULES-1391: merging changes from temporal branch revisions 17160:17264 into trunk
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/Dialect.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/Dialect.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/Dialect.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -14,6 +14,7 @@
import org.drools.rule.builder.AccumulateBuilder;
import org.drools.rule.builder.ActionBuilder;
import org.drools.rule.builder.ConsequenceBuilder;
+import org.drools.rule.builder.EntryPointBuilder;
import org.drools.rule.builder.FromBuilder;
import org.drools.rule.builder.PackageBuildContext;
import org.drools.rule.builder.PatternBuilder;
@@ -76,6 +77,8 @@
FromBuilder getFromBuilder();
+ EntryPointBuilder getEntryPointBuilder();
+
RuleConditionBuilder getBuilder(Class clazz);
AnalysisResult analyzeExpression(final PackageBuildContext context,
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -20,9 +20,7 @@
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
-import java.util.ArrayList;
import java.util.Collections;
-import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0.1 /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g 2007-12-10 14:18:28
+// $ANTLR 3.0.1 /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g 2007-12-16 09:53:58
package org.drools.lang;
@@ -15,18 +15,17 @@
public static final int T79=79;
public static final int AUTO_FOCUS=28;
public static final int END=15;
- public static final int HexDigit=67;
+ public static final int HexDigit=68;
public static final int FORALL=43;
public static final int TEMPLATE=16;
- public static final int MISC=73;
- public static final int FLOAT=57;
- public static final int T74=74;
+ public static final int MISC=74;
+ public static final int FLOAT=58;
public static final int QUERY=14;
- public static final int THEN=63;
+ public static final int THEN=64;
public static final int RULE=17;
public static final int INIT=45;
public static final int T83=83;
- public static final int TILDE=55;
+ public static final int TILDE=56;
public static final int IMPORT=5;
public static final int PACKAGE=4;
public static final int DATE_EFFECTIVE=20;
@@ -36,73 +35,75 @@
public static final int AND=37;
public static final int FUNCTION=6;
public static final int GLOBAL=10;
- public static final int EscapeSequence=66;
+ public static final int EscapeSequence=67;
public static final int DIALECT=33;
public static final int INT=26;
public static final int LOCK_ON_ACTIVE=34;
public static final int DATE_EXPIRES=22;
public static final int T81=81;
- public static final int LEFT_SQUARE=61;
- public static final int CONTAINS=50;
- public static final int SH_STYLE_SINGLE_LINE_COMMENT=70;
+ public static final int LEFT_SQUARE=62;
+ public static final int CONTAINS=51;
+ public static final int SH_STYLE_SINGLE_LINE_COMMENT=71;
public static final int T77=77;
public static final int ATTRIBUTES=19;
public static final int EVENT=7;
- public static final int LEFT_CURLY=59;
+ public static final int LEFT_CURLY=60;
public static final int RESULT=48;
public static final int ID=8;
public static final int FROM=39;
public static final int LEFT_PAREN=11;
public static final int ACTIVATION_GROUP=29;
public static final int DOUBLE_AMPER=38;
- public static final int RIGHT_CURLY=60;
+ public static final int RIGHT_CURLY=61;
public static final int BOOL=24;
- public static final int EXCLUDES=51;
- public static final int SOUNDSLIKE=53;
- public static final int MEMBEROF=54;
+ public static final int EXCLUDES=52;
+ public static final int SOUNDSLIKE=54;
+ public static final int T84=84;
+ public static final int MEMBEROF=55;
public static final int WHEN=18;
public static final int T78=78;
public static final int RULEFLOW_GROUP=30;
- public static final int WS=65;
+ public static final int WS=66;
public static final int STRING=21;
public static final int ACTION=46;
public static final int COLLECT=49;
public static final int T76=76;
public static final int REVERSE=47;
- public static final int IN=56;
+ public static final int IN=57;
public static final int T80=80;
public static final int NO_LOOP=27;
public static final int ACCUMULATE=44;
- public static final int UnicodeEscape=68;
+ public static final int UnicodeEscape=69;
public static final int T75=75;
public static final int DURATION=32;
public static final int EVAL=42;
- public static final int MATCHES=52;
+ public static final int MATCHES=53;
public static final int EOF=-1;
public static final int AGENDA_GROUP=31;
- public static final int NULL=58;
- public static final int EOL=64;
- public static final int Tokens=84;
+ public static final int NULL=59;
+ public static final int EOL=65;
+ public static final int Tokens=85;
public static final int T82=82;
public static final int SALIENCE=25;
- public static final int OctalEscape=69;
- public static final int MULTI_LINE_COMMENT=72;
+ public static final int OctalEscape=70;
+ public static final int MULTI_LINE_COMMENT=73;
public static final int NOT=41;
public static final int RIGHT_PAREN=13;
public static final int ENABLED=23;
- public static final int RIGHT_SQUARE=62;
- public static final int C_STYLE_SINGLE_LINE_COMMENT=71;
+ public static final int RIGHT_SQUARE=63;
+ public static final int ENTRY_POINT=50;
+ public static final int C_STYLE_SINGLE_LINE_COMMENT=72;
public DRLLexer() {;}
public DRLLexer(CharStream input) {
super(input);
- ruleMemo = new HashMap[82+1];
+ ruleMemo = new HashMap[83+1];
}
public String getGrammarFileName() { return "/home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g"; }
- // $ANTLR start T74
- public final void mT74() throws RecognitionException {
+ // $ANTLR start T75
+ public final void mT75() throws RecognitionException {
try {
- int _type = T74;
+ int _type = T75;
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:6:5: ( ';' )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:6:7: ';'
{
@@ -115,12 +116,12 @@
finally {
}
}
- // $ANTLR end T74
+ // $ANTLR end T75
- // $ANTLR start T75
- public final void mT75() throws RecognitionException {
+ // $ANTLR start T76
+ public final void mT76() throws RecognitionException {
try {
- int _type = T75;
+ int _type = T76;
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:7:5: ( '.*' )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:7:7: '.*'
{
@@ -134,12 +135,12 @@
finally {
}
}
- // $ANTLR end T75
+ // $ANTLR end T76
- // $ANTLR start T76
- public final void mT76() throws RecognitionException {
+ // $ANTLR start T77
+ public final void mT77() throws RecognitionException {
try {
- int _type = T76;
+ int _type = T77;
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:8:5: ( ':' )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:8:7: ':'
{
@@ -152,12 +153,12 @@
finally {
}
}
- // $ANTLR end T76
+ // $ANTLR end T77
- // $ANTLR start T77
- public final void mT77() throws RecognitionException {
+ // $ANTLR start T78
+ public final void mT78() throws RecognitionException {
try {
- int _type = T77;
+ int _type = T78;
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:9:5: ( '->' )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:9:7: '->'
{
@@ -171,12 +172,12 @@
finally {
}
}
- // $ANTLR end T77
+ // $ANTLR end T78
- // $ANTLR start T78
- public final void mT78() throws RecognitionException {
+ // $ANTLR start T79
+ public final void mT79() throws RecognitionException {
try {
- int _type = T78;
+ int _type = T79;
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:10:5: ( '==' )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:10:7: '=='
{
@@ -190,12 +191,12 @@
finally {
}
}
- // $ANTLR end T78
+ // $ANTLR end T79
- // $ANTLR start T79
- public final void mT79() throws RecognitionException {
+ // $ANTLR start T80
+ public final void mT80() throws RecognitionException {
try {
- int _type = T79;
+ int _type = T80;
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:11:5: ( '>' )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:11:7: '>'
{
@@ -208,12 +209,12 @@
finally {
}
}
- // $ANTLR end T79
+ // $ANTLR end T80
- // $ANTLR start T80
- public final void mT80() throws RecognitionException {
+ // $ANTLR start T81
+ public final void mT81() throws RecognitionException {
try {
- int _type = T80;
+ int _type = T81;
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:12:5: ( '>=' )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:12:7: '>='
{
@@ -227,12 +228,12 @@
finally {
}
}
- // $ANTLR end T80
+ // $ANTLR end T81
- // $ANTLR start T81
- public final void mT81() throws RecognitionException {
+ // $ANTLR start T82
+ public final void mT82() throws RecognitionException {
try {
- int _type = T81;
+ int _type = T82;
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:13:5: ( '<' )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:13:7: '<'
{
@@ -245,12 +246,12 @@
finally {
}
}
- // $ANTLR end T81
+ // $ANTLR end T82
- // $ANTLR start T82
- public final void mT82() throws RecognitionException {
+ // $ANTLR start T83
+ public final void mT83() throws RecognitionException {
try {
- int _type = T82;
+ int _type = T83;
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:14:5: ( '<=' )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:14:7: '<='
{
@@ -264,12 +265,12 @@
finally {
}
}
- // $ANTLR end T82
+ // $ANTLR end T83
- // $ANTLR start T83
- public final void mT83() throws RecognitionException {
+ // $ANTLR start T84
+ public final void mT84() throws RecognitionException {
try {
- int _type = T83;
+ int _type = T84;
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:15:5: ( '!=' )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:15:7: '!='
{
@@ -283,16 +284,16 @@
finally {
}
}
- // $ANTLR end T83
+ // $ANTLR end T84
// $ANTLR start WS
public final void mWS() throws RecognitionException {
try {
int _type = WS;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1709:9: ( ( ' ' | '\\t' | '\\f' | EOL )+ )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1709:17: ( ' ' | '\\t' | '\\f' | EOL )+
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1732:9: ( ( ' ' | '\\t' | '\\f' | EOL )+ )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1732:17: ( ' ' | '\\t' | '\\f' | EOL )+
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1709:17: ( ' ' | '\\t' | '\\f' | EOL )+
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1732:17: ( ' ' | '\\t' | '\\f' | EOL )+
int cnt1=0;
loop1:
do {
@@ -324,28 +325,28 @@
switch (alt1) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1709:19: ' '
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1732:19: ' '
{
match(' '); if (failed) return ;
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1710:19: '\\t'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1733:19: '\\t'
{
match('\t'); if (failed) return ;
}
break;
case 3 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1711:19: '\\f'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1734:19: '\\f'
{
match('\f'); if (failed) return ;
}
break;
case 4 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1712:19: EOL
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1735:19: EOL
{
mEOL(); if (failed) return ;
@@ -378,10 +379,10 @@
// $ANTLR start EOL
public final void mEOL() throws RecognitionException {
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1718:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1719:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1741:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1742:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1719:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1742:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
int alt2=3;
int LA2_0 = input.LA(1);
@@ -400,13 +401,13 @@
else {
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1719:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 2, 0, input);
+ new NoViableAltException("1742:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 2, 0, input);
throw nvae;
}
switch (alt2) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1719:14: ( '\\r\\n' )=> '\\r\\n'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1742:14: ( '\\r\\n' )=> '\\r\\n'
{
match("\r\n"); if (failed) return ;
@@ -414,14 +415,14 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1720:25: '\\r'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1743:25: '\\r'
{
match('\r'); if (failed) return ;
}
break;
case 3 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1721:25: '\\n'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1744:25: '\\n'
{
match('\n'); if (failed) return ;
@@ -443,10 +444,10 @@
public final void mINT() throws RecognitionException {
try {
int _type = INT;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1726:2: ( ( '-' )? ( '0' .. '9' )+ )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1726:4: ( '-' )? ( '0' .. '9' )+
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1749:2: ( ( '-' )? ( '0' .. '9' )+ )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1749:4: ( '-' )? ( '0' .. '9' )+
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1726:4: ( '-' )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1749:4: ( '-' )?
int alt3=2;
int LA3_0 = input.LA(1);
@@ -455,7 +456,7 @@
}
switch (alt3) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1726:5: '-'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1749:5: '-'
{
match('-'); if (failed) return ;
@@ -464,7 +465,7 @@
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1726:10: ( '0' .. '9' )+
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1749:10: ( '0' .. '9' )+
int cnt4=0;
loop4:
do {
@@ -478,7 +479,7 @@
switch (alt4) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1726:11: '0' .. '9'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1749:11: '0' .. '9'
{
matchRange('0','9'); if (failed) return ;
@@ -509,10 +510,10 @@
public final void mFLOAT() throws RecognitionException {
try {
int _type = FLOAT;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1730:2: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1730:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:2: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1730:4: ( '-' )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:4: ( '-' )?
int alt5=2;
int LA5_0 = input.LA(1);
@@ -521,7 +522,7 @@
}
switch (alt5) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1730:5: '-'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:5: '-'
{
match('-'); if (failed) return ;
@@ -530,7 +531,7 @@
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1730:10: ( '0' .. '9' )+
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:10: ( '0' .. '9' )+
int cnt6=0;
loop6:
do {
@@ -544,7 +545,7 @@
switch (alt6) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1730:11: '0' .. '9'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:11: '0' .. '9'
{
matchRange('0','9'); if (failed) return ;
@@ -562,7 +563,7 @@
} while (true);
match('.'); if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1730:26: ( '0' .. '9' )+
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:26: ( '0' .. '9' )+
int cnt7=0;
loop7:
do {
@@ -576,7 +577,7 @@
switch (alt7) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1730:27: '0' .. '9'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:27: '0' .. '9'
{
matchRange('0','9'); if (failed) return ;
@@ -607,7 +608,7 @@
public final void mSTRING() throws RecognitionException {
try {
int _type = STRING;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1734:5: ( ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' ) | ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1757:5: ( ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' ) | ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' ) )
int alt10=2;
int LA10_0 = input.LA(1);
@@ -620,19 +621,19 @@
else {
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1733:1: STRING : ( ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' ) | ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' ) );", 10, 0, input);
+ new NoViableAltException("1756:1: STRING : ( ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' ) | ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' ) );", 10, 0, input);
throw nvae;
}
switch (alt10) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1734:8: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1757:8: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1734:8: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1734:9: '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1757:8: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1757:9: '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"'
{
match('\"'); if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1734:13: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1757:13: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )*
loop8:
do {
int alt8=3;
@@ -648,14 +649,14 @@
switch (alt8) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1734:15: EscapeSequence
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1757:15: EscapeSequence
{
mEscapeSequence(); if (failed) return ;
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1734:32: ~ ( '\\\\' | '\"' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1757:32: ~ ( '\\\\' | '\"' )
{
if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
input.consume();
@@ -685,13 +686,13 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1735:8: ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1758:8: ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1735:8: ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1735:9: '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\''
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1758:8: ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1758:9: '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\''
{
match('\''); if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1735:14: ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1758:14: ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )*
loop9:
do {
int alt9=3;
@@ -707,14 +708,14 @@
switch (alt9) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1735:16: EscapeSequence
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1758:16: EscapeSequence
{
mEscapeSequence(); if (failed) return ;
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1735:33: ~ ( '\\\\' | '\\'' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1758:33: ~ ( '\\\\' | '\\'' )
{
if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
input.consume();
@@ -755,8 +756,8 @@
// $ANTLR start HexDigit
public final void mHexDigit() throws RecognitionException {
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1739:10: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1739:12: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1762:10: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1762:12: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
{
if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
input.consume();
@@ -781,7 +782,7 @@
// $ANTLR start EscapeSequence
public final void mEscapeSequence() throws RecognitionException {
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1743:5: ( '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' ) | UnicodeEscape | OctalEscape )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1766:5: ( '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' ) | UnicodeEscape | OctalEscape )
int alt11=3;
int LA11_0 = input.LA(1);
@@ -853,7 +854,7 @@
default:
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1741:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' ) | UnicodeEscape | OctalEscape );", 11, 1, input);
+ new NoViableAltException("1764:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' ) | UnicodeEscape | OctalEscape );", 11, 1, input);
throw nvae;
}
@@ -862,13 +863,13 @@
else {
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1741:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' ) | UnicodeEscape | OctalEscape );", 11, 0, input);
+ new NoViableAltException("1764:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' ) | UnicodeEscape | OctalEscape );", 11, 0, input);
throw nvae;
}
switch (alt11) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1743:9: '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1766:9: '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' )
{
match('\\'); if (failed) return ;
if ( input.LA(1)=='\"'||input.LA(1)=='$'||(input.LA(1)>='&' && input.LA(1)<='+')||(input.LA(1)>='-' && input.LA(1)<='.')||input.LA(1)=='?'||(input.LA(1)>='A' && input.LA(1)<='B')||(input.LA(1)>='D' && input.LA(1)<='E')||input.LA(1)=='G'||input.LA(1)=='Q'||input.LA(1)=='S'||input.LA(1)=='W'||(input.LA(1)>='Z' && input.LA(1)<='^')||(input.LA(1)>='a' && input.LA(1)<='f')||(input.LA(1)>='n' && input.LA(1)<='p')||(input.LA(1)>='r' && input.LA(1)<='t')||(input.LA(1)>='w' && input.LA(1)<='x')||(input.LA(1)>='z' && input.LA(1)<='}') ) {
@@ -886,14 +887,14 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1747:9: UnicodeEscape
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1770:9: UnicodeEscape
{
mUnicodeEscape(); if (failed) return ;
}
break;
case 3 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1748:9: OctalEscape
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1771:9: OctalEscape
{
mOctalEscape(); if (failed) return ;
@@ -910,7 +911,7 @@
// $ANTLR start OctalEscape
public final void mOctalEscape() throws RecognitionException {
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1776:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
int alt12=3;
int LA12_0 = input.LA(1);
@@ -944,7 +945,7 @@
else {
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1751:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 1, input);
+ new NoViableAltException("1774:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 1, input);
throw nvae;
}
@@ -952,31 +953,31 @@
else {
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1751:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 0, input);
+ new NoViableAltException("1774:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 0, input);
throw nvae;
}
switch (alt12) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1776:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
{
match('\\'); if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:14: ( '0' .. '3' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:15: '0' .. '3'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1776:14: ( '0' .. '3' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1776:15: '0' .. '3'
{
matchRange('0','3'); if (failed) return ;
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:25: ( '0' .. '7' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:26: '0' .. '7'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1776:25: ( '0' .. '7' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1776:26: '0' .. '7'
{
matchRange('0','7'); if (failed) return ;
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:36: ( '0' .. '7' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1753:37: '0' .. '7'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1776:36: ( '0' .. '7' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1776:37: '0' .. '7'
{
matchRange('0','7'); if (failed) return ;
@@ -986,18 +987,18 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1754:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1777:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
{
match('\\'); if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1754:14: ( '0' .. '7' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1754:15: '0' .. '7'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1777:14: ( '0' .. '7' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1777:15: '0' .. '7'
{
matchRange('0','7'); if (failed) return ;
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1754:25: ( '0' .. '7' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1754:26: '0' .. '7'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1777:25: ( '0' .. '7' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1777:26: '0' .. '7'
{
matchRange('0','7'); if (failed) return ;
@@ -1007,11 +1008,11 @@
}
break;
case 3 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1755:9: '\\\\' ( '0' .. '7' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1778:9: '\\\\' ( '0' .. '7' )
{
match('\\'); if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1755:14: ( '0' .. '7' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1755:15: '0' .. '7'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1778:14: ( '0' .. '7' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1778:15: '0' .. '7'
{
matchRange('0','7'); if (failed) return ;
@@ -1031,8 +1032,8 @@
// $ANTLR start UnicodeEscape
public final void mUnicodeEscape() throws RecognitionException {
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1760:5: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1760:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1783:5: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1783:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
{
match('\\'); if (failed) return ;
match('u'); if (failed) return ;
@@ -1053,10 +1054,10 @@
public final void mBOOL() throws RecognitionException {
try {
int _type = BOOL;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1764:2: ( ( 'true' | 'false' ) )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1764:4: ( 'true' | 'false' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:2: ( ( 'true' | 'false' ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:4: ( 'true' | 'false' )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1764:4: ( 'true' | 'false' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:4: ( 'true' | 'false' )
int alt13=2;
int LA13_0 = input.LA(1);
@@ -1069,13 +1070,13 @@
else {
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1764:4: ( 'true' | 'false' )", 13, 0, input);
+ new NoViableAltException("1787:4: ( 'true' | 'false' )", 13, 0, input);
throw nvae;
}
switch (alt13) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1764:5: 'true'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:5: 'true'
{
match("true"); if (failed) return ;
@@ -1083,7 +1084,7 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1764:12: 'false'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:12: 'false'
{
match("false"); if (failed) return ;
@@ -1107,8 +1108,8 @@
public final void mPACKAGE() throws RecognitionException {
try {
int _type = PACKAGE;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1767:9: ( 'package' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1767:11: 'package'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1790:9: ( 'package' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1790:11: 'package'
{
match("package"); if (failed) return ;
@@ -1126,8 +1127,8 @@
public final void mIMPORT() throws RecognitionException {
try {
int _type = IMPORT;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1769:8: ( 'import' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1769:10: 'import'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1792:8: ( 'import' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1792:10: 'import'
{
match("import"); if (failed) return ;
@@ -1145,8 +1146,8 @@
public final void mFUNCTION() throws RecognitionException {
try {
int _type = FUNCTION;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1771:10: ( 'function' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1771:12: 'function'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1794:10: ( 'function' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1794:12: 'function'
{
match("function"); if (failed) return ;
@@ -1164,8 +1165,8 @@
public final void mEVENT() throws RecognitionException {
try {
int _type = EVENT;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1773:7: ( 'event' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1773:10: 'event'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1796:7: ( 'event' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1796:10: 'event'
{
match("event"); if (failed) return ;
@@ -1183,8 +1184,8 @@
public final void mGLOBAL() throws RecognitionException {
try {
int _type = GLOBAL;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1775:8: ( 'global' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1775:10: 'global'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1798:8: ( 'global' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1798:10: 'global'
{
match("global"); if (failed) return ;
@@ -1202,8 +1203,8 @@
public final void mRULE() throws RecognitionException {
try {
int _type = RULE;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1777:9: ( 'rule' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1777:11: 'rule'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1800:9: ( 'rule' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1800:11: 'rule'
{
match("rule"); if (failed) return ;
@@ -1221,8 +1222,8 @@
public final void mQUERY() throws RecognitionException {
try {
int _type = QUERY;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1779:7: ( 'query' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1779:9: 'query'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1802:7: ( 'query' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1802:9: 'query'
{
match("query"); if (failed) return ;
@@ -1240,8 +1241,8 @@
public final void mTEMPLATE() throws RecognitionException {
try {
int _type = TEMPLATE;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1781:10: ( 'template' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1781:12: 'template'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1804:10: ( 'template' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1804:12: 'template'
{
match("template"); if (failed) return ;
@@ -1259,8 +1260,8 @@
public final void mATTRIBUTES() throws RecognitionException {
try {
int _type = ATTRIBUTES;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1783:12: ( 'attributes' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1783:14: 'attributes'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1806:12: ( 'attributes' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1806:14: 'attributes'
{
match("attributes"); if (failed) return ;
@@ -1278,8 +1279,8 @@
public final void mDATE_EFFECTIVE() throws RecognitionException {
try {
int _type = DATE_EFFECTIVE;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1786:2: ( 'date-effective' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1786:4: 'date-effective'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1809:2: ( 'date-effective' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1809:4: 'date-effective'
{
match("date-effective"); if (failed) return ;
@@ -1297,8 +1298,8 @@
public final void mDATE_EXPIRES() throws RecognitionException {
try {
int _type = DATE_EXPIRES;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1789:2: ( 'date-expires' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1789:4: 'date-expires'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1812:2: ( 'date-expires' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1812:4: 'date-expires'
{
match("date-expires"); if (failed) return ;
@@ -1316,8 +1317,8 @@
public final void mENABLED() throws RecognitionException {
try {
int _type = ENABLED;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1791:9: ( 'enabled' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1791:11: 'enabled'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1814:9: ( 'enabled' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1814:11: 'enabled'
{
match("enabled"); if (failed) return ;
@@ -1335,8 +1336,8 @@
public final void mSALIENCE() throws RecognitionException {
try {
int _type = SALIENCE;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1794:2: ( 'salience' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1794:4: 'salience'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1817:2: ( 'salience' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1817:4: 'salience'
{
match("salience"); if (failed) return ;
@@ -1354,8 +1355,8 @@
public final void mNO_LOOP() throws RecognitionException {
try {
int _type = NO_LOOP;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1796:9: ( 'no-loop' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1796:11: 'no-loop'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1819:9: ( 'no-loop' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1819:11: 'no-loop'
{
match("no-loop"); if (failed) return ;
@@ -1373,8 +1374,8 @@
public final void mAUTO_FOCUS() throws RecognitionException {
try {
int _type = AUTO_FOCUS;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1799:2: ( 'auto-focus' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1799:4: 'auto-focus'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1822:2: ( 'auto-focus' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1822:4: 'auto-focus'
{
match("auto-focus"); if (failed) return ;
@@ -1392,8 +1393,8 @@
public final void mACTIVATION_GROUP() throws RecognitionException {
try {
int _type = ACTIVATION_GROUP;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1802:2: ( 'activation-group' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1802:4: 'activation-group'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1825:2: ( 'activation-group' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1825:4: 'activation-group'
{
match("activation-group"); if (failed) return ;
@@ -1411,8 +1412,8 @@
public final void mAGENDA_GROUP() throws RecognitionException {
try {
int _type = AGENDA_GROUP;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1805:2: ( 'agenda-group' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1805:4: 'agenda-group'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1828:2: ( 'agenda-group' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1828:4: 'agenda-group'
{
match("agenda-group"); if (failed) return ;
@@ -1430,8 +1431,8 @@
public final void mDIALECT() throws RecognitionException {
try {
int _type = DIALECT;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1808:2: ( 'dialect' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1808:4: 'dialect'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1831:2: ( 'dialect' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1831:4: 'dialect'
{
match("dialect"); if (failed) return ;
@@ -1449,8 +1450,8 @@
public final void mRULEFLOW_GROUP() throws RecognitionException {
try {
int _type = RULEFLOW_GROUP;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1811:2: ( 'ruleflow-group' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1811:4: 'ruleflow-group'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1834:2: ( 'ruleflow-group' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1834:4: 'ruleflow-group'
{
match("ruleflow-group"); if (failed) return ;
@@ -1468,8 +1469,8 @@
public final void mDURATION() throws RecognitionException {
try {
int _type = DURATION;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1814:2: ( 'duration' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1814:4: 'duration'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1837:2: ( 'duration' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1837:4: 'duration'
{
match("duration"); if (failed) return ;
@@ -1487,8 +1488,8 @@
public final void mLOCK_ON_ACTIVE() throws RecognitionException {
try {
int _type = LOCK_ON_ACTIVE;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1817:2: ( 'lock-on-active' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1817:4: 'lock-on-active'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1840:2: ( 'lock-on-active' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1840:4: 'lock-on-active'
{
match("lock-on-active"); if (failed) return ;
@@ -1506,8 +1507,8 @@
public final void mFROM() throws RecognitionException {
try {
int _type = FROM;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1819:6: ( 'from' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1819:8: 'from'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1842:6: ( 'from' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1842:8: 'from'
{
match("from"); if (failed) return ;
@@ -1525,8 +1526,8 @@
public final void mACCUMULATE() throws RecognitionException {
try {
int _type = ACCUMULATE;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1822:2: ( 'accumulate' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1822:4: 'accumulate'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1845:2: ( 'accumulate' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1845:4: 'accumulate'
{
match("accumulate"); if (failed) return ;
@@ -1544,8 +1545,8 @@
public final void mINIT() throws RecognitionException {
try {
int _type = INIT;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1824:6: ( 'init' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1824:8: 'init'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1847:6: ( 'init' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1847:8: 'init'
{
match("init"); if (failed) return ;
@@ -1563,8 +1564,8 @@
public final void mACTION() throws RecognitionException {
try {
int _type = ACTION;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1826:8: ( 'action' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1826:10: 'action'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1849:8: ( 'action' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1849:10: 'action'
{
match("action"); if (failed) return ;
@@ -1582,8 +1583,8 @@
public final void mREVERSE() throws RecognitionException {
try {
int _type = REVERSE;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1828:9: ( 'reverse' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1828:11: 'reverse'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1851:9: ( 'reverse' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1851:11: 'reverse'
{
match("reverse"); if (failed) return ;
@@ -1601,8 +1602,8 @@
public final void mRESULT() throws RecognitionException {
try {
int _type = RESULT;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1830:8: ( 'result' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1830:10: 'result'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1853:8: ( 'result' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1853:10: 'result'
{
match("result"); if (failed) return ;
@@ -1620,8 +1621,8 @@
public final void mCOLLECT() throws RecognitionException {
try {
int _type = COLLECT;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1832:9: ( 'collect' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1832:11: 'collect'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1855:9: ( 'collect' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1855:11: 'collect'
{
match("collect"); if (failed) return ;
@@ -1635,12 +1636,31 @@
}
// $ANTLR end COLLECT
+ // $ANTLR start ENTRY_POINT
+ public final void mENTRY_POINT() throws RecognitionException {
+ try {
+ int _type = ENTRY_POINT;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1857:13: ( 'entry-point' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1857:15: 'entry-point'
+ {
+ match("entry-point"); if (failed) return ;
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end ENTRY_POINT
+
// $ANTLR start OR
public final void mOR() throws RecognitionException {
try {
int _type = OR;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1834:4: ( 'or' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1834:6: 'or'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1859:4: ( 'or' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1859:6: 'or'
{
match("or"); if (failed) return ;
@@ -1658,8 +1678,8 @@
public final void mAND() throws RecognitionException {
try {
int _type = AND;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1836:5: ( 'and' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1836:7: 'and'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1861:5: ( 'and' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1861:7: 'and'
{
match("and"); if (failed) return ;
@@ -1677,8 +1697,8 @@
public final void mCONTAINS() throws RecognitionException {
try {
int _type = CONTAINS;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1839:8: ( 'contains' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1839:16: 'contains'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1864:8: ( 'contains' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1864:16: 'contains'
{
match("contains"); if (failed) return ;
@@ -1696,8 +1716,8 @@
public final void mEXCLUDES() throws RecognitionException {
try {
int _type = EXCLUDES;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1842:8: ( 'excludes' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1842:16: 'excludes'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1867:8: ( 'excludes' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1867:16: 'excludes'
{
match("excludes"); if (failed) return ;
@@ -1715,8 +1735,8 @@
public final void mMEMBEROF() throws RecognitionException {
try {
int _type = MEMBEROF;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1845:8: ( 'memberOf' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1845:16: 'memberOf'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1870:8: ( 'memberOf' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1870:16: 'memberOf'
{
match("memberOf"); if (failed) return ;
@@ -1734,8 +1754,8 @@
public final void mMATCHES() throws RecognitionException {
try {
int _type = MATCHES;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1847:9: ( 'matches' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1847:16: 'matches'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1872:9: ( 'matches' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1872:16: 'matches'
{
match("matches"); if (failed) return ;
@@ -1753,8 +1773,8 @@
public final void mSOUNDSLIKE() throws RecognitionException {
try {
int _type = SOUNDSLIKE;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1849:12: ( 'soundslike' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1849:16: 'soundslike'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1874:12: ( 'soundslike' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1874:16: 'soundslike'
{
match("soundslike"); if (failed) return ;
@@ -1772,8 +1792,8 @@
public final void mIN() throws RecognitionException {
try {
int _type = IN;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1851:4: ( 'in' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1851:6: 'in'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1876:4: ( 'in' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1876:6: 'in'
{
match("in"); if (failed) return ;
@@ -1791,8 +1811,8 @@
public final void mNULL() throws RecognitionException {
try {
int _type = NULL;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1853:6: ( 'null' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1853:8: 'null'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1878:6: ( 'null' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1878:8: 'null'
{
match("null"); if (failed) return ;
@@ -1810,8 +1830,8 @@
public final void mEXISTS() throws RecognitionException {
try {
int _type = EXISTS;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1855:8: ( 'exists' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1855:10: 'exists'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1880:8: ( 'exists' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1880:10: 'exists'
{
match("exists"); if (failed) return ;
@@ -1829,8 +1849,8 @@
public final void mNOT() throws RecognitionException {
try {
int _type = NOT;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1857:5: ( 'not' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1857:7: 'not'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1882:5: ( 'not' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1882:7: 'not'
{
match("not"); if (failed) return ;
@@ -1848,8 +1868,8 @@
public final void mEVAL() throws RecognitionException {
try {
int _type = EVAL;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1859:6: ( 'eval' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1859:8: 'eval'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1884:6: ( 'eval' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1884:8: 'eval'
{
match("eval"); if (failed) return ;
@@ -1867,8 +1887,8 @@
public final void mFORALL() throws RecognitionException {
try {
int _type = FORALL;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1861:8: ( 'forall' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1861:10: 'forall'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1886:8: ( 'forall' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1886:10: 'forall'
{
match("forall"); if (failed) return ;
@@ -1886,8 +1906,8 @@
public final void mWHEN() throws RecognitionException {
try {
int _type = WHEN;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1863:9: ( 'when' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1863:11: 'when'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1888:9: ( 'when' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1888:11: 'when'
{
match("when"); if (failed) return ;
@@ -1905,8 +1925,8 @@
public final void mTHEN() throws RecognitionException {
try {
int _type = THEN;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1865:6: ( 'then' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1865:12: 'then'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1890:6: ( 'then' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1890:12: 'then'
{
match("then"); if (failed) return ;
@@ -1924,8 +1944,8 @@
public final void mEND() throws RecognitionException {
try {
int _type = END;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1867:9: ( 'end' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1867:11: 'end'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1892:9: ( 'end' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1892:11: 'end'
{
match("end"); if (failed) return ;
@@ -1943,8 +1963,8 @@
public final void mID() throws RecognitionException {
try {
int _type = ID;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1870:2: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' | '\\u00c0' .. '\\u00ff' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )* )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1870:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' | '\\u00c0' .. '\\u00ff' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1895:2: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' | '\\u00c0' .. '\\u00ff' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )* )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1895:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' | '\\u00c0' .. '\\u00ff' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )*
{
if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00FF') ) {
input.consume();
@@ -1957,7 +1977,7 @@
recover(mse); throw mse;
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1870:50: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1895:50: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )*
loop14:
do {
int alt14=2;
@@ -2006,8 +2026,8 @@
public final void mLEFT_PAREN() throws RecognitionException {
try {
int _type = LEFT_PAREN;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1874:9: ( '(' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1874:11: '('
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1899:9: ( '(' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1899:11: '('
{
match('('); if (failed) return ;
@@ -2024,8 +2044,8 @@
public final void mRIGHT_PAREN() throws RecognitionException {
try {
int _type = RIGHT_PAREN;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1878:9: ( ')' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1878:11: ')'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1903:9: ( ')' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1903:11: ')'
{
match(')'); if (failed) return ;
@@ -2042,8 +2062,8 @@
public final void mLEFT_SQUARE() throws RecognitionException {
try {
int _type = LEFT_SQUARE;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1882:9: ( '[' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1882:11: '['
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1907:9: ( '[' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1907:11: '['
{
match('['); if (failed) return ;
@@ -2060,8 +2080,8 @@
public final void mRIGHT_SQUARE() throws RecognitionException {
try {
int _type = RIGHT_SQUARE;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1886:9: ( ']' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1886:11: ']'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1911:9: ( ']' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1911:11: ']'
{
match(']'); if (failed) return ;
@@ -2078,8 +2098,8 @@
public final void mLEFT_CURLY() throws RecognitionException {
try {
int _type = LEFT_CURLY;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1890:9: ( '{' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1890:11: '{'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1915:9: ( '{' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1915:11: '{'
{
match('{'); if (failed) return ;
@@ -2096,8 +2116,8 @@
public final void mRIGHT_CURLY() throws RecognitionException {
try {
int _type = RIGHT_CURLY;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1894:9: ( '}' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1894:11: '}'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1919:9: ( '}' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1919:11: '}'
{
match('}'); if (failed) return ;
@@ -2114,8 +2134,8 @@
public final void mCOMMA() throws RecognitionException {
try {
int _type = COMMA;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1897:7: ( ',' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1897:9: ','
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1922:7: ( ',' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1922:9: ','
{
match(','); if (failed) return ;
@@ -2132,8 +2152,8 @@
public final void mDOT() throws RecognitionException {
try {
int _type = DOT;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1900:5: ( '.' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1900:7: '.'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1925:5: ( '.' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1925:7: '.'
{
match('.'); if (failed) return ;
@@ -2150,8 +2170,8 @@
public final void mDOUBLE_AMPER() throws RecognitionException {
try {
int _type = DOUBLE_AMPER;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1904:2: ( '&&' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1904:4: '&&'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1929:2: ( '&&' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1929:4: '&&'
{
match("&&"); if (failed) return ;
@@ -2169,8 +2189,8 @@
public final void mDOUBLE_PIPE() throws RecognitionException {
try {
int _type = DOUBLE_PIPE;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1908:2: ( '||' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1908:4: '||'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1933:2: ( '||' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1933:4: '||'
{
match("||"); if (failed) return ;
@@ -2188,8 +2208,8 @@
public final void mTILDE() throws RecognitionException {
try {
int _type = TILDE;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1911:7: ( '~' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1911:9: '~'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1936:7: ( '~' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1936:9: '~'
{
match('~'); if (failed) return ;
@@ -2206,11 +2226,11 @@
public final void mSH_STYLE_SINGLE_LINE_COMMENT() throws RecognitionException {
try {
int _type = SH_STYLE_SINGLE_LINE_COMMENT;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1914:2: ( '#' ( options {greedy=false; } : . )* EOL )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1914:4: '#' ( options {greedy=false; } : . )* EOL
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1939:2: ( '#' ( options {greedy=false; } : . )* EOL )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1939:4: '#' ( options {greedy=false; } : . )* EOL
{
match('#'); if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1914:8: ( options {greedy=false; } : . )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1939:8: ( options {greedy=false; } : . )*
loop15:
do {
int alt15=2;
@@ -2229,7 +2249,7 @@
switch (alt15) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1914:35: .
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1939:35: .
{
matchAny(); if (failed) return ;
@@ -2259,12 +2279,12 @@
public final void mC_STYLE_SINGLE_LINE_COMMENT() throws RecognitionException {
try {
int _type = C_STYLE_SINGLE_LINE_COMMENT;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1920:2: ( '//' ( options {greedy=false; } : . )* EOL )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1920:4: '//' ( options {greedy=false; } : . )* EOL
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1945:2: ( '//' ( options {greedy=false; } : . )* EOL )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1945:4: '//' ( options {greedy=false; } : . )* EOL
{
match("//"); if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1920:9: ( options {greedy=false; } : . )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1945:9: ( options {greedy=false; } : . )*
loop16:
do {
int alt16=2;
@@ -2283,7 +2303,7 @@
switch (alt16) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1920:36: .
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1945:36: .
{
matchAny(); if (failed) return ;
@@ -2313,12 +2333,12 @@
public final void mMULTI_LINE_COMMENT() throws RecognitionException {
try {
int _type = MULTI_LINE_COMMENT;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1925:2: ( '/*' ( options {greedy=false; } : . )* '*/' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1925:4: '/*' ( options {greedy=false; } : . )* '*/'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1950:2: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1950:4: '/*' ( options {greedy=false; } : . )* '*/'
{
match("/*"); if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1925:9: ( options {greedy=false; } : . )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1950:9: ( options {greedy=false; } : . )*
loop17:
do {
int alt17=2;
@@ -2343,7 +2363,7 @@
switch (alt17) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1925:35: .
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1950:35: .
{
matchAny(); if (failed) return ;
@@ -2374,7 +2394,7 @@
public final void mMISC() throws RecognitionException {
try {
int _type = MISC;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1929:7: ( '!' | '@' | '$' | '%' | '^' | '*' | '_' | '-' | '+' | '?' | '=' | '/' | '\\'' | '\\\\' | '|' | '&' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1954:7: ( '!' | '@' | '$' | '%' | '^' | '*' | '_' | '-' | '+' | '?' | '=' | '/' | '\\'' | '\\\\' | '|' | '&' )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:
{
if ( input.LA(1)=='!'||(input.LA(1)>='$' && input.LA(1)<='\'')||(input.LA(1)>='*' && input.LA(1)<='+')||input.LA(1)=='-'||input.LA(1)=='/'||input.LA(1)=='='||(input.LA(1)>='?' && input.LA(1)<='@')||input.LA(1)=='\\'||(input.LA(1)>='^' && input.LA(1)<='_')||input.LA(1)=='|' ) {
@@ -2399,77 +2419,77 @@
// $ANTLR end MISC
public void mTokens() throws RecognitionException {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:8: ( T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | WS | INT | FLOAT | STRING | BOOL | PACKAGE | IMPORT | FUNCTION | EVENT | GLOBAL | RULE | QUERY | TEMPLATE | ATTRIBUTES | DATE_EFFECTIVE | DATE_EXPIRES | ENABLED | SALIENCE | NO_LOOP | AUTO_FOCUS | ACTIVATION_GROUP | AGENDA_GROUP | DIALECT | RULEFLOW_GROUP | DURATION | LOCK_ON_ACTIVE | FROM | ACCUMULATE | INIT | ACTION | REVERSE | RESULT | COLLECT | OR | AND | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | SOUNDSLIKE | IN | NULL | EXISTS | NOT | EVAL | FORALL | WHEN | THEN | END | ID | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | DOUBLE_AMPER | DOUBLE_PIPE | TILDE | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | MULTI_LINE_COMMENT | MISC )
- int alt18=75;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:8: ( T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | WS | INT | FLOAT | STRING | BOOL | PACKAGE | IMPORT | FUNCTION | EVENT | GLOBAL | RULE | QUERY | TEMPLATE | ATTRIBUTES | DATE_EFFECTIVE | DATE_EXPIRES | ENABLED | SALIENCE | NO_LOOP | AUTO_FOCUS | ACTIVATION_GROUP | AGENDA_GROUP | DIALECT | RULEFLOW_GROUP | DURATION | LOCK_ON_ACTIVE | FROM | ACCUMULATE | INIT | ACTION | REVERSE | RESULT | COLLECT | ENTRY_POINT | OR | AND | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | SOUNDSLIKE | IN | NULL | EXISTS | NOT | EVAL | FORALL | WHEN | THEN | END | ID | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | DOUBLE_AMPER | DOUBLE_PIPE | TILDE | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | MULTI_LINE_COMMENT | MISC )
+ int alt18=76;
alt18 = dfa18.predict(input);
switch (alt18) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:10: T74
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:10: T75
{
- mT74(); if (failed) return ;
+ mT75(); if (failed) return ;
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:14: T75
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:14: T76
{
- mT75(); if (failed) return ;
+ mT76(); if (failed) return ;
}
break;
case 3 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:18: T76
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:18: T77
{
- mT76(); if (failed) return ;
+ mT77(); if (failed) return ;
}
break;
case 4 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:22: T77
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:22: T78
{
- mT77(); if (failed) return ;
+ mT78(); if (failed) return ;
}
break;
case 5 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:26: T78
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:26: T79
{
- mT78(); if (failed) return ;
+ mT79(); if (failed) return ;
}
break;
case 6 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:30: T79
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:30: T80
{
- mT79(); if (failed) return ;
+ mT80(); if (failed) return ;
}
break;
case 7 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:34: T80
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:34: T81
{
- mT80(); if (failed) return ;
+ mT81(); if (failed) return ;
}
break;
case 8 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:38: T81
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:38: T82
{
- mT81(); if (failed) return ;
+ mT82(); if (failed) return ;
}
break;
case 9 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:42: T82
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:42: T83
{
- mT82(); if (failed) return ;
+ mT83(); if (failed) return ;
}
break;
case 10 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:46: T83
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:46: T84
{
- mT83(); if (failed) return ;
+ mT84(); if (failed) return ;
}
break;
@@ -2705,225 +2725,232 @@
}
break;
case 44 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:335: OR
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:335: ENTRY_POINT
{
- mOR(); if (failed) return ;
+ mENTRY_POINT(); if (failed) return ;
}
break;
case 45 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:338: AND
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:347: OR
{
- mAND(); if (failed) return ;
+ mOR(); if (failed) return ;
}
break;
case 46 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:342: CONTAINS
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:350: AND
{
- mCONTAINS(); if (failed) return ;
+ mAND(); if (failed) return ;
}
break;
case 47 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:351: EXCLUDES
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:354: CONTAINS
{
- mEXCLUDES(); if (failed) return ;
+ mCONTAINS(); if (failed) return ;
}
break;
case 48 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:360: MEMBEROF
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:363: EXCLUDES
{
- mMEMBEROF(); if (failed) return ;
+ mEXCLUDES(); if (failed) return ;
}
break;
case 49 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:369: MATCHES
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:372: MEMBEROF
{
- mMATCHES(); if (failed) return ;
+ mMEMBEROF(); if (failed) return ;
}
break;
case 50 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:377: SOUNDSLIKE
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:381: MATCHES
{
- mSOUNDSLIKE(); if (failed) return ;
+ mMATCHES(); if (failed) return ;
}
break;
case 51 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:388: IN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:389: SOUNDSLIKE
{
- mIN(); if (failed) return ;
+ mSOUNDSLIKE(); if (failed) return ;
}
break;
case 52 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:391: NULL
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:400: IN
{
- mNULL(); if (failed) return ;
+ mIN(); if (failed) return ;
}
break;
case 53 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:396: EXISTS
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:403: NULL
{
- mEXISTS(); if (failed) return ;
+ mNULL(); if (failed) return ;
}
break;
case 54 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:403: NOT
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:408: EXISTS
{
- mNOT(); if (failed) return ;
+ mEXISTS(); if (failed) return ;
}
break;
case 55 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:407: EVAL
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:415: NOT
{
- mEVAL(); if (failed) return ;
+ mNOT(); if (failed) return ;
}
break;
case 56 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:412: FORALL
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:419: EVAL
{
- mFORALL(); if (failed) return ;
+ mEVAL(); if (failed) return ;
}
break;
case 57 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:419: WHEN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:424: FORALL
{
- mWHEN(); if (failed) return ;
+ mFORALL(); if (failed) return ;
}
break;
case 58 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:424: THEN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:431: WHEN
{
- mTHEN(); if (failed) return ;
+ mWHEN(); if (failed) return ;
}
break;
case 59 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:429: END
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:436: THEN
{
- mEND(); if (failed) return ;
+ mTHEN(); if (failed) return ;
}
break;
case 60 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:433: ID
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:441: END
{
- mID(); if (failed) return ;
+ mEND(); if (failed) return ;
}
break;
case 61 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:436: LEFT_PAREN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:445: ID
{
- mLEFT_PAREN(); if (failed) return ;
+ mID(); if (failed) return ;
}
break;
case 62 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:447: RIGHT_PAREN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:448: LEFT_PAREN
{
- mRIGHT_PAREN(); if (failed) return ;
+ mLEFT_PAREN(); if (failed) return ;
}
break;
case 63 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:459: LEFT_SQUARE
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:459: RIGHT_PAREN
{
- mLEFT_SQUARE(); if (failed) return ;
+ mRIGHT_PAREN(); if (failed) return ;
}
break;
case 64 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:471: RIGHT_SQUARE
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:471: LEFT_SQUARE
{
- mRIGHT_SQUARE(); if (failed) return ;
+ mLEFT_SQUARE(); if (failed) return ;
}
break;
case 65 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:484: LEFT_CURLY
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:483: RIGHT_SQUARE
{
- mLEFT_CURLY(); if (failed) return ;
+ mRIGHT_SQUARE(); if (failed) return ;
}
break;
case 66 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:495: RIGHT_CURLY
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:496: LEFT_CURLY
{
- mRIGHT_CURLY(); if (failed) return ;
+ mLEFT_CURLY(); if (failed) return ;
}
break;
case 67 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:507: COMMA
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:507: RIGHT_CURLY
{
- mCOMMA(); if (failed) return ;
+ mRIGHT_CURLY(); if (failed) return ;
}
break;
case 68 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:513: DOT
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:519: COMMA
{
- mDOT(); if (failed) return ;
+ mCOMMA(); if (failed) return ;
}
break;
case 69 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:517: DOUBLE_AMPER
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:525: DOT
{
- mDOUBLE_AMPER(); if (failed) return ;
+ mDOT(); if (failed) return ;
}
break;
case 70 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:530: DOUBLE_PIPE
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:529: DOUBLE_AMPER
{
- mDOUBLE_PIPE(); if (failed) return ;
+ mDOUBLE_AMPER(); if (failed) return ;
}
break;
case 71 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:542: TILDE
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:542: DOUBLE_PIPE
{
- mTILDE(); if (failed) return ;
+ mDOUBLE_PIPE(); if (failed) return ;
}
break;
case 72 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:548: SH_STYLE_SINGLE_LINE_COMMENT
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:554: TILDE
{
- mSH_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
+ mTILDE(); if (failed) return ;
}
break;
case 73 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:577: C_STYLE_SINGLE_LINE_COMMENT
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:560: SH_STYLE_SINGLE_LINE_COMMENT
{
- mC_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
+ mSH_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
}
break;
case 74 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:605: MULTI_LINE_COMMENT
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:589: C_STYLE_SINGLE_LINE_COMMENT
{
- mMULTI_LINE_COMMENT(); if (failed) return ;
+ mC_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
}
break;
case 75 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:624: MISC
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:617: MULTI_LINE_COMMENT
{
+ mMULTI_LINE_COMMENT(); if (failed) return ;
+
+ }
+ break;
+ case 76 :
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:636: MISC
+ {
mMISC(); if (failed) return ;
}
@@ -2935,8 +2962,8 @@
// $ANTLR start synpred1
public final void synpred1_fragment() throws RecognitionException {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1719:14: ( '\\r\\n' )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1719:16: '\\r\\n'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1742:14: ( '\\r\\n' )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1742:16: '\\r\\n'
{
match("\r\n"); if (failed) return ;
@@ -2964,90 +2991,91 @@
protected DFA18 dfa18 = new DFA18(this);
static final String DFA18_eotS =
"\2\uffff\1\56\1\uffff\2\54\1\62\1\64\1\54\1\uffff\1\67\1\uffff\1"+
- "\54\21\53\10\uffff\2\54\2\uffff\1\54\15\uffff\10\53\1\150\26\53"+
- "\1\u0086\3\53\4\uffff\11\53\1\uffff\5\53\1\u0098\11\53\1\u00a2\10"+
- "\53\1\uffff\1\u00ab\3\53\1\uffff\3\53\1\u00b2\1\u00b3\1\53\1\u00b5"+
- "\4\53\1\u00ba\3\53\1\u00be\1\53\1\uffff\4\53\1\u00c5\4\53\1\uffff"+
- "\7\53\1\u00d2\1\uffff\5\53\1\u00d8\2\uffff\1\53\1\uffff\1\53\1\u00b2"+
- "\2\53\1\uffff\3\53\1\uffff\1\u00e0\5\53\1\uffff\1\u00e6\4\53\1\uffff"+
- "\2\53\1\uffff\3\53\2\uffff\4\53\1\uffff\1\53\1\u00f6\2\53\1\u00f9"+
- "\1\53\1\u00fb\1\uffff\1\53\1\u00fd\1\53\1\u00ff\1\53\1\uffff\1\u0101"+
- "\5\53\1\uffff\10\53\1\uffff\1\53\1\u0112\1\uffff\1\53\1\uffff\1"+
- "\u0114\1\uffff\1\u0115\1\uffff\1\53\1\uffff\3\53\1\uffff\1\53\2"+
- "\uffff\1\u011b\3\53\1\u011f\1\u0120\1\53\1\u0122\1\u0123\1\uffff"+
- "\1\u0124\2\uffff\4\53\1\u0129\1\uffff\1\u012a\1\53\1\u012c\2\uffff"+
- "\1\u012d\4\uffff\3\53\2\uffff\1\53\2\uffff\1\53\1\u0133\1\u0134"+
- "\1\u0135\4\uffff";
+ "\54\21\53\10\uffff\2\54\2\uffff\1\54\15\uffff\11\53\1\151\25\53"+
+ "\1\u0087\3\53\4\uffff\12\53\1\uffff\2\53\1\u0097\12\53\1\u00a2\11"+
+ "\53\1\uffff\1\u00ac\4\53\1\uffff\3\53\1\u00b4\1\u00b5\2\53\1\u00b8"+
+ "\4\53\1\u00bd\2\53\1\uffff\2\53\1\u00c2\2\53\1\u00c6\4\53\1\uffff"+
+ "\11\53\1\uffff\1\u00d5\5\53\1\u00db\2\uffff\2\53\1\uffff\1\53\1"+
+ "\u00b5\2\53\1\uffff\4\53\1\uffff\1\u00e5\2\53\1\uffff\2\53\1\u00ea"+
+ "\1\uffff\6\53\1\uffff\3\53\2\uffff\4\53\1\uffff\2\53\1\u00fb\1\53"+
+ "\1\u00fd\1\53\1\u00ff\1\53\2\uffff\1\u0101\2\53\1\u0104\1\uffff"+
+ "\3\53\1\u0108\2\53\1\uffff\11\53\1\uffff\1\u0116\1\uffff\1\53\1"+
+ "\uffff\1\u0118\1\uffff\1\53\1\u011a\1\uffff\1\53\1\uffff\1\53\1"+
+ "\uffff\1\53\1\u011e\2\uffff\3\53\1\u0122\1\53\1\u0124\1\53\1\u0126"+
+ "\1\u0127\1\uffff\1\u0128\1\uffff\1\53\1\uffff\3\53\1\uffff\1\u012d"+
+ "\1\53\1\u012f\1\uffff\1\u0130\1\uffff\1\u0131\4\uffff\3\53\1\uffff"+
+ "\1\53\3\uffff\1\u0136\1\u0137\1\53\1\u0139\4\uffff";
static final String DFA18_eofS =
- "\u0136\uffff";
+ "\u013a\uffff";
static final String DFA18_minS =
"\1\11\1\uffff\1\52\1\uffff\1\60\4\75\1\uffff\1\56\1\uffff\1\0\1"+
"\145\2\141\1\155\1\156\1\154\1\145\1\165\1\143\2\141\3\157\1\162"+
- "\1\141\1\150\10\uffff\1\46\1\174\2\uffff\1\52\15\uffff\1\165\1\145"+
- "\1\155\1\157\1\162\1\154\1\156\1\143\1\60\1\160\1\143\2\141\1\157"+
- "\1\163\1\154\1\145\1\143\1\164\1\144\1\164\1\145\1\162\1\164\1\141"+
- "\1\154\1\165\1\154\1\55\1\143\1\154\1\60\1\164\1\155\1\145\4\uffff"+
- "\1\145\1\156\1\160\1\155\1\141\1\163\1\143\1\153\1\164\1\uffff\1"+
- "\157\1\154\1\163\1\154\1\156\1\60\2\142\1\145\1\165\1\145\1\162"+
- "\1\151\1\165\1\162\1\60\1\157\1\156\1\141\1\145\1\154\1\151\1\156"+
- "\1\154\1\uffff\1\60\1\153\1\164\1\154\1\uffff\1\143\1\142\1\156"+
- "\2\60\1\154\1\60\1\154\1\145\1\164\1\141\1\60\1\162\1\165\1\164"+
- "\1\60\1\164\1\uffff\1\154\1\141\1\162\1\154\1\60\1\171\1\157\1\155"+
- "\1\151\1\uffff\1\55\1\144\1\164\1\55\2\145\1\144\1\60\1\uffff\1"+
- "\55\1\141\1\145\1\150\1\145\1\60\2\uffff\1\141\1\uffff\1\154\1\60"+
- "\1\151\1\147\1\uffff\1\164\1\144\1\163\1\uffff\1\60\1\145\1\154"+
- "\1\163\1\164\1\154\1\uffff\1\60\1\156\1\141\1\165\1\142\1\uffff"+
- "\1\141\1\151\1\145\1\143\1\156\1\163\2\uffff\1\151\1\143\1\145\1"+
- "\162\1\uffff\1\164\1\60\1\157\1\145\1\60\1\145\1\60\1\uffff\1\144"+
- "\1\60\1\145\1\60\1\157\1\uffff\1\60\1\164\1\154\1\165\1\55\1\157"+
- "\1\146\1\164\1\143\1\154\1\156\1\164\1\163\1\117\1\145\1\uffff\1"+
- "\156\1\60\1\uffff\1\163\1\uffff\1\60\1\uffff\1\60\1\uffff\1\167"+
- "\1\uffff\1\151\1\141\1\164\1\uffff\1\156\2\uffff\1\60\1\145\1\151"+
- "\1\163\2\60\1\146\2\60\1\uffff\1\60\2\uffff\1\55\1\157\1\164\1\145"+
- "\1\60\1\uffff\1\60\1\153\1\60\2\uffff\1\60\4\uffff\1\156\1\145\1"+
- "\163\2\uffff\1\145\2\uffff\1\55\3\60\4\uffff";
+ "\1\141\1\150\10\uffff\1\46\1\174\2\uffff\1\52\15\uffff\1\145\1\165"+
+ "\1\155\1\156\1\157\1\162\1\154\1\143\1\160\1\60\1\143\2\141\1\157"+
+ "\1\154\1\163\1\145\1\164\1\144\1\164\1\145\1\143\1\141\1\164\1\162"+
+ "\1\165\1\154\1\55\1\154\1\143\1\154\1\60\1\164\1\155\1\145\4\uffff"+
+ "\1\156\1\145\1\160\1\143\1\155\1\141\1\163\1\153\1\157\1\164\1\uffff"+
+ "\1\154\1\163\1\60\1\142\1\162\1\154\1\156\1\142\2\145\1\165\1\162"+
+ "\1\157\1\60\1\162\1\156\1\165\1\151\1\154\1\145\1\141\1\156\1\151"+
+ "\1\uffff\1\60\1\154\1\153\1\154\1\164\1\uffff\1\143\1\142\1\156"+
+ "\2\60\1\154\1\164\1\60\1\154\1\145\1\141\1\162\1\60\1\165\1\164"+
+ "\1\uffff\1\154\1\171\1\60\1\164\1\141\1\60\1\162\1\154\1\171\1\55"+
+ "\1\uffff\1\151\1\144\1\155\1\157\1\145\1\55\1\164\1\144\1\145\1"+
+ "\uffff\1\60\1\55\1\145\1\141\1\150\1\145\1\60\2\uffff\1\141\1\151"+
+ "\1\uffff\1\154\1\60\1\147\1\164\1\uffff\1\144\1\163\1\145\1\55\1"+
+ "\uffff\1\60\2\154\1\uffff\1\163\1\164\1\60\1\uffff\1\142\1\141\1"+
+ "\165\1\156\1\141\1\143\1\145\1\151\1\163\1\156\2\uffff\1\143\1\151"+
+ "\1\145\1\162\1\uffff\1\164\1\157\1\60\1\145\1\60\1\145\1\60\1\144"+
+ "\2\uffff\1\60\1\157\1\145\1\60\1\uffff\1\165\1\55\1\154\1\60\2\164"+
+ "\1\146\1\157\1\154\1\143\1\164\1\156\1\163\1\117\1\145\1\156\1\uffff"+
+ "\1\60\1\uffff\1\163\1\uffff\1\60\1\uffff\1\167\1\60\1\uffff\1\164"+
+ "\1\uffff\1\141\1\uffff\1\151\1\60\2\uffff\1\156\1\151\1\145\1\60"+
+ "\1\163\1\60\1\146\2\60\1\uffff\1\60\1\uffff\1\55\1\uffff\1\145\1"+
+ "\164\1\157\1\uffff\1\60\1\153\1\60\1\uffff\1\60\1\uffff\1\60\4\uffff"+
+ "\1\163\1\145\1\156\1\uffff\1\145\3\uffff\2\60\1\55\1\60\4\uffff";
static final String DFA18_maxS =
"\1\u00ff\1\uffff\1\52\1\uffff\1\76\4\75\1\uffff\1\71\1\uffff\1\ufffe"+
"\1\162\1\165\1\141\1\156\1\170\1\154\4\165\1\157\1\165\2\157\1\162"+
- "\1\145\1\150\10\uffff\1\46\1\174\2\uffff\1\57\15\uffff\1\165\1\145"+
- "\1\155\1\157\1\162\1\154\1\156\1\143\1\u00ff\1\160\1\151\1\145\1"+
- "\144\1\157\1\166\1\154\1\145\2\164\1\144\1\164\1\145\1\162\1\164"+
- "\1\141\1\154\1\165\1\154\1\164\1\143\1\156\1\u00ff\1\164\1\155\1"+
- "\145\4\uffff\1\145\1\156\1\160\1\155\1\141\1\163\1\143\1\153\1\164"+
- "\1\uffff\1\157\1\154\1\163\1\154\1\156\1\u00ff\2\142\1\145\1\165"+
- "\1\145\1\162\1\151\1\165\1\162\1\u00ff\1\157\1\156\1\141\1\145\1"+
- "\154\1\151\1\156\1\154\1\uffff\1\u00ff\1\153\1\164\1\154\1\uffff"+
- "\1\143\1\142\1\156\2\u00ff\1\154\1\u00ff\1\154\1\145\1\164\1\141"+
- "\1\u00ff\1\162\1\165\1\164\1\u00ff\1\164\1\uffff\1\154\1\141\1\162"+
- "\1\154\1\u00ff\1\171\1\166\1\155\1\151\1\uffff\1\55\1\144\1\164"+
- "\1\55\2\145\1\144\1\u00ff\1\uffff\1\55\1\141\1\145\1\150\1\145\1"+
- "\u00ff\2\uffff\1\141\1\uffff\1\154\1\u00ff\1\151\1\147\1\uffff\1"+
- "\164\1\144\1\163\1\uffff\1\u00ff\1\145\1\154\1\163\1\164\1\154\1"+
- "\uffff\1\u00ff\1\156\1\141\1\165\1\142\1\uffff\1\141\1\151\1\145"+
- "\1\143\1\156\1\163\2\uffff\1\151\1\143\1\145\1\162\1\uffff\1\164"+
- "\1\u00ff\1\157\1\145\1\u00ff\1\145\1\u00ff\1\uffff\1\144\1\u00ff"+
- "\1\145\1\u00ff\1\157\1\uffff\1\u00ff\1\164\1\154\1\165\1\55\1\157"+
- "\1\170\1\164\1\143\1\154\1\156\1\164\1\163\1\117\1\145\1\uffff\1"+
- "\156\1\u00ff\1\uffff\1\163\1\uffff\1\u00ff\1\uffff\1\u00ff\1\uffff"+
- "\1\167\1\uffff\1\151\1\141\1\164\1\uffff\1\156\2\uffff\1\u00ff\1"+
- "\145\1\151\1\163\2\u00ff\1\146\2\u00ff\1\uffff\1\u00ff\2\uffff\1"+
- "\55\1\157\1\164\1\145\1\u00ff\1\uffff\1\u00ff\1\153\1\u00ff\2\uffff"+
- "\1\u00ff\4\uffff\1\156\1\145\1\163\2\uffff\1\145\2\uffff\1\55\3"+
- "\u00ff\4\uffff";
+ "\1\145\1\150\10\uffff\1\46\1\174\2\uffff\1\57\15\uffff\1\145\1\165"+
+ "\1\155\1\156\1\157\1\162\1\154\1\143\1\160\1\u00ff\1\151\1\164\1"+
+ "\145\1\157\1\154\1\166\1\145\1\164\1\144\1\164\1\145\1\164\1\141"+
+ "\1\164\1\162\1\165\1\154\1\164\1\154\1\143\1\156\1\u00ff\1\164\1"+
+ "\155\1\145\4\uffff\1\156\1\145\1\160\1\143\1\155\1\141\1\163\1\153"+
+ "\1\157\1\164\1\uffff\1\154\1\163\1\u00ff\1\142\1\162\1\154\1\156"+
+ "\1\142\2\145\1\165\1\162\1\157\1\u00ff\1\162\1\156\1\165\1\151\1"+
+ "\154\1\145\1\141\1\156\1\151\1\uffff\1\u00ff\1\154\1\153\1\154\1"+
+ "\164\1\uffff\1\143\1\142\1\156\2\u00ff\1\154\1\164\1\u00ff\1\154"+
+ "\1\145\1\141\1\162\1\u00ff\1\165\1\164\1\uffff\1\154\1\171\1\u00ff"+
+ "\1\164\1\141\1\u00ff\1\162\1\154\1\171\1\55\1\uffff\1\151\1\144"+
+ "\1\155\1\166\1\145\1\55\1\164\1\144\1\145\1\uffff\1\u00ff\1\55\1"+
+ "\145\1\141\1\150\1\145\1\u00ff\2\uffff\1\141\1\151\1\uffff\1\154"+
+ "\1\u00ff\1\147\1\164\1\uffff\1\144\1\163\1\145\1\55\1\uffff\1\u00ff"+
+ "\2\154\1\uffff\1\163\1\164\1\u00ff\1\uffff\1\142\1\141\1\165\1\156"+
+ "\1\141\1\143\1\145\1\151\1\163\1\156\2\uffff\1\143\1\151\1\145\1"+
+ "\162\1\uffff\1\164\1\157\1\u00ff\1\145\1\u00ff\1\145\1\u00ff\1\144"+
+ "\2\uffff\1\u00ff\1\157\1\145\1\u00ff\1\uffff\1\165\1\55\1\154\1"+
+ "\u00ff\2\164\1\170\1\157\1\154\1\143\1\164\1\156\1\163\1\117\1\145"+
+ "\1\156\1\uffff\1\u00ff\1\uffff\1\163\1\uffff\1\u00ff\1\uffff\1\167"+
+ "\1\u00ff\1\uffff\1\164\1\uffff\1\141\1\uffff\1\151\1\u00ff\2\uffff"+
+ "\1\156\1\151\1\145\1\u00ff\1\163\1\u00ff\1\146\2\u00ff\1\uffff\1"+
+ "\u00ff\1\uffff\1\55\1\uffff\1\145\1\164\1\157\1\uffff\1\u00ff\1"+
+ "\153\1\u00ff\1\uffff\1\u00ff\1\uffff\1\u00ff\4\uffff\1\163\1\145"+
+ "\1\156\1\uffff\1\145\3\uffff\2\u00ff\1\55\1\u00ff\4\uffff";
static final String DFA18_acceptS =
- "\1\uffff\1\1\1\uffff\1\3\5\uffff\1\13\1\uffff\1\16\22\uffff\1\74"+
- "\1\75\1\76\1\77\1\100\1\101\1\102\1\103\2\uffff\1\107\1\110\1\uffff"+
- "\1\74\1\113\1\2\1\104\1\4\1\5\1\7\1\6\1\11\1\10\1\12\1\15\1\14\43"+
- "\uffff\1\105\1\106\1\111\1\112\11\uffff\1\63\30\uffff\1\35\4\uffff"+
- "\1\54\21\uffff\1\73\11\uffff\1\55\10\uffff\1\66\6\uffff\1\17\1\72"+
- "\1\uffff\1\45\4\uffff\1\47\3\uffff\1\67\6\uffff\1\25\5\uffff\1\36"+
- "\6\uffff\1\64\1\44\4\uffff\1\71\7\uffff\1\23\5\uffff\1\26\17\uffff"+
- "\1\70\2\uffff\1\21\1\uffff\1\65\1\uffff\1\24\1\uffff\1\52\1\uffff"+
- "\1\50\3\uffff\1\40\1\uffff\1\31\1\32\11\uffff\1\20\1\uffff\1\33"+
- "\1\51\5\uffff\1\41\3\uffff\1\53\1\61\1\uffff\1\27\1\22\1\57\1\42"+
- "\3\uffff\1\43\1\34\1\uffff\1\56\1\60\4\uffff\1\37\1\46\1\30\1\62";
+ "\1\uffff\1\1\1\uffff\1\3\5\uffff\1\13\1\uffff\1\16\22\uffff\1\75"+
+ "\1\76\1\77\1\100\1\101\1\102\1\103\1\104\2\uffff\1\110\1\111\1\uffff"+
+ "\1\75\1\114\1\2\1\105\1\4\1\5\1\7\1\6\1\11\1\10\1\12\1\15\1\14\43"+
+ "\uffff\1\106\1\107\1\113\1\112\12\uffff\1\64\27\uffff\1\35\5\uffff"+
+ "\1\55\17\uffff\1\74\12\uffff\1\56\11\uffff\1\67\7\uffff\1\73\1\17"+
+ "\2\uffff\1\45\4\uffff\1\47\4\uffff\1\70\3\uffff\1\25\3\uffff\1\36"+
+ "\12\uffff\1\65\1\44\4\uffff\1\72\10\uffff\1\54\1\23\4\uffff\1\26"+
+ "\20\uffff\1\71\1\uffff\1\21\1\uffff\1\66\1\uffff\1\24\2\uffff\1"+
+ "\52\1\uffff\1\40\1\uffff\1\50\2\uffff\1\32\1\31\11\uffff\1\20\1"+
+ "\uffff\1\33\1\uffff\1\51\3\uffff\1\41\3\uffff\1\53\1\uffff\1\62"+
+ "\1\uffff\1\27\1\22\1\60\1\42\3\uffff\1\43\1\uffff\1\34\1\57\1\61"+
+ "\4\uffff\1\30\1\46\1\37\1\63";
static final String DFA18_specialS =
- "\u0136\uffff}>";
+ "\u013a\uffff}>";
static final String[] DFA18_transitionS = {
"\2\11\1\uffff\2\11\22\uffff\1\11\1\10\1\13\1\51\1\36\1\54\1"+
"\46\1\14\1\37\1\40\2\54\1\45\1\4\1\2\1\52\12\12\1\3\1\1\1\7"+
@@ -3067,18 +3095,18 @@
"\1\66\1\uffff\12\12",
"",
"\uffff\13",
- "\1\72\2\uffff\1\71\11\uffff\1\70",
- "\1\75\15\uffff\1\74\2\uffff\1\73\2\uffff\1\76",
+ "\1\72\2\uffff\1\70\11\uffff\1\71",
+ "\1\76\15\uffff\1\75\2\uffff\1\74\2\uffff\1\73",
"\1\77",
- "\1\101\1\100",
- "\1\104\7\uffff\1\103\1\uffff\1\102",
+ "\1\100\1\101",
+ "\1\103\7\uffff\1\104\1\uffff\1\102",
"\1\105",
- "\1\106\17\uffff\1\107",
+ "\1\107\17\uffff\1\106",
"\1\110",
- "\1\111\3\uffff\1\115\6\uffff\1\113\5\uffff\1\112\1\114",
- "\1\117\7\uffff\1\120\13\uffff\1\116",
- "\1\121\15\uffff\1\122",
- "\1\124\5\uffff\1\123",
+ "\1\115\3\uffff\1\114\6\uffff\1\112\5\uffff\1\113\1\111",
+ "\1\117\7\uffff\1\116\13\uffff\1\120",
+ "\1\122\15\uffff\1\121",
+ "\1\123\5\uffff\1\124",
"\1\125",
"\1\126",
"\1\127",
@@ -3096,7 +3124,7 @@
"\1\134",
"",
"",
- "\1\136\4\uffff\1\135",
+ "\1\135\4\uffff\1\136",
"",
"",
"",
@@ -3118,22 +3146,21 @@
"\1\144",
"\1\145",
"\1\146",
- "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\10\53\1\147\21\53"+
+ "\1\147",
+ "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\10\53\1\150\21\53"+
"\105\uffff\100\53",
- "\1\151",
"\1\152\5\uffff\1\153",
- "\1\154\3\uffff\1\155",
- "\1\157\2\uffff\1\156",
- "\1\160",
- "\1\162\2\uffff\1\161",
- "\1\163",
- "\1\164",
- "\1\166\20\uffff\1\165",
+ "\1\155\2\uffff\1\154\17\uffff\1\156",
+ "\1\157\3\uffff\1\160",
+ "\1\161",
+ "\1\162",
+ "\1\164\2\uffff\1\163",
+ "\1\165",
+ "\1\166",
"\1\167",
"\1\170",
"\1\171",
- "\1\172",
- "\1\173",
+ "\1\172\20\uffff\1\173",
"\1\174",
"\1\175",
"\1\176",
@@ -3141,17 +3168,17 @@
"\1\u0080",
"\1\u0081\106\uffff\1\u0082",
"\1\u0083",
- "\1\u0085\1\uffff\1\u0084",
+ "\1\u0084",
+ "\1\u0085\1\uffff\1\u0086",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
- "\1\u0087",
"\1\u0088",
"\1\u0089",
+ "\1\u008a",
"",
"",
"",
"",
- "\1\u008a",
"\1\u008b",
"\1\u008c",
"\1\u008d",
@@ -3160,14 +3187,14 @@
"\1\u0090",
"\1\u0091",
"\1\u0092",
- "",
"\1\u0093",
"\1\u0094",
+ "",
"\1\u0095",
"\1\u0096",
- "\1\u0097",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
+ "\1\u0098",
"\1\u0099",
"\1\u009a",
"\1\u009b",
@@ -3187,92 +3214,92 @@
"\1\u00a8",
"\1\u00a9",
"\1\u00aa",
+ "\1\u00ab",
"",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
- "\1\u00ac",
"\1\u00ad",
"\1\u00ae",
- "",
"\1\u00af",
"\1\u00b0",
+ "",
"\1\u00b1",
+ "\1\u00b2",
+ "\1\u00b3",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
- "\1\u00b4",
- "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
- "\53",
"\1\u00b6",
"\1\u00b7",
- "\1\u00b8",
- "\1\u00b9",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
+ "\1\u00b9",
+ "\1\u00ba",
"\1\u00bb",
"\1\u00bc",
- "\1\u00bd",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
+ "\1\u00be",
"\1\u00bf",
"",
"\1\u00c0",
"\1\u00c1",
- "\1\u00c2",
+ "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
+ "\53",
"\1\u00c3",
- "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\5\53\1\u00c4\24\53"+
+ "\1\u00c4",
+ "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\5\53\1\u00c5\24\53"+
"\105\uffff\100\53",
- "\1\u00c6",
- "\1\u00c7\6\uffff\1\u00c8",
+ "\1\u00c7",
+ "\1\u00c8",
"\1\u00c9",
"\1\u00ca",
"",
"\1\u00cb",
"\1\u00cc",
"\1\u00cd",
- "\1\u00ce",
- "\1\u00cf",
+ "\1\u00ce\6\uffff\1\u00cf",
"\1\u00d0",
"\1\u00d1",
+ "\1\u00d2",
+ "\1\u00d3",
+ "\1\u00d4",
+ "",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
- "",
- "\1\u00d3",
- "\1\u00d4",
- "\1\u00d5",
"\1\u00d6",
"\1\u00d7",
+ "\1\u00d8",
+ "\1\u00d9",
+ "\1\u00da",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
"",
"",
- "\1\u00d9",
+ "\1\u00dc",
+ "\1\u00dd",
"",
- "\1\u00da",
+ "\1\u00de",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
- "\1\u00db",
- "\1\u00dc",
- "",
- "\1\u00dd",
- "\1\u00de",
"\1\u00df",
+ "\1\u00e0",
"",
- "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
- "\53",
"\1\u00e1",
"\1\u00e2",
"\1\u00e3",
"\1\u00e4",
- "\1\u00e5",
"",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
+ "\1\u00e6",
"\1\u00e7",
+ "",
"\1\u00e8",
"\1\u00e9",
- "\1\u00ea",
+ "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
+ "\53",
"",
"\1\u00eb",
"\1\u00ec",
@@ -3280,24 +3307,21 @@
"\1\u00ee",
"\1\u00ef",
"\1\u00f0",
- "",
- "",
"\1\u00f1",
"\1\u00f2",
"\1\u00f3",
"\1\u00f4",
"",
+ "",
"\1\u00f5",
- "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
- "\53",
+ "\1\u00f6",
"\1\u00f7",
"\1\u00f8",
- "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
- "\53",
+ "",
+ "\1\u00f9",
"\1\u00fa",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
- "",
"\1\u00fc",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
@@ -3306,96 +3330,104 @@
"\53",
"\1\u0100",
"",
+ "",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
"\1\u0102",
"\1\u0103",
- "\1\u0104",
+ "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
+ "\53",
+ "",
"\1\u0105",
"\1\u0106",
- "\1\u0107\21\uffff\1\u0108",
+ "\1\u0107",
+ "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
+ "\53",
"\1\u0109",
"\1\u010a",
- "\1\u010b",
- "\1\u010c",
+ "\1\u010c\21\uffff\1\u010b",
"\1\u010d",
"\1\u010e",
"\1\u010f",
"\1\u0110",
+ "\1\u0111",
+ "\1\u0112",
+ "\1\u0113",
+ "\1\u0114",
+ "\1\u0115",
"",
- "\1\u0111",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
"",
- "\1\u0113",
+ "\1\u0117",
"",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
"",
+ "\1\u0119",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
"",
- "\1\u0116",
+ "\1\u011b",
"",
- "\1\u0117",
- "\1\u0118",
- "\1\u0119",
+ "\1\u011c",
"",
- "\1\u011a",
+ "\1\u011d",
+ "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
+ "\53",
"",
"",
+ "\1\u011f",
+ "\1\u0120",
+ "\1\u0121",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
- "\1\u011c",
- "\1\u011d",
- "\1\u011e",
+ "\1\u0123",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
+ "\1\u0125",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
- "\1\u0121",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
- "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
- "\53",
"",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
"",
+ "\1\u0129",
"",
- "\1\u0125",
- "\1\u0126",
- "\1\u0127",
- "\1\u0128",
+ "\1\u012a",
+ "\1\u012b",
+ "\1\u012c",
+ "",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
- "",
+ "\1\u012e",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
- "\1\u012b",
+ "",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
"",
- "",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
"",
"",
"",
"",
- "\1\u012e",
- "\1\u012f",
- "\1\u0130",
+ "\1\u0132",
+ "\1\u0133",
+ "\1\u0134",
"",
+ "\1\u0135",
"",
- "\1\u0131",
"",
"",
- "\1\u0132",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
+ "\1\u0138",
"\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53\105\uffff\100"+
"\53",
"",
@@ -3434,7 +3466,7 @@
this.transition = DFA18_transition;
}
public String getDescription() {
- return "1:1: Tokens : ( T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | WS | INT | FLOAT | STRING | BOOL | PACKAGE | IMPORT | FUNCTION | EVENT | GLOBAL | RULE | QUERY | TEMPLATE | ATTRIBUTES | DATE_EFFECTIVE | DATE_EXPIRES | ENABLED | SALIENCE | NO_LOOP | AUTO_FOCUS | ACTIVATION_GROUP | AGENDA_GROUP | DIALECT | RULEFLOW_GROUP | DURATION | LOCK_ON_ACTIVE | FROM | ACCUMULATE | INIT | ACTION | REVERSE | RESULT | COLLECT | OR | AND | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | SOUNDSLIKE | IN | NULL | EXISTS | NOT | EVAL | FORALL | WHEN | THEN | END | ID | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | DOUBLE_AMPER | DOUBLE_PIPE | TILDE | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | MULTI_LINE_COMMENT | MISC );";
+ return "1:1: Tokens : ( T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | WS | INT | FLOAT | STRING | BOOL | PACKAGE | IMPORT | FUNCTION | EVENT | GLOBAL | RULE | QUERY | TEMPLATE | ATTRIBUTES | DATE_EFFECTIVE | DATE_EXPIRES | ENABLED | SALIENCE | NO_LOOP | AUTO_FOCUS | ACTIVATION_GROUP | AGENDA_GROUP | DIALECT | RULEFLOW_GROUP | DURATION | LOCK_ON_ACTIVE | FROM | ACCUMULATE | INIT | ACTION | REVERSE | RESULT | COLLECT | ENTRY_POINT | OR | AND | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | SOUNDSLIKE | IN | NULL | EXISTS | NOT | EVAL | FORALL | WHEN | THEN | END | ID | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | DOUBLE_AMPER | DOUBLE_PIPE | TILDE | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | MULTI_LINE_COMMENT | MISC );";
}
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0.1 /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g 2007-12-10 14:18:28
+// $ANTLR 3.0.1 /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g 2007-12-16 09:53:56
package org.drools.lang;
import java.util.List;
@@ -17,22 +17,22 @@
import java.util.HashMap;
public class DRLParser extends Parser {
public static final String[] tokenNames = new String[] {
- "<invalid>", "<EOR>", "<DOWN>", "<UP>", "PACKAGE", "IMPORT", "FUNCTION", "EVENT", "ID", "DOT", "GLOBAL", "LEFT_PAREN", "COMMA", "RIGHT_PAREN", "QUERY", "END", "TEMPLATE", "RULE", "WHEN", "ATTRIBUTES", "DATE_EFFECTIVE", "STRING", "DATE_EXPIRES", "ENABLED", "BOOL", "SALIENCE", "INT", "NO_LOOP", "AUTO_FOCUS", "ACTIVATION_GROUP", "RULEFLOW_GROUP", "AGENDA_GROUP", "DURATION", "DIALECT", "LOCK_ON_ACTIVE", "OR", "DOUBLE_PIPE", "AND", "DOUBLE_AMPER", "FROM", "EXISTS", "NOT", "EVAL", "FORALL", "ACCUMULATE", "INIT", "ACTION", "REVERSE", "RESULT", "COLLECT", "CONTAINS", "EXCLUDES", "MATCHES", "SOUNDSLIKE", "MEMBEROF", "TILDE", "IN", "FLOAT", "NULL", "LEFT_CURLY", "RIGHT_CURLY", "LEFT_SQUARE", "RIGHT_SQUARE", "THEN", "EOL", "WS", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT", "MISC", "';'", "'.*'", "':'", "'->'", "'=='", "'>'", "'>='", "'<'", "'<='", "'!='"
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "PACKAGE", "IMPORT", "FUNCTION", "EVENT", "ID", "DOT", "GLOBAL", "LEFT_PAREN", "COMMA", "RIGHT_PAREN", "QUERY", "END", "TEMPLATE", "RULE", "WHEN", "ATTRIBUTES", "DATE_EFFECTIVE", "STRING", "DATE_EXPIRES", "ENABLED", "BOOL", "SALIENCE", "INT", "NO_LOOP", "AUTO_FOCUS", "ACTIVATION_GROUP", "RULEFLOW_GROUP", "AGENDA_GROUP", "DURATION", "DIALECT", "LOCK_ON_ACTIVE", "OR", "DOUBLE_PIPE", "AND", "DOUBLE_AMPER", "FROM", "EXISTS", "NOT", "EVAL", "FORALL", "ACCUMULATE", "INIT", "ACTION", "REVERSE", "RESULT", "COLLECT", "ENTRY_POINT", "CONTAINS", "EXCLUDES", "MATCHES", "SOUNDSLIKE", "MEMBEROF", "TILDE", "IN", "FLOAT", "NULL", "LEFT_CURLY", "RIGHT_CURLY", "LEFT_SQUARE", "RIGHT_SQUARE", "THEN", "EOL", "WS", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT", "MISC", "';'", "'.*'", "':'", "'->'", "'=='", "'>'", "'>='", "'<'", "'<='", "'!='"
};
public static final int COMMA=12;
public static final int EXISTS=40;
public static final int AUTO_FOCUS=28;
public static final int END=15;
- public static final int HexDigit=67;
+ public static final int HexDigit=68;
public static final int FORALL=43;
public static final int TEMPLATE=16;
- public static final int MISC=73;
- public static final int FLOAT=57;
+ public static final int MISC=74;
+ public static final int FLOAT=58;
public static final int QUERY=14;
- public static final int THEN=63;
+ public static final int THEN=64;
public static final int RULE=17;
public static final int INIT=45;
- public static final int TILDE=55;
+ public static final int TILDE=56;
public static final int IMPORT=5;
public static final int PACKAGE=4;
public static final int DATE_EFFECTIVE=20;
@@ -42,58 +42,59 @@
public static final int AND=37;
public static final int FUNCTION=6;
public static final int GLOBAL=10;
- public static final int EscapeSequence=66;
+ public static final int EscapeSequence=67;
public static final int DIALECT=33;
public static final int INT=26;
public static final int LOCK_ON_ACTIVE=34;
public static final int DATE_EXPIRES=22;
- public static final int LEFT_SQUARE=61;
- public static final int CONTAINS=50;
- public static final int SH_STYLE_SINGLE_LINE_COMMENT=70;
+ public static final int LEFT_SQUARE=62;
+ public static final int CONTAINS=51;
+ public static final int SH_STYLE_SINGLE_LINE_COMMENT=71;
public static final int ATTRIBUTES=19;
public static final int EVENT=7;
- public static final int LEFT_CURLY=59;
+ public static final int LEFT_CURLY=60;
public static final int RESULT=48;
public static final int ID=8;
public static final int FROM=39;
public static final int LEFT_PAREN=11;
public static final int ACTIVATION_GROUP=29;
public static final int DOUBLE_AMPER=38;
- public static final int RIGHT_CURLY=60;
- public static final int SOUNDSLIKE=53;
- public static final int EXCLUDES=51;
+ public static final int RIGHT_CURLY=61;
+ public static final int SOUNDSLIKE=54;
+ public static final int EXCLUDES=52;
public static final int BOOL=24;
- public static final int MEMBEROF=54;
+ public static final int MEMBEROF=55;
public static final int WHEN=18;
public static final int RULEFLOW_GROUP=30;
- public static final int WS=65;
+ public static final int WS=66;
public static final int STRING=21;
public static final int ACTION=46;
public static final int COLLECT=49;
- public static final int IN=56;
+ public static final int IN=57;
public static final int REVERSE=47;
public static final int ACCUMULATE=44;
public static final int NO_LOOP=27;
- public static final int UnicodeEscape=68;
+ public static final int UnicodeEscape=69;
public static final int DURATION=32;
public static final int EVAL=42;
- public static final int MATCHES=52;
+ public static final int MATCHES=53;
public static final int EOF=-1;
- public static final int EOL=64;
- public static final int NULL=58;
+ public static final int EOL=65;
+ public static final int NULL=59;
public static final int AGENDA_GROUP=31;
- public static final int OctalEscape=69;
+ public static final int OctalEscape=70;
public static final int SALIENCE=25;
- public static final int MULTI_LINE_COMMENT=72;
+ public static final int MULTI_LINE_COMMENT=73;
public static final int RIGHT_PAREN=13;
public static final int NOT=41;
public static final int ENABLED=23;
- public static final int RIGHT_SQUARE=62;
- public static final int C_STYLE_SINGLE_LINE_COMMENT=71;
+ public static final int RIGHT_SQUARE=63;
+ public static final int C_STYLE_SINGLE_LINE_COMMENT=72;
+ public static final int ENTRY_POINT=50;
public DRLParser(TokenStream input) {
super(input);
- ruleMemo = new HashMap[81+1];
+ ruleMemo = new HashMap[85+1];
}
@@ -290,14 +291,14 @@
int alt1=2;
int LA1_0 = input.LA(1);
- if ( (LA1_0==74) ) {
+ if ( (LA1_0==75) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:196:4: ';'
{
- match(input,74,FOLLOW_74_in_opt_semicolon39); if (failed) return ;
+ match(input,75,FOLLOW_75_in_opt_semicolon39); if (failed) return ;
}
break;
@@ -898,7 +899,7 @@
int alt6=2;
int LA6_0 = input.LA(1);
- if ( (LA6_0==75) ) {
+ if ( (LA6_0==76) ) {
alt6=1;
}
switch (alt6) {
@@ -906,7 +907,7 @@
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:312:5: star= '.*'
{
star=(Token)input.LT(1);
- match(input,75,FOLLOW_75_in_import_name445); if (failed) return name;
+ match(input,76,FOLLOW_76_in_import_name445); if (failed) return name;
if ( backtracking==0 ) {
name = name + star.getText();
@@ -1261,7 +1262,7 @@
Token paramName=null;
Token QUERY8=null;
Token END9=null;
- String queryName = null;
+ name_return queryName = null;
qualified_id_return paramType = null;
@@ -1285,7 +1286,7 @@
if (failed) return query;
if ( backtracking==0 ) {
- query = factory.createQuery( queryName );
+ query = factory.createQuery( queryName.name );
query.setLocation( offset(QUERY8.getLine()), QUERY8.getCharPositionInLine() );
query.setStartCharacter( ((CommonToken)QUERY8).getStartIndex() );
lhs = new AndDescr(); query.setLhs( lhs );
@@ -1466,7 +1467,7 @@
Token TEMPLATE10=null;
Token END11=null;
- String templateName = null;
+ name_return templateName = null;
FieldTemplateDescr slot = null;
@@ -1490,7 +1491,7 @@
if (failed) return template;
if ( backtracking==0 ) {
- template = new FactTemplateDescr(templateName);
+ template = new FactTemplateDescr(templateName.name);
template.setLocation( offset(TEMPLATE10.getLine()), TEMPLATE10.getCharPositionInLine() );
template.setStartCharacter( ((CommonToken)TEMPLATE10).getStartIndex() );
@@ -1630,7 +1631,7 @@
Token RULE12=null;
Token WHEN13=null;
- String ruleName = null;
+ name_return ruleName = null;
@@ -1650,8 +1651,8 @@
if ( backtracking==0 ) {
location.setType( Location.LOCATION_RULE_HEADER );
- debug( "start rule: " + ruleName );
- rule = new RuleDescr( ruleName, null );
+ debug( "start rule: " + ruleName.name );
+ rule = new RuleDescr( ruleName.name, null );
rule.setLocation( offset(RULE12.getLine()), RULE12.getCharPositionInLine() );
rule.setStartCharacter( ((CommonToken)RULE12).getStartIndex() );
lhs = new AndDescr();
@@ -1696,14 +1697,14 @@
int alt20=2;
int LA20_0 = input.LA(1);
- if ( (LA20_0==76) ) {
+ if ( (LA20_0==77) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:496:9: ':'
{
- match(input,76,FOLLOW_76_in_rule1036); if (failed) return rule;
+ match(input,77,FOLLOW_77_in_rule1036); if (failed) return rule;
}
break;
@@ -1768,7 +1769,7 @@
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:511:4: ATTRIBUTES ':'
{
match(input,ATTRIBUTES,FOLLOW_ATTRIBUTES_in_rule_attributes1077); if (failed) return ;
- match(input,76,FOLLOW_76_in_rule_attributes1079); if (failed) return ;
+ match(input,77,FOLLOW_77_in_rule_attributes1079); if (failed) return ;
}
break;
@@ -2812,12 +2813,12 @@
if ( (LA33_0==LEFT_PAREN) ) {
int LA33_1 = input.LA(2);
- if ( (LA33_1==OR) ) {
+ if ( (LA33_1==ID||LA33_1==LEFT_PAREN||LA33_1==AND||(LA33_1>=EXISTS && LA33_1<=FORALL)) ) {
+ alt33=2;
+ }
+ else if ( (LA33_1==OR) ) {
alt33=1;
}
- else if ( (LA33_1==ID||LA33_1==LEFT_PAREN||LA33_1==AND||(LA33_1>=EXISTS && LA33_1<=FORALL)) ) {
- alt33=2;
- }
else {
if (backtracking>0) {failed=true; return d;}
NoViableAltException nvae =
@@ -3310,12 +3311,14 @@
// $ANTLR start pattern_source
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:829:1: pattern_source returns [BaseDescr d] : u= lhs_pattern ( FROM ( options {k=1; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )? ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:829:1: pattern_source returns [BaseDescr d] : u= lhs_pattern ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )? ;
public final BaseDescr pattern_source() throws RecognitionException {
BaseDescr d = null;
BaseDescr u = null;
+ EntryPointDescr ep = null;
+
AccumulateDescr ac = null;
CollectDescr cs = null;
@@ -3327,8 +3330,8 @@
d = null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:833:2: (u= lhs_pattern ( FROM ( options {k=1; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )? )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:834:3: u= lhs_pattern ( FROM ( options {k=1; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:833:2: (u= lhs_pattern ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )? )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:834:3: u= lhs_pattern ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )?
{
pushFollow(FOLLOW_lhs_pattern_in_pattern_source2109);
u=lhs_pattern();
@@ -3337,25 +3340,52 @@
if ( backtracking==0 ) {
d = u;
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:835:3: ( FROM ( options {k=1; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )?
- int alt39=2;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:835:3: ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )?
+ int alt39=3;
int LA39_0 = input.LA(1);
if ( (LA39_0==FROM) ) {
- alt39=1;
+ int LA39_1 = input.LA(2);
+
+ if ( ((LA39_1>=PACKAGE && LA39_1<=ID)||LA39_1==GLOBAL||(LA39_1>=QUERY && LA39_1<=ATTRIBUTES)||LA39_1==ENABLED||LA39_1==SALIENCE||(LA39_1>=DURATION && LA39_1<=DIALECT)||LA39_1==FROM||(LA39_1>=ACCUMULATE && LA39_1<=COLLECT)||(LA39_1>=CONTAINS && LA39_1<=MEMBEROF)||LA39_1==IN||LA39_1==THEN) ) {
+ alt39=2;
+ }
+ else if ( (LA39_1==ENTRY_POINT) && (synpred6())) {
+ alt39=1;
+ }
}
switch (alt39) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:836:4: FROM ( options {k=1; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:838:11: ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement )
{
- match(input,FROM,FOLLOW_FROM_in_pattern_source2121); if (failed) return d;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:838:11: ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:838:13: ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement
+ {
+ match(input,FROM,FOLLOW_FROM_in_pattern_source2160); if (failed) return d;
+ pushFollow(FOLLOW_entrypoint_statement_in_pattern_source2164);
+ ep=entrypoint_statement();
+ _fsp--;
+ if (failed) return d;
if ( backtracking==0 ) {
+ if( d != null ) ((PatternDescr)d).setSource((PatternSourceDescr) ep);
+ }
+ }
+
+
+ }
+ break;
+ case 2 :
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:840:4: FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )
+ {
+ match(input,FROM,FOLLOW_FROM_in_pattern_source2184); if (failed) return d;
+ if ( backtracking==0 ) {
+
location.setType(Location.LOCATION_LHS_FROM);
location.setProperty(Location.LOCATION_FROM_CONTENT, "");
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:841:11: ( options {k=1; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:845:11: ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )
int alt38=3;
switch ( input.LA(1) ) {
case ACCUMULATE:
@@ -3403,19 +3433,19 @@
default:
if (backtracking>0) {failed=true; return d;}
NoViableAltException nvae =
- new NoViableAltException("841:11: ( options {k=1; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )", 38, 0, input);
+ new NoViableAltException("845:11: ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )", 38, 0, input);
throw nvae;
}
switch (alt38) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:842:15: (ac= accumulate_statement )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:13: (ac= accumulate_statement )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:842:15: (ac= accumulate_statement )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:842:17: ac= accumulate_statement
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:13: (ac= accumulate_statement )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:15: ac= accumulate_statement
{
- pushFollow(FOLLOW_accumulate_statement_in_pattern_source2177);
+ pushFollow(FOLLOW_accumulate_statement_in_pattern_source2242);
ac=accumulate_statement();
_fsp--;
if (failed) return d;
@@ -3429,12 +3459,12 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:843:15: (cs= collect_statement )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:847:15: (cs= collect_statement )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:843:15: (cs= collect_statement )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:843:17: cs= collect_statement
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:847:15: (cs= collect_statement )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:847:17: cs= collect_statement
{
- pushFollow(FOLLOW_collect_statement_in_pattern_source2200);
+ pushFollow(FOLLOW_collect_statement_in_pattern_source2265);
cs=collect_statement();
_fsp--;
if (failed) return d;
@@ -3448,12 +3478,12 @@
}
break;
case 3 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:844:15: (fm= from_statement )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:849:15: (fm= from_statement )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:844:15: (fm= from_statement )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:844:17: fm= from_statement
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:849:15: (fm= from_statement )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:849:17: fm= from_statement
{
- pushFollow(FOLLOW_from_statement_in_pattern_source2224);
+ pushFollow(FOLLOW_from_statement_in_pattern_source2302);
fm=from_statement();
_fsp--;
if (failed) return d;
@@ -3491,7 +3521,7 @@
// $ANTLR start lhs_exist
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:849:1: lhs_exist returns [BaseDescr d] : EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:854:1: lhs_exist returns [BaseDescr d] : EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) ;
public final BaseDescr lhs_exist() throws RecognitionException {
BaseDescr d = null;
@@ -3506,11 +3536,11 @@
d = null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:853:2: ( EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:853:4: EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:858:2: ( EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:858:4: EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
{
EXISTS38=(Token)input.LT(1);
- match(input,EXISTS,FOLLOW_EXISTS_in_lhs_exist2267); if (failed) return d;
+ match(input,EXISTS,FOLLOW_EXISTS_in_lhs_exist2345); if (failed) return d;
if ( backtracking==0 ) {
d = new ExistsDescr( );
@@ -3519,7 +3549,7 @@
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS );
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:860:10: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:865:10: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
int alt40=2;
int LA40_0 = input.LA(1);
@@ -3532,19 +3562,19 @@
else {
if (backtracking>0) {failed=true; return d;}
NoViableAltException nvae =
- new NoViableAltException("860:10: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )", 40, 0, input);
+ new NoViableAltException("865:10: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )", 40, 0, input);
throw nvae;
}
switch (alt40) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:860:12: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:865:12: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:860:12: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:860:14: LEFT_PAREN or= lhs_or RIGHT_PAREN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:865:12: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:865:14: LEFT_PAREN or= lhs_or RIGHT_PAREN
{
- match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_exist2287); if (failed) return d;
- pushFollow(FOLLOW_lhs_or_in_lhs_exist2291);
+ match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_exist2365); if (failed) return d;
+ pushFollow(FOLLOW_lhs_or_in_lhs_exist2369);
or=lhs_or();
_fsp--;
if (failed) return d;
@@ -3552,7 +3582,7 @@
if ( or != null ) ((ExistsDescr)d).addDescr( or );
}
RIGHT_PAREN39=(Token)input.LT(1);
- match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_exist2321); if (failed) return d;
+ match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_exist2399); if (failed) return d;
if ( backtracking==0 ) {
d.setEndCharacter( ((CommonToken)RIGHT_PAREN39).getStopIndex() );
}
@@ -3563,9 +3593,9 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:865:12: pattern= lhs_pattern
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:870:12: pattern= lhs_pattern
{
- pushFollow(FOLLOW_lhs_pattern_in_lhs_exist2371);
+ pushFollow(FOLLOW_lhs_pattern_in_lhs_exist2449);
pattern=lhs_pattern();
_fsp--;
if (failed) return d;
@@ -3599,7 +3629,7 @@
// $ANTLR start lhs_not
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:875:1: lhs_not returns [NotDescr d] : NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:880:1: lhs_not returns [NotDescr d] : NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) ;
public final NotDescr lhs_not() throws RecognitionException {
NotDescr d = null;
@@ -3614,11 +3644,11 @@
d = null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:879:2: ( NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:879:4: NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:884:2: ( NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:884:4: NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
{
NOT40=(Token)input.LT(1);
- match(input,NOT,FOLLOW_NOT_in_lhs_not2423); if (failed) return d;
+ match(input,NOT,FOLLOW_NOT_in_lhs_not2501); if (failed) return d;
if ( backtracking==0 ) {
d = new NotDescr( );
@@ -3627,7 +3657,7 @@
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT );
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:886:3: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:891:3: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
int alt41=2;
int LA41_0 = input.LA(1);
@@ -3640,19 +3670,19 @@
else {
if (backtracking>0) {failed=true; return d;}
NoViableAltException nvae =
- new NoViableAltException("886:3: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )", 41, 0, input);
+ new NoViableAltException("891:3: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )", 41, 0, input);
throw nvae;
}
switch (alt41) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:886:5: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:891:5: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:886:5: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:886:7: LEFT_PAREN or= lhs_or RIGHT_PAREN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:891:5: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:891:7: LEFT_PAREN or= lhs_or RIGHT_PAREN
{
- match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_not2436); if (failed) return d;
- pushFollow(FOLLOW_lhs_or_in_lhs_not2440);
+ match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_not2514); if (failed) return d;
+ pushFollow(FOLLOW_lhs_or_in_lhs_not2518);
or=lhs_or();
_fsp--;
if (failed) return d;
@@ -3660,7 +3690,7 @@
if ( or != null ) d.addDescr( or );
}
RIGHT_PAREN41=(Token)input.LT(1);
- match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_not2471); if (failed) return d;
+ match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_not2549); if (failed) return d;
if ( backtracking==0 ) {
d.setEndCharacter( ((CommonToken)RIGHT_PAREN41).getStopIndex() );
}
@@ -3671,9 +3701,9 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:892:3: pattern= lhs_pattern
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:897:3: pattern= lhs_pattern
{
- pushFollow(FOLLOW_lhs_pattern_in_lhs_not2508);
+ pushFollow(FOLLOW_lhs_pattern_in_lhs_not2586);
pattern=lhs_pattern();
_fsp--;
if (failed) return d;
@@ -3707,7 +3737,7 @@
// $ANTLR start lhs_eval
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:902:1: lhs_eval returns [BaseDescr d] : EVAL c= paren_chunk ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:907:1: lhs_eval returns [BaseDescr d] : EVAL c= paren_chunk ;
public final BaseDescr lhs_eval() throws RecognitionException {
BaseDescr d = null;
@@ -3719,17 +3749,17 @@
d = new EvalDescr( );
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:906:2: ( EVAL c= paren_chunk )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:907:3: EVAL c= paren_chunk
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:911:2: ( EVAL c= paren_chunk )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:912:3: EVAL c= paren_chunk
{
EVAL42=(Token)input.LT(1);
- match(input,EVAL,FOLLOW_EVAL_in_lhs_eval2554); if (failed) return d;
+ match(input,EVAL,FOLLOW_EVAL_in_lhs_eval2632); if (failed) return d;
if ( backtracking==0 ) {
location.setType( Location.LOCATION_LHS_INSIDE_EVAL );
}
- pushFollow(FOLLOW_paren_chunk_in_lhs_eval2565);
+ pushFollow(FOLLOW_paren_chunk_in_lhs_eval2643);
c=paren_chunk();
_fsp--;
if (failed) return d;
@@ -3764,7 +3794,7 @@
// $ANTLR start lhs_forall
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:927:1: lhs_forall returns [ForallDescr d] : FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:932:1: lhs_forall returns [ForallDescr d] : FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN ;
public final ForallDescr lhs_forall() throws RecognitionException {
ForallDescr d = null;
@@ -3779,13 +3809,13 @@
d = factory.createForall();
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:931:2: ( FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:931:4: FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:936:2: ( FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:936:4: FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN
{
FORALL43=(Token)input.LT(1);
- match(input,FORALL,FOLLOW_FORALL_in_lhs_forall2591); if (failed) return d;
- match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_forall2593); if (failed) return d;
- pushFollow(FOLLOW_lhs_pattern_in_lhs_forall2597);
+ match(input,FORALL,FOLLOW_FORALL_in_lhs_forall2669); if (failed) return d;
+ match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_forall2671); if (failed) return d;
+ pushFollow(FOLLOW_lhs_pattern_in_lhs_forall2675);
base=lhs_pattern();
_fsp--;
if (failed) return d;
@@ -3797,7 +3827,7 @@
d.setLocation( offset(FORALL43.getLine()), FORALL43.getCharPositionInLine() );
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:938:3: (pattern= lhs_pattern )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:943:3: (pattern= lhs_pattern )*
loop42:
do {
int alt42=2;
@@ -3810,9 +3840,9 @@
switch (alt42) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:938:5: pattern= lhs_pattern
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:943:5: pattern= lhs_pattern
{
- pushFollow(FOLLOW_lhs_pattern_in_lhs_forall2612);
+ pushFollow(FOLLOW_lhs_pattern_in_lhs_forall2690);
pattern=lhs_pattern();
_fsp--;
if (failed) return d;
@@ -3832,7 +3862,7 @@
} while (true);
RIGHT_PAREN44=(Token)input.LT(1);
- match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_forall2628); if (failed) return d;
+ match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_forall2706); if (failed) return d;
if ( backtracking==0 ) {
d.setEndCharacter( ((CommonToken)RIGHT_PAREN44).getStopIndex() );
@@ -3854,7 +3884,7 @@
// $ANTLR start lhs_pattern
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:950:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:955:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );
public final BaseDescr lhs_pattern() throws RecognitionException {
BaseDescr d = null;
@@ -3865,14 +3895,14 @@
d =null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:957:2: (f= fact_binding | f= fact[null] )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:962:2: (f= fact_binding | f= fact[null] )
int alt43=2;
int LA43_0 = input.LA(1);
if ( (LA43_0==ID) ) {
int LA43_1 = input.LA(2);
- if ( (LA43_1==76) ) {
+ if ( (LA43_1==77) ) {
alt43=1;
}
else if ( (LA43_1==DOT||LA43_1==LEFT_PAREN||LA43_1==LEFT_SQUARE) ) {
@@ -3881,7 +3911,7 @@
else {
if (backtracking>0) {failed=true; return d;}
NoViableAltException nvae =
- new NoViableAltException("950:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );", 43, 1, input);
+ new NoViableAltException("955:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );", 43, 1, input);
throw nvae;
}
@@ -3889,15 +3919,15 @@
else {
if (backtracking>0) {failed=true; return d;}
NoViableAltException nvae =
- new NoViableAltException("950:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );", 43, 0, input);
+ new NoViableAltException("955:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );", 43, 0, input);
throw nvae;
}
switch (alt43) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:957:4: f= fact_binding
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:962:4: f= fact_binding
{
- pushFollow(FOLLOW_fact_binding_in_lhs_pattern2661);
+ pushFollow(FOLLOW_fact_binding_in_lhs_pattern2739);
f=fact_binding();
_fsp--;
if (failed) return d;
@@ -3905,9 +3935,9 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:958:4: f= fact[null]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:963:4: f= fact[null]
{
- pushFollow(FOLLOW_fact_in_lhs_pattern2669);
+ pushFollow(FOLLOW_fact_in_lhs_pattern2747);
f=fact(null);
_fsp--;
if (failed) return d;
@@ -3934,7 +3964,7 @@
// $ANTLR start from_statement
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:961:1: from_statement returns [FromDescr d] : ds= from_source[$d] ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:966:1: from_statement returns [FromDescr d] : ds= from_source[$d] ;
public final FromDescr from_statement() throws RecognitionException {
FromDescr d = null;
@@ -3945,10 +3975,10 @@
d =factory.createFrom();
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:965:2: (ds= from_source[$d] )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:966:2: ds= from_source[$d]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:970:2: (ds= from_source[$d] )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:971:2: ds= from_source[$d]
{
- pushFollow(FOLLOW_from_source_in_from_statement2696);
+ pushFollow(FOLLOW_from_source_in_from_statement2774);
ds=from_source(d);
_fsp--;
if (failed) return d;
@@ -3973,7 +4003,7 @@
// $ANTLR start accumulate_statement
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:973:1: accumulate_statement returns [AccumulateDescr d] : ACCUMULATE LEFT_PAREN inputCE= lhs_or ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:978:1: accumulate_statement returns [AccumulateDescr d] : ACCUMULATE LEFT_PAREN inputCE= lhs_or ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN ;
public final AccumulateDescr accumulate_statement() throws RecognitionException {
AccumulateDescr d = null;
@@ -3989,11 +4019,11 @@
d = factory.createAccumulate();
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:977:2: ( ACCUMULATE LEFT_PAREN inputCE= lhs_or ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:978:10: ACCUMULATE LEFT_PAREN inputCE= lhs_or ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:982:2: ( ACCUMULATE LEFT_PAREN inputCE= lhs_or ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:983:10: ACCUMULATE LEFT_PAREN inputCE= lhs_or ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN
{
ACCUMULATE45=(Token)input.LT(1);
- match(input,ACCUMULATE,FOLLOW_ACCUMULATE_in_accumulate_statement2733); if (failed) return d;
+ match(input,ACCUMULATE,FOLLOW_ACCUMULATE_in_accumulate_statement2811); if (failed) return d;
if ( backtracking==0 ) {
d.setLocation( offset(ACCUMULATE45.getLine()), ACCUMULATE45.getCharPositionInLine() );
@@ -4001,12 +4031,12 @@
location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE );
}
- match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_accumulate_statement2743); if (failed) return d;
- pushFollow(FOLLOW_lhs_or_in_accumulate_statement2747);
+ match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_accumulate_statement2821); if (failed) return d;
+ pushFollow(FOLLOW_lhs_or_in_accumulate_statement2825);
inputCE=lhs_or();
_fsp--;
if (failed) return d;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:984:29: ( COMMA )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:989:29: ( COMMA )?
int alt44=2;
int LA44_0 = input.LA(1);
@@ -4015,9 +4045,9 @@
}
switch (alt44) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:984:29: COMMA
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:989:29: COMMA
{
- match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement2749); if (failed) return d;
+ match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement2827); if (failed) return d;
}
break;
@@ -4029,7 +4059,7 @@
d.setInput( inputCE );
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:988:3: ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:993:3: ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) )
int alt49=2;
int LA49_0 = input.LA(1);
@@ -4042,28 +4072,28 @@
else {
if (backtracking>0) {failed=true; return d;}
NoViableAltException nvae =
- new NoViableAltException("988:3: ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) )", 49, 0, input);
+ new NoViableAltException("993:3: ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) )", 49, 0, input);
throw nvae;
}
switch (alt49) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:988:5: ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:993:5: ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:988:5: ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:989:4: INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:993:5: ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:994:4: INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk
{
- match(input,INIT,FOLLOW_INIT_in_accumulate_statement2767); if (failed) return d;
+ match(input,INIT,FOLLOW_INIT_in_accumulate_statement2845); if (failed) return d;
if ( backtracking==0 ) {
location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_INIT );
}
- pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2780);
+ pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2858);
text=paren_chunk();
_fsp--;
if (failed) return d;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:993:21: ( COMMA )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:998:21: ( COMMA )?
int alt45=2;
int LA45_0 = input.LA(1);
@@ -4072,9 +4102,9 @@
}
switch (alt45) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:993:21: COMMA
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:998:21: COMMA
{
- match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement2782); if (failed) return d;
+ match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement2860); if (failed) return d;
}
break;
@@ -4090,12 +4120,12 @@
}
}
- match(input,ACTION,FOLLOW_ACTION_in_accumulate_statement2793); if (failed) return d;
- pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2797);
+ match(input,ACTION,FOLLOW_ACTION_in_accumulate_statement2871); if (failed) return d;
+ pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2875);
text=paren_chunk();
_fsp--;
if (failed) return d;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1001:28: ( COMMA )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1006:28: ( COMMA )?
int alt46=2;
int LA46_0 = input.LA(1);
@@ -4104,9 +4134,9 @@
}
switch (alt46) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1001:28: COMMA
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1006:28: COMMA
{
- match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement2799); if (failed) return d;
+ match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement2877); if (failed) return d;
}
break;
@@ -4122,7 +4152,7 @@
}
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1009:4: ( REVERSE text= paren_chunk ( COMMA )? )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1014:4: ( REVERSE text= paren_chunk ( COMMA )? )?
int alt48=2;
int LA48_0 = input.LA(1);
@@ -4131,14 +4161,14 @@
}
switch (alt48) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1009:6: REVERSE text= paren_chunk ( COMMA )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1014:6: REVERSE text= paren_chunk ( COMMA )?
{
- match(input,REVERSE,FOLLOW_REVERSE_in_accumulate_statement2812); if (failed) return d;
- pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2816);
+ match(input,REVERSE,FOLLOW_REVERSE_in_accumulate_statement2890); if (failed) return d;
+ pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2894);
text=paren_chunk();
_fsp--;
if (failed) return d;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1009:31: ( COMMA )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1014:31: ( COMMA )?
int alt47=2;
int LA47_0 = input.LA(1);
@@ -4147,9 +4177,9 @@
}
switch (alt47) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1009:31: COMMA
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1014:31: COMMA
{
- match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement2818); if (failed) return d;
+ match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement2896); if (failed) return d;
}
break;
@@ -4171,8 +4201,8 @@
}
- match(input,RESULT,FOLLOW_RESULT_in_accumulate_statement2835); if (failed) return d;
- pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2839);
+ match(input,RESULT,FOLLOW_RESULT_in_accumulate_statement2913); if (failed) return d;
+ pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2917);
text=paren_chunk();
_fsp--;
if (failed) return d;
@@ -4191,14 +4221,14 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1027:3: (id= ID text= paren_chunk )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1032:3: (id= ID text= paren_chunk )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1027:3: (id= ID text= paren_chunk )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1028:4: id= ID text= paren_chunk
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1032:3: (id= ID text= paren_chunk )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1033:4: id= ID text= paren_chunk
{
id=(Token)input.LT(1);
- match(input,ID,FOLLOW_ID_in_accumulate_statement2865); if (failed) return d;
- pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2869);
+ match(input,ID,FOLLOW_ID_in_accumulate_statement2943); if (failed) return d;
+ pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2947);
text=paren_chunk();
_fsp--;
if (failed) return d;
@@ -4224,7 +4254,7 @@
}
RIGHT_PAREN46=(Token)input.LT(1);
- match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_accumulate_statement2886); if (failed) return d;
+ match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_accumulate_statement2964); if (failed) return d;
if ( backtracking==0 ) {
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
@@ -4247,7 +4277,7 @@
// $ANTLR start from_source
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1046:4: from_source[FromDescr from] returns [DeclarativeInvokerDescr ds] : ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )? ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1053:1: from_source[FromDescr from] returns [DeclarativeInvokerDescr ds] : ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )? ;
public final DeclarativeInvokerDescr from_source(FromDescr from) throws RecognitionException {
DeclarativeInvokerDescr ds = null;
@@ -4262,10 +4292,10 @@
FunctionCallDescr fc = null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1052:2: (ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )? )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1052:4: ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1059:2: (ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )? )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1059:4: ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )?
{
- pushFollow(FOLLOW_identifier_in_from_source2914);
+ pushFollow(FOLLOW_identifier_in_from_source2995);
ident=identifier();
_fsp--;
if (failed) return ds;
@@ -4279,7 +4309,7 @@
location.setProperty(Location.LOCATION_FROM_CONTENT, ident.start.getText());
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1061:3: ( options {k=1; } : args= paren_chunk )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1068:3: ( options {k=1; } : args= paren_chunk )?
int alt50=2;
int LA50_0 = input.LA(1);
@@ -4288,9 +4318,9 @@
}
switch (alt50) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1068:5: args= paren_chunk
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1075:5: args= paren_chunk
{
- pushFollow(FOLLOW_paren_chunk_in_from_source2942);
+ pushFollow(FOLLOW_paren_chunk_in_from_source3023);
args=paren_chunk();
_fsp--;
if (failed) return ds;
@@ -4314,7 +4344,7 @@
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1082:3: ( expression_chain[$from, ad] )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1089:3: ( expression_chain[$from, ad] )?
int alt51=2;
int LA51_0 = input.LA(1);
@@ -4323,9 +4353,9 @@
}
switch (alt51) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1082:3: expression_chain[$from, ad]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1089:3: expression_chain[$from, ad]
{
- pushFollow(FOLLOW_expression_chain_in_from_source2955);
+ pushFollow(FOLLOW_expression_chain_in_from_source3036);
expression_chain(from, ad);
_fsp--;
if (failed) return ds;
@@ -4359,7 +4389,7 @@
// $ANTLR start expression_chain
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1096:1: expression_chain[FromDescr from, AccessorDescr as] : ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? ) ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1100:1: expression_chain[FromDescr from, AccessorDescr as] : ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? ) ;
public final void expression_chain(FromDescr from, AccessorDescr as) throws RecognitionException {
identifier_return field = null;
@@ -4373,14 +4403,14 @@
MethodAccessDescr ma = null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1101:2: ( ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? ) )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1102:2: ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1105:2: ( ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1106:2: ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1102:2: ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1102:4: DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1106:2: ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1106:4: DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )?
{
- match(input,DOT,FOLLOW_DOT_in_expression_chain2990); if (failed) return ;
- pushFollow(FOLLOW_identifier_in_expression_chain2994);
+ match(input,DOT,FOLLOW_DOT_in_expression_chain3067); if (failed) return ;
+ pushFollow(FOLLOW_identifier_in_expression_chain3071);
field=identifier();
_fsp--;
if (failed) return ;
@@ -4392,14 +4422,14 @@
fa.setEndCharacter( ((CommonToken)((Token)field.start)).getStopIndex() );
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1109:4: ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1113:4: ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )?
int alt52=3;
alt52 = dfa52.predict(input);
switch (alt52) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1110:6: ( LEFT_SQUARE )=>sqarg= square_chunk
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1114:6: ( LEFT_SQUARE )=>sqarg= square_chunk
{
- pushFollow(FOLLOW_square_chunk_in_expression_chain3025);
+ pushFollow(FOLLOW_square_chunk_in_expression_chain3102);
sqarg=square_chunk();
_fsp--;
if (failed) return ;
@@ -4413,9 +4443,9 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1116:6: ( LEFT_PAREN )=>paarg= paren_chunk
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1120:6: ( LEFT_PAREN )=>paarg= paren_chunk
{
- pushFollow(FOLLOW_paren_chunk_in_expression_chain3058);
+ pushFollow(FOLLOW_paren_chunk_in_expression_chain3135);
paarg=paren_chunk();
_fsp--;
if (failed) return ;
@@ -4433,7 +4463,7 @@
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1124:4: ( expression_chain[from, as] )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1128:4: ( expression_chain[from, as] )?
int alt53=2;
int LA53_0 = input.LA(1);
@@ -4442,9 +4472,9 @@
}
switch (alt53) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1124:4: expression_chain[from, as]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1128:4: expression_chain[from, as]
{
- pushFollow(FOLLOW_expression_chain_in_expression_chain3073);
+ pushFollow(FOLLOW_expression_chain_in_expression_chain3150);
expression_chain(from, as);
_fsp--;
if (failed) return ;
@@ -4481,7 +4511,7 @@
// $ANTLR start collect_statement
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1138:1: collect_statement returns [CollectDescr d] : COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1142:1: collect_statement returns [CollectDescr d] : COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN ;
public final CollectDescr collect_statement() throws RecognitionException {
CollectDescr d = null;
@@ -4494,11 +4524,11 @@
d = factory.createCollect();
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1142:2: ( COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1143:10: COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1146:2: ( COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1147:10: COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN
{
COLLECT47=(Token)input.LT(1);
- match(input,COLLECT,FOLLOW_COLLECT_in_collect_statement3124); if (failed) return d;
+ match(input,COLLECT,FOLLOW_COLLECT_in_collect_statement3201); if (failed) return d;
if ( backtracking==0 ) {
d.setLocation( offset(COLLECT47.getLine()), COLLECT47.getCharPositionInLine() );
@@ -4506,13 +4536,13 @@
location.setType( Location.LOCATION_LHS_FROM_COLLECT );
}
- match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_collect_statement3134); if (failed) return d;
- pushFollow(FOLLOW_pattern_source_in_collect_statement3138);
+ match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_collect_statement3211); if (failed) return d;
+ pushFollow(FOLLOW_pattern_source_in_collect_statement3215);
pattern=pattern_source();
_fsp--;
if (failed) return d;
RIGHT_PAREN48=(Token)input.LT(1);
- match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_collect_statement3140); if (failed) return d;
+ match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_collect_statement3217); if (failed) return d;
if ( backtracking==0 ) {
d.setInputPattern( (PatternDescr) pattern );
@@ -4535,12 +4565,63 @@
// $ANTLR end collect_statement
+ // $ANTLR start entrypoint_statement
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1161:1: entrypoint_statement returns [EntryPointDescr d] : ENTRY_POINT id= name ;
+ public final EntryPointDescr entrypoint_statement() throws RecognitionException {
+ EntryPointDescr d = null;
+
+ Token ENTRY_POINT49=null;
+ name_return id = null;
+
+
+
+ d = factory.createEntryPoint();
+
+ try {
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1165:2: ( ENTRY_POINT id= name )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1166:10: ENTRY_POINT id= name
+ {
+ ENTRY_POINT49=(Token)input.LT(1);
+ match(input,ENTRY_POINT,FOLLOW_ENTRY_POINT_in_entrypoint_statement3254); if (failed) return d;
+ if ( backtracking==0 ) {
+
+ d.setLocation( offset(ENTRY_POINT49.getLine()), ENTRY_POINT49.getCharPositionInLine() );
+ d.setStartCharacter( ((CommonToken)ENTRY_POINT49).getStartIndex() );
+ location.setType( Location.LOCATION_LHS_FROM_ENTRY_POINT );
+
+ }
+ pushFollow(FOLLOW_name_in_entrypoint_statement3266);
+ id=name();
+ _fsp--;
+ if (failed) return d;
+ if ( backtracking==0 ) {
+
+ d.setEntryId( id.name );
+ d.setEndCharacter( ((CommonToken)((Token)id.stop)).getStopIndex() );
+ location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
+
+ }
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return d;
+ }
+ // $ANTLR end entrypoint_statement
+
+
// $ANTLR start fact_binding
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1157:1: fact_binding returns [BaseDescr d] : ID ':' (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN ) ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1180:1: fact_binding returns [BaseDescr d] : ID ':' (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN ) ;
public final BaseDescr fact_binding() throws RecognitionException {
BaseDescr d = null;
- Token ID49=null;
+ Token ID50=null;
BaseDescr fe = null;
BaseDescr left = null;
@@ -4553,20 +4634,20 @@
OrDescr or = null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1162:3: ( ID ':' (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN ) )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1163:4: ID ':' (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1185:3: ( ID ':' (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1186:4: ID ':' (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )
{
- ID49=(Token)input.LT(1);
- match(input,ID,FOLLOW_ID_in_fact_binding3172); if (failed) return d;
- match(input,76,FOLLOW_76_in_fact_binding3174); if (failed) return d;
+ ID50=(Token)input.LT(1);
+ match(input,ID,FOLLOW_ID_in_fact_binding3298); if (failed) return d;
+ match(input,77,FOLLOW_77_in_fact_binding3300); if (failed) return d;
if ( backtracking==0 ) {
// handling incomplete parsing
d = new PatternDescr( );
- ((PatternDescr) d).setIdentifier( ID49.getText() );
+ ((PatternDescr) d).setIdentifier( ID50.getText() );
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1169:3: (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1192:3: (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )
int alt55=2;
int LA55_0 = input.LA(1);
@@ -4579,16 +4660,16 @@
else {
if (backtracking>0) {failed=true; return d;}
NoViableAltException nvae =
- new NoViableAltException("1169:3: (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )", 55, 0, input);
+ new NoViableAltException("1192:3: (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )", 55, 0, input);
throw nvae;
}
switch (alt55) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1169:5: fe= fact[$ID.text]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1192:5: fe= fact[$ID.text]
{
- pushFollow(FOLLOW_fact_in_fact_binding3188);
- fe=fact(ID49.getText());
+ pushFollow(FOLLOW_fact_in_fact_binding3314);
+ fe=fact(ID50.getText());
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
@@ -4596,7 +4677,7 @@
// override previously instantiated pattern
d =fe;
if( d != null ) {
- d.setStartCharacter( ((CommonToken)ID49).getStartIndex() );
+ d.setStartCharacter( ((CommonToken)ID50).getStartIndex() );
}
}
@@ -4604,11 +4685,11 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1178:4: LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1201:4: LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN
{
- match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_fact_binding3204); if (failed) return d;
- pushFollow(FOLLOW_fact_in_fact_binding3208);
- left=fact(ID49.getText());
+ match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_fact_binding3330); if (failed) return d;
+ pushFollow(FOLLOW_fact_in_fact_binding3334);
+ left=fact(ID50.getText());
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
@@ -4616,11 +4697,11 @@
// override previously instantiated pattern
d =left;
if( d != null ) {
- d.setStartCharacter( ((CommonToken)ID49).getStartIndex() );
+ d.setStartCharacter( ((CommonToken)ID50).getStartIndex() );
}
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1186:4: ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1209:4: ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )*
loop54:
do {
int alt54=2;
@@ -4633,7 +4714,7 @@
switch (alt54) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1186:6: ( OR | DOUBLE_PIPE ) right= fact[$ID.text]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1209:6: ( OR | DOUBLE_PIPE ) right= fact[$ID.text]
{
if ( (input.LA(1)>=OR && input.LA(1)<=DOUBLE_PIPE) ) {
input.consume();
@@ -4643,11 +4724,11 @@
if (backtracking>0) {failed=true; return d;}
MismatchedSetException mse =
new MismatchedSetException(null,input);
- recoverFromMismatchedSet(input,mse,FOLLOW_set_in_fact_binding3221); throw mse;
+ recoverFromMismatchedSet(input,mse,FOLLOW_set_in_fact_binding3347); throw mse;
}
- pushFollow(FOLLOW_fact_in_fact_binding3233);
- right=fact(ID49.getText());
+ pushFollow(FOLLOW_fact_in_fact_binding3359);
+ right=fact(ID50.getText());
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
@@ -4669,7 +4750,7 @@
}
} while (true);
- match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_fact_binding3251); if (failed) return d;
+ match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_fact_binding3377); if (failed) return d;
}
break;
@@ -4692,12 +4773,12 @@
// $ANTLR start fact
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1201:1: fact[String ident] returns [BaseDescr d] : id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )? ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1224:1: fact[String ident] returns [BaseDescr d] : id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )? ;
public final BaseDescr fact(String ident) throws RecognitionException {
BaseDescr d = null;
- Token LEFT_PAREN50=null;
- Token RIGHT_PAREN51=null;
+ Token LEFT_PAREN51=null;
+ Token RIGHT_PAREN52=null;
qualified_id_return id = null;
@@ -4706,8 +4787,8 @@
PatternDescr pattern = null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1206:3: (id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )? )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1207:11: id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1229:3: (id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )? )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1230:11: id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )?
{
if ( backtracking==0 ) {
@@ -4718,7 +4799,7 @@
d = pattern;
}
- pushFollow(FOLLOW_qualified_id_in_fact3306);
+ pushFollow(FOLLOW_qualified_id_in_fact3432);
id=qualified_id();
_fsp--;
if (failed) return d;
@@ -4731,18 +4812,18 @@
}
}
- LEFT_PAREN50=(Token)input.LT(1);
- match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_fact3316); if (failed) return d;
+ LEFT_PAREN51=(Token)input.LT(1);
+ match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_fact3442); if (failed) return d;
if ( backtracking==0 ) {
location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_START );
location.setProperty( Location.LOCATION_PROPERTY_CLASS_NAME, id.text );
- pattern.setLocation( offset(LEFT_PAREN50.getLine()), LEFT_PAREN50.getCharPositionInLine() );
- pattern.setLeftParentCharacter( ((CommonToken)LEFT_PAREN50).getStartIndex() );
+ pattern.setLocation( offset(LEFT_PAREN51.getLine()), LEFT_PAREN51.getCharPositionInLine() );
+ pattern.setLeftParentCharacter( ((CommonToken)LEFT_PAREN51).getStartIndex() );
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1230:4: ( constraints[pattern] )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1253:4: ( constraints[pattern] )?
int alt56=2;
int LA56_0 = input.LA(1);
@@ -4751,9 +4832,9 @@
}
switch (alt56) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1230:4: constraints[pattern]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1253:4: constraints[pattern]
{
- pushFollow(FOLLOW_constraints_in_fact3328);
+ pushFollow(FOLLOW_constraints_in_fact3454);
constraints(pattern);
_fsp--;
if (failed) return d;
@@ -4763,19 +4844,19 @@
}
- RIGHT_PAREN51=(Token)input.LT(1);
- match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_fact3335); if (failed) return d;
+ RIGHT_PAREN52=(Token)input.LT(1);
+ match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_fact3461); if (failed) return d;
if ( backtracking==0 ) {
- if( ")".equals( RIGHT_PAREN51.getText() ) ) {
+ if( ")".equals( RIGHT_PAREN52.getText() ) ) {
this.location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
- pattern.setEndLocation( offset(RIGHT_PAREN51.getLine()), RIGHT_PAREN51.getCharPositionInLine() );
- pattern.setEndCharacter( ((CommonToken)RIGHT_PAREN51).getStopIndex() );
- pattern.setRightParentCharacter( ((CommonToken)RIGHT_PAREN51).getStartIndex() );
+ pattern.setEndLocation( offset(RIGHT_PAREN52.getLine()), RIGHT_PAREN52.getCharPositionInLine() );
+ pattern.setEndCharacter( ((CommonToken)RIGHT_PAREN52).getStopIndex() );
+ pattern.setRightParentCharacter( ((CommonToken)RIGHT_PAREN52).getStartIndex() );
}
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1240:4: ( EOF )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1263:4: ( EOF )?
int alt57=2;
int LA57_0 = input.LA(1);
@@ -4784,9 +4865,9 @@
}
switch (alt57) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1240:4: EOF
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1263:4: EOF
{
- match(input,EOF,FOLLOW_EOF_in_fact3344); if (failed) return d;
+ match(input,EOF,FOLLOW_EOF_in_fact3470); if (failed) return d;
}
break;
@@ -4809,17 +4890,17 @@
// $ANTLR start constraints
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1244:1: constraints[PatternDescr pattern] : constraint[$pattern] ( COMMA constraint[$pattern] )* ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1267:1: constraints[PatternDescr pattern] : constraint[$pattern] ( COMMA constraint[$pattern] )* ;
public final void constraints(PatternDescr pattern) throws RecognitionException {
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1245:2: ( constraint[$pattern] ( COMMA constraint[$pattern] )* )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1245:4: constraint[$pattern] ( COMMA constraint[$pattern] )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1268:2: ( constraint[$pattern] ( COMMA constraint[$pattern] )* )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1268:4: constraint[$pattern] ( COMMA constraint[$pattern] )*
{
- pushFollow(FOLLOW_constraint_in_constraints3362);
+ pushFollow(FOLLOW_constraint_in_constraints3488);
constraint(pattern);
_fsp--;
if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1246:3: ( COMMA constraint[$pattern] )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1269:3: ( COMMA constraint[$pattern] )*
loop58:
do {
int alt58=2;
@@ -4832,13 +4913,13 @@
switch (alt58) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1246:5: COMMA constraint[$pattern]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1269:5: COMMA constraint[$pattern]
{
- match(input,COMMA,FOLLOW_COMMA_in_constraints3369); if (failed) return ;
+ match(input,COMMA,FOLLOW_COMMA_in_constraints3495); if (failed) return ;
if ( backtracking==0 ) {
location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_START );
}
- pushFollow(FOLLOW_constraint_in_constraints3378);
+ pushFollow(FOLLOW_constraint_in_constraints3504);
constraint(pattern);
_fsp--;
if (failed) return ;
@@ -4867,7 +4948,7 @@
// $ANTLR start constraint
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1251:1: constraint[PatternDescr pattern] : or_constr[top] ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1274:1: constraint[PatternDescr pattern] : or_constr[top] ;
public final void constraint(PatternDescr pattern) throws RecognitionException {
ConditionalElementDescr top = null;
@@ -4875,15 +4956,15 @@
location.setProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME, input.LT(1).getText() );
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1257:2: ( or_constr[top] )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1258:3: or_constr[top]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1280:2: ( or_constr[top] )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1281:3: or_constr[top]
{
if ( backtracking==0 ) {
top = pattern.getConstraint();
}
- pushFollow(FOLLOW_or_constr_in_constraint3411);
+ pushFollow(FOLLOW_or_constr_in_constraint3537);
or_constr(top);
_fsp--;
if (failed) return ;
@@ -4903,20 +4984,20 @@
// $ANTLR start or_constr
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1264:1: or_constr[ConditionalElementDescr base] : and_constr[or] ( DOUBLE_PIPE and_constr[or] )* ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1287:1: or_constr[ConditionalElementDescr base] : and_constr[or] ( DOUBLE_PIPE and_constr[or] )* ;
public final void or_constr(ConditionalElementDescr base) throws RecognitionException {
OrDescr or = new OrDescr();
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1268:2: ( and_constr[or] ( DOUBLE_PIPE and_constr[or] )* )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1269:3: and_constr[or] ( DOUBLE_PIPE and_constr[or] )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1291:2: ( and_constr[or] ( DOUBLE_PIPE and_constr[or] )* )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1292:3: and_constr[or] ( DOUBLE_PIPE and_constr[or] )*
{
- pushFollow(FOLLOW_and_constr_in_or_constr3434);
+ pushFollow(FOLLOW_and_constr_in_or_constr3560);
and_constr(or);
_fsp--;
if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1270:3: ( DOUBLE_PIPE and_constr[or] )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1293:3: ( DOUBLE_PIPE and_constr[or] )*
loop59:
do {
int alt59=2;
@@ -4929,15 +5010,15 @@
switch (alt59) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1270:5: DOUBLE_PIPE and_constr[or]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1293:5: DOUBLE_PIPE and_constr[or]
{
- match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_or_constr3442); if (failed) return ;
+ match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_or_constr3568); if (failed) return ;
if ( backtracking==0 ) {
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_START);
}
- pushFollow(FOLLOW_and_constr_in_or_constr3451);
+ pushFollow(FOLLOW_and_constr_in_or_constr3577);
and_constr(or);
_fsp--;
if (failed) return ;
@@ -4975,20 +5056,20 @@
// $ANTLR start and_constr
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1285:1: and_constr[ConditionalElementDescr base] : unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )* ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1308:1: and_constr[ConditionalElementDescr base] : unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )* ;
public final void and_constr(ConditionalElementDescr base) throws RecognitionException {
AndDescr and = new AndDescr();
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1289:2: ( unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )* )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1290:3: unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1312:2: ( unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )* )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1313:3: unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )*
{
- pushFollow(FOLLOW_unary_constr_in_and_constr3483);
+ pushFollow(FOLLOW_unary_constr_in_and_constr3609);
unary_constr(and);
_fsp--;
if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1291:3: ( DOUBLE_AMPER unary_constr[and] )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1314:3: ( DOUBLE_AMPER unary_constr[and] )*
loop60:
do {
int alt60=2;
@@ -5001,15 +5082,15 @@
switch (alt60) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1291:5: DOUBLE_AMPER unary_constr[and]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1314:5: DOUBLE_AMPER unary_constr[and]
{
- match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_and_constr3491); if (failed) return ;
+ match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_and_constr3617); if (failed) return ;
if ( backtracking==0 ) {
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_START);
}
- pushFollow(FOLLOW_unary_constr_in_and_constr3500);
+ pushFollow(FOLLOW_unary_constr_in_and_constr3626);
unary_constr(and);
_fsp--;
if (failed) return ;
@@ -5047,13 +5128,13 @@
// $ANTLR start unary_constr
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1306:1: unary_constr[ConditionalElementDescr base] : ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] ) ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1329:1: unary_constr[ConditionalElementDescr base] : ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] ) ;
public final void unary_constr(ConditionalElementDescr base) throws RecognitionException {
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1307:2: ( ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] ) )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1308:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1330:2: ( ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1331:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1308:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1331:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )
int alt61=3;
switch ( input.LA(1) ) {
case PACKAGE:
@@ -5101,16 +5182,16 @@
default:
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1308:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )", 61, 0, input);
+ new NoViableAltException("1331:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )", 61, 0, input);
throw nvae;
}
switch (alt61) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1308:5: field_constraint[$base]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1331:5: field_constraint[$base]
{
- pushFollow(FOLLOW_field_constraint_in_unary_constr3528);
+ pushFollow(FOLLOW_field_constraint_in_unary_constr3654);
field_constraint(base);
_fsp--;
if (failed) return ;
@@ -5118,22 +5199,22 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1309:5: LEFT_PAREN or_constr[$base] RIGHT_PAREN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1332:5: LEFT_PAREN or_constr[$base] RIGHT_PAREN
{
- match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_unary_constr3536); if (failed) return ;
- pushFollow(FOLLOW_or_constr_in_unary_constr3538);
+ match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_unary_constr3662); if (failed) return ;
+ pushFollow(FOLLOW_or_constr_in_unary_constr3664);
or_constr(base);
_fsp--;
if (failed) return ;
- match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_unary_constr3541); if (failed) return ;
+ match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_unary_constr3667); if (failed) return ;
}
break;
case 3 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1310:5: EVAL predicate[$base]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1333:5: EVAL predicate[$base]
{
- match(input,EVAL,FOLLOW_EVAL_in_unary_constr3547); if (failed) return ;
- pushFollow(FOLLOW_predicate_in_unary_constr3549);
+ match(input,EVAL,FOLLOW_EVAL_in_unary_constr3673); if (failed) return ;
+ pushFollow(FOLLOW_predicate_in_unary_constr3675);
predicate(base);
_fsp--;
if (failed) return ;
@@ -5159,9 +5240,9 @@
// $ANTLR start field_constraint
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1314:1: field_constraint[ConditionalElementDescr base] : ( ( ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) );
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1337:1: field_constraint[ConditionalElementDescr base] : ( ( ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) );
public final void field_constraint(ConditionalElementDescr base) throws RecognitionException {
- Token ID52=null;
+ Token ID53=null;
accessor_path_return f = null;
@@ -5171,23 +5252,23 @@
RestrictionConnectiveDescr top = null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1320:2: ( ( ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1343:2: ( ( ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) )
int alt63=2;
int LA63_0 = input.LA(1);
if ( (LA63_0==ID) ) {
int LA63_1 = input.LA(2);
- if ( (LA63_1==76) ) {
+ if ( (LA63_1==77) ) {
alt63=1;
}
- else if ( (LA63_1==DOT||LA63_1==LEFT_PAREN||LA63_1==NOT||(LA63_1>=CONTAINS && LA63_1<=IN)||LA63_1==LEFT_SQUARE||(LA63_1>=78 && LA63_1<=83)) ) {
+ else if ( (LA63_1==DOT||LA63_1==LEFT_PAREN||LA63_1==NOT||(LA63_1>=CONTAINS && LA63_1<=IN)||LA63_1==LEFT_SQUARE||(LA63_1>=79 && LA63_1<=84)) ) {
alt63=2;
}
else {
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1314:1: field_constraint[ConditionalElementDescr base] : ( ( ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) );", 63, 1, input);
+ new NoViableAltException("1337:1: field_constraint[ConditionalElementDescr base] : ( ( ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) );", 63, 1, input);
throw nvae;
}
@@ -5198,31 +5279,31 @@
else {
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1314:1: field_constraint[ConditionalElementDescr base] : ( ( ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) );", 63, 0, input);
+ new NoViableAltException("1337:1: field_constraint[ConditionalElementDescr base] : ( ( ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) );", 63, 0, input);
throw nvae;
}
switch (alt63) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1321:10: ( ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1344:10: ( ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1321:10: ( ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1322:3: ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1344:10: ( ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1345:3: ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )?
{
- ID52=(Token)input.LT(1);
- match(input,ID,FOLLOW_ID_in_field_constraint3588); if (failed) return ;
- match(input,76,FOLLOW_76_in_field_constraint3590); if (failed) return ;
+ ID53=(Token)input.LT(1);
+ match(input,ID,FOLLOW_ID_in_field_constraint3714); if (failed) return ;
+ match(input,77,FOLLOW_77_in_field_constraint3716); if (failed) return ;
if ( backtracking==0 ) {
fbd = new FieldBindingDescr();
- fbd.setIdentifier( ID52.getText() );
- fbd.setLocation( offset(ID52.getLine()), ID52.getCharPositionInLine() );
- fbd.setStartCharacter( ((CommonToken)ID52).getStartIndex() );
+ fbd.setIdentifier( ID53.getText() );
+ fbd.setLocation( offset(ID53.getLine()), ID53.getCharPositionInLine() );
+ fbd.setStartCharacter( ((CommonToken)ID53).getStartIndex() );
base.addDescr( fbd );
}
- pushFollow(FOLLOW_accessor_path_in_field_constraint3609);
+ pushFollow(FOLLOW_accessor_path_in_field_constraint3735);
f=accessor_path();
_fsp--;
if (failed) return ;
@@ -5237,7 +5318,7 @@
if ( fbd != null ) {
fbd.setFieldName( f.text );
// may have been overwritten
- fbd.setStartCharacter( ((CommonToken)ID52).getStartIndex() );
+ fbd.setStartCharacter( ((CommonToken)ID53).getStartIndex() );
}
fc = new FieldConstraintDescr(f.text);
fc.setLocation( offset(((Token)f.start).getLine()), ((Token)f.start).getCharPositionInLine() );
@@ -5245,34 +5326,34 @@
top = fc.getRestriction();
// it must be a field constraint, as it is not a binding
- if( ID52 == null ) {
+ if( ID53 == null ) {
base.addDescr( fc );
}
}
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1356:3: ( or_restr_connective[top] | '->' predicate[$base] )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1379:3: ( or_restr_connective[top] | '->' predicate[$base] )?
int alt62=3;
int LA62_0 = input.LA(1);
- if ( (LA62_0==LEFT_PAREN||LA62_0==NOT||(LA62_0>=CONTAINS && LA62_0<=IN)||(LA62_0>=78 && LA62_0<=83)) ) {
+ if ( (LA62_0==LEFT_PAREN||LA62_0==NOT||(LA62_0>=CONTAINS && LA62_0<=IN)||(LA62_0>=79 && LA62_0<=84)) ) {
alt62=1;
}
- else if ( (LA62_0==77) ) {
+ else if ( (LA62_0==78) ) {
alt62=2;
}
switch (alt62) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1357:4: or_restr_connective[top]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1380:4: or_restr_connective[top]
{
- pushFollow(FOLLOW_or_restr_connective_in_field_constraint3623);
+ pushFollow(FOLLOW_or_restr_connective_in_field_constraint3749);
or_restr_connective(top);
_fsp--;
if (failed) return ;
if ( backtracking==0 ) {
// we must add now as we didn't before
- if( ID52 != null) {
+ if( ID53 != null) {
base.addDescr( fc );
}
@@ -5281,10 +5362,10 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1365:4: '->' predicate[$base]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1388:4: '->' predicate[$base]
{
- match(input,77,FOLLOW_77_in_field_constraint3638); if (failed) return ;
- pushFollow(FOLLOW_predicate_in_field_constraint3640);
+ match(input,78,FOLLOW_78_in_field_constraint3764); if (failed) return ;
+ pushFollow(FOLLOW_predicate_in_field_constraint3766);
predicate(base);
_fsp--;
if (failed) return ;
@@ -5301,12 +5382,12 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1369:3: (f= accessor_path or_restr_connective[top] )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1392:3: (f= accessor_path or_restr_connective[top] )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1369:3: (f= accessor_path or_restr_connective[top] )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1370:3: f= accessor_path or_restr_connective[top]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1392:3: (f= accessor_path or_restr_connective[top] )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1393:3: f= accessor_path or_restr_connective[top]
{
- pushFollow(FOLLOW_accessor_path_in_field_constraint3666);
+ pushFollow(FOLLOW_accessor_path_in_field_constraint3792);
f=accessor_path();
_fsp--;
if (failed) return ;
@@ -5327,7 +5408,7 @@
}
}
- pushFollow(FOLLOW_or_restr_connective_in_field_constraint3675);
+ pushFollow(FOLLOW_or_restr_connective_in_field_constraint3801);
or_restr_connective(top);
_fsp--;
if (failed) return ;
@@ -5361,35 +5442,35 @@
// $ANTLR start or_restr_connective
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1402:1: or_restr_connective[ RestrictionConnectiveDescr base ] options {backtrack=true; } : and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )* ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1425:1: or_restr_connective[ RestrictionConnectiveDescr base ] options {backtrack=true; } : and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )* ;
public final void or_restr_connective(RestrictionConnectiveDescr base) throws RecognitionException {
RestrictionConnectiveDescr or = new RestrictionConnectiveDescr(RestrictionConnectiveDescr.OR);
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1409:2: ( and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )* )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1410:3: and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1432:2: ( and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )* )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1433:3: and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )*
{
- pushFollow(FOLLOW_and_restr_connective_in_or_restr_connective3722);
+ pushFollow(FOLLOW_and_restr_connective_in_or_restr_connective3848);
and_restr_connective(or);
_fsp--;
if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1411:3: ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1434:3: ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )*
loop64:
do {
int alt64=2;
alt64 = dfa64.predict(input);
switch (alt64) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1413:6: DOUBLE_PIPE and_restr_connective[or]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1436:4: DOUBLE_PIPE and_restr_connective[or]
{
- match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_or_restr_connective3745); if (failed) return ;
+ match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_or_restr_connective3872); if (failed) return ;
if ( backtracking==0 ) {
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
}
- pushFollow(FOLLOW_and_restr_connective_in_or_restr_connective3756);
+ pushFollow(FOLLOW_and_restr_connective_in_or_restr_connective3883);
and_restr_connective(or);
_fsp--;
if (failed) return ;
@@ -5425,7 +5506,7 @@
// $ANTLR start and_restr_connective
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1428:1: and_restr_connective[ RestrictionConnectiveDescr base ] : constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )* ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1451:1: and_restr_connective[ RestrictionConnectiveDescr base ] : constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )* ;
public final void and_restr_connective(RestrictionConnectiveDescr base) throws RecognitionException {
Token t=null;
@@ -5433,30 +5514,30 @@
RestrictionConnectiveDescr and = new RestrictionConnectiveDescr(RestrictionConnectiveDescr.AND);
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1432:2: ( constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )* )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1433:3: constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1455:2: ( constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )* )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1456:3: constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )*
{
- pushFollow(FOLLOW_constraint_expression_in_and_restr_connective3788);
+ pushFollow(FOLLOW_constraint_expression_in_and_restr_connective3915);
constraint_expression(and);
_fsp--;
if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1434:3: ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1457:3: ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )*
loop65:
do {
int alt65=2;
alt65 = dfa65.predict(input);
switch (alt65) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1435:5: t= DOUBLE_AMPER constraint_expression[and]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1458:5: t= DOUBLE_AMPER constraint_expression[and]
{
t=(Token)input.LT(1);
- match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_and_restr_connective3808); if (failed) return ;
+ match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_and_restr_connective3935); if (failed) return ;
if ( backtracking==0 ) {
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
}
- pushFollow(FOLLOW_constraint_expression_in_and_restr_connective3819);
+ pushFollow(FOLLOW_constraint_expression_in_and_restr_connective3946);
constraint_expression(and);
_fsp--;
if (failed) return ;
@@ -5492,13 +5573,13 @@
// $ANTLR start constraint_expression
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1450:1: constraint_expression[RestrictionConnectiveDescr base] : ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN ) ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1473:1: constraint_expression[RestrictionConnectiveDescr base] : ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN ) ;
public final void constraint_expression(RestrictionConnectiveDescr base) throws RecognitionException {
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1451:9: ( ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN ) )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1452:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1474:9: ( ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1475:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1452:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1475:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )
int alt66=3;
switch ( input.LA(1) ) {
case IN:
@@ -5519,7 +5600,7 @@
else {
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1452:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )", 66, 2, input);
+ new NoViableAltException("1475:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )", 66, 2, input);
throw nvae;
}
@@ -5531,12 +5612,12 @@
case SOUNDSLIKE:
case MEMBEROF:
case TILDE:
- case 78:
case 79:
case 80:
case 81:
case 82:
case 83:
+ case 84:
{
alt66=2;
}
@@ -5549,16 +5630,16 @@
default:
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1452:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )", 66, 0, input);
+ new NoViableAltException("1475:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )", 66, 0, input);
throw nvae;
}
switch (alt66) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1452:5: compound_operator[$base]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1475:5: compound_operator[$base]
{
- pushFollow(FOLLOW_compound_operator_in_constraint_expression3856);
+ pushFollow(FOLLOW_compound_operator_in_constraint_expression3983);
compound_operator(base);
_fsp--;
if (failed) return ;
@@ -5566,9 +5647,9 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1453:5: simple_operator[$base]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1476:5: simple_operator[$base]
{
- pushFollow(FOLLOW_simple_operator_in_constraint_expression3863);
+ pushFollow(FOLLOW_simple_operator_in_constraint_expression3990);
simple_operator(base);
_fsp--;
if (failed) return ;
@@ -5576,19 +5657,19 @@
}
break;
case 3 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1454:5: LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1477:5: LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN
{
- match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_constraint_expression3871); if (failed) return ;
+ match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_constraint_expression3998); if (failed) return ;
if ( backtracking==0 ) {
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
}
- pushFollow(FOLLOW_or_restr_connective_in_constraint_expression3880);
+ pushFollow(FOLLOW_or_restr_connective_in_constraint_expression4007);
or_restr_connective(base);
_fsp--;
if (failed) return ;
- match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_constraint_expression3885); if (failed) return ;
+ match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_constraint_expression4012); if (failed) return ;
}
break;
@@ -5611,7 +5692,7 @@
// $ANTLR start simple_operator
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1463:1: simple_operator[RestrictionConnectiveDescr base] : (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? ) rd= expression_value[$base, op, isNegated, paramText] ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1486:1: simple_operator[RestrictionConnectiveDescr base] : (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? ) rd= expression_value[$base, op, isNegated, paramText] ;
public final void simple_operator(RestrictionConnectiveDescr base) throws RecognitionException {
Token t=null;
Token n=null;
@@ -5626,38 +5707,38 @@
boolean isNegated = false;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1469:2: ( (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? ) rd= expression_value[$base, op, isNegated, paramText] )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1470:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? ) rd= expression_value[$base, op, isNegated, paramText]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1492:2: ( (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? ) rd= expression_value[$base, op, isNegated, paramText] )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1493:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? ) rd= expression_value[$base, op, isNegated, paramText]
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1470:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1493:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? )
int alt69=16;
switch ( input.LA(1) ) {
- case 78:
+ case 79:
{
alt69=1;
}
break;
- case 79:
+ case 80:
{
alt69=2;
}
break;
- case 80:
+ case 81:
{
alt69=3;
}
break;
- case 81:
+ case 82:
{
alt69=4;
}
break;
- case 82:
+ case 83:
{
alt69=5;
}
break;
- case 83:
+ case 84:
{
alt69=6;
}
@@ -5670,30 +5751,30 @@
case NOT:
{
switch ( input.LA(2) ) {
- case CONTAINS:
+ case TILDE:
{
- alt69=8;
+ alt69=16;
}
break;
- case TILDE:
+ case MEMBEROF:
{
- alt69=16;
+ alt69=14;
}
break;
- case MATCHES:
+ case CONTAINS:
{
- alt69=12;
+ alt69=8;
}
break;
- case MEMBEROF:
+ case MATCHES:
{
- alt69=14;
+ alt69=12;
}
break;
default:
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1470:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? )", 69, 8, input);
+ new NoViableAltException("1493:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? )", 69, 8, input);
throw nvae;
}
@@ -5728,137 +5809,137 @@
default:
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1470:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? )", 69, 0, input);
+ new NoViableAltException("1493:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? )", 69, 0, input);
throw nvae;
}
switch (alt69) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1470:5: t= '=='
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1493:5: t= '=='
{
t=(Token)input.LT(1);
- match(input,78,FOLLOW_78_in_simple_operator3916); if (failed) return ;
+ match(input,79,FOLLOW_79_in_simple_operator4043); if (failed) return ;
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1471:5: t= '>'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1494:5: t= '>'
{
t=(Token)input.LT(1);
- match(input,79,FOLLOW_79_in_simple_operator3924); if (failed) return ;
+ match(input,80,FOLLOW_80_in_simple_operator4051); if (failed) return ;
}
break;
case 3 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1472:5: t= '>='
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1495:5: t= '>='
{
t=(Token)input.LT(1);
- match(input,80,FOLLOW_80_in_simple_operator3932); if (failed) return ;
+ match(input,81,FOLLOW_81_in_simple_operator4059); if (failed) return ;
}
break;
case 4 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1473:5: t= '<'
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1496:5: t= '<'
{
t=(Token)input.LT(1);
- match(input,81,FOLLOW_81_in_simple_operator3940); if (failed) return ;
+ match(input,82,FOLLOW_82_in_simple_operator4067); if (failed) return ;
}
break;
case 5 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1474:5: t= '<='
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1497:5: t= '<='
{
t=(Token)input.LT(1);
- match(input,82,FOLLOW_82_in_simple_operator3948); if (failed) return ;
+ match(input,83,FOLLOW_83_in_simple_operator4075); if (failed) return ;
}
break;
case 6 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1475:5: t= '!='
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1498:5: t= '!='
{
t=(Token)input.LT(1);
- match(input,83,FOLLOW_83_in_simple_operator3956); if (failed) return ;
+ match(input,84,FOLLOW_84_in_simple_operator4083); if (failed) return ;
}
break;
case 7 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1476:25: t= CONTAINS
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1499:25: t= CONTAINS
{
t=(Token)input.LT(1);
- match(input,CONTAINS,FOLLOW_CONTAINS_in_simple_operator3984); if (failed) return ;
+ match(input,CONTAINS,FOLLOW_CONTAINS_in_simple_operator4111); if (failed) return ;
}
break;
case 8 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1477:25: n= NOT t= CONTAINS
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1500:25: n= NOT t= CONTAINS
{
n=(Token)input.LT(1);
- match(input,NOT,FOLLOW_NOT_in_simple_operator4012); if (failed) return ;
+ match(input,NOT,FOLLOW_NOT_in_simple_operator4139); if (failed) return ;
t=(Token)input.LT(1);
- match(input,CONTAINS,FOLLOW_CONTAINS_in_simple_operator4016); if (failed) return ;
+ match(input,CONTAINS,FOLLOW_CONTAINS_in_simple_operator4143); if (failed) return ;
}
break;
case 9 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1478:25: t= EXCLUDES
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1501:25: t= EXCLUDES
{
t=(Token)input.LT(1);
- match(input,EXCLUDES,FOLLOW_EXCLUDES_in_simple_operator4044); if (failed) return ;
+ match(input,EXCLUDES,FOLLOW_EXCLUDES_in_simple_operator4171); if (failed) return ;
}
break;
case 10 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1479:25: t= MATCHES
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1502:25: t= MATCHES
{
t=(Token)input.LT(1);
- match(input,MATCHES,FOLLOW_MATCHES_in_simple_operator4072); if (failed) return ;
+ match(input,MATCHES,FOLLOW_MATCHES_in_simple_operator4199); if (failed) return ;
}
break;
case 11 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1480:25: t= SOUNDSLIKE
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1503:25: t= SOUNDSLIKE
{
t=(Token)input.LT(1);
- match(input,SOUNDSLIKE,FOLLOW_SOUNDSLIKE_in_simple_operator4100); if (failed) return ;
+ match(input,SOUNDSLIKE,FOLLOW_SOUNDSLIKE_in_simple_operator4227); if (failed) return ;
}
break;
case 12 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1481:25: n= NOT t= MATCHES
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1504:25: n= NOT t= MATCHES
{
n=(Token)input.LT(1);
- match(input,NOT,FOLLOW_NOT_in_simple_operator4128); if (failed) return ;
+ match(input,NOT,FOLLOW_NOT_in_simple_operator4255); if (failed) return ;
t=(Token)input.LT(1);
- match(input,MATCHES,FOLLOW_MATCHES_in_simple_operator4132); if (failed) return ;
+ match(input,MATCHES,FOLLOW_MATCHES_in_simple_operator4259); if (failed) return ;
}
break;
case 13 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1482:25: t= MEMBEROF
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1505:25: t= MEMBEROF
{
t=(Token)input.LT(1);
- match(input,MEMBEROF,FOLLOW_MEMBEROF_in_simple_operator4160); if (failed) return ;
+ match(input,MEMBEROF,FOLLOW_MEMBEROF_in_simple_operator4287); if (failed) return ;
}
break;
case 14 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1483:25: n= NOT t= MEMBEROF
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1506:25: n= NOT t= MEMBEROF
{
n=(Token)input.LT(1);
- match(input,NOT,FOLLOW_NOT_in_simple_operator4188); if (failed) return ;
+ match(input,NOT,FOLLOW_NOT_in_simple_operator4315); if (failed) return ;
t=(Token)input.LT(1);
- match(input,MEMBEROF,FOLLOW_MEMBEROF_in_simple_operator4192); if (failed) return ;
+ match(input,MEMBEROF,FOLLOW_MEMBEROF_in_simple_operator4319); if (failed) return ;
}
break;
case 15 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1484:5: TILDE t= ID (param= square_chunk )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1507:5: TILDE t= ID (param= square_chunk )?
{
- match(input,TILDE,FOLLOW_TILDE_in_simple_operator4198); if (failed) return ;
+ match(input,TILDE,FOLLOW_TILDE_in_simple_operator4325); if (failed) return ;
t=(Token)input.LT(1);
- match(input,ID,FOLLOW_ID_in_simple_operator4202); if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1484:21: (param= square_chunk )?
+ match(input,ID,FOLLOW_ID_in_simple_operator4329); if (failed) return ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1507:21: (param= square_chunk )?
int alt67=2;
int LA67_0 = input.LA(1);
@@ -5867,9 +5948,9 @@
}
switch (alt67) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1484:21: param= square_chunk
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1507:21: param= square_chunk
{
- pushFollow(FOLLOW_square_chunk_in_simple_operator4206);
+ pushFollow(FOLLOW_square_chunk_in_simple_operator4333);
param=square_chunk();
_fsp--;
if (failed) return ;
@@ -5883,14 +5964,14 @@
}
break;
case 16 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1485:5: n= NOT TILDE t= ID (param= square_chunk )?
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1508:5: n= NOT TILDE t= ID (param= square_chunk )?
{
n=(Token)input.LT(1);
- match(input,NOT,FOLLOW_NOT_in_simple_operator4215); if (failed) return ;
- match(input,TILDE,FOLLOW_TILDE_in_simple_operator4217); if (failed) return ;
+ match(input,NOT,FOLLOW_NOT_in_simple_operator4342); if (failed) return ;
+ match(input,TILDE,FOLLOW_TILDE_in_simple_operator4344); if (failed) return ;
t=(Token)input.LT(1);
- match(input,ID,FOLLOW_ID_in_simple_operator4221); if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1485:27: (param= square_chunk )?
+ match(input,ID,FOLLOW_ID_in_simple_operator4348); if (failed) return ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1508:27: (param= square_chunk )?
int alt68=2;
int LA68_0 = input.LA(1);
@@ -5899,9 +5980,9 @@
}
switch (alt68) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1485:27: param= square_chunk
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1508:27: param= square_chunk
{
- pushFollow(FOLLOW_square_chunk_in_simple_operator4225);
+ pushFollow(FOLLOW_square_chunk_in_simple_operator4352);
param=square_chunk();
_fsp--;
if (failed) return ;
@@ -5928,7 +6009,7 @@
}
}
- pushFollow(FOLLOW_expression_value_in_simple_operator4240);
+ pushFollow(FOLLOW_expression_value_in_simple_operator4367);
rd=expression_value(base, op, isNegated, paramText);
_fsp--;
if (failed) return ;
@@ -5953,7 +6034,7 @@
// $ANTLR start compound_operator
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1504:1: compound_operator[RestrictionConnectiveDescr base] : ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op, false, null] ( COMMA rd= expression_value[group, op, false, null] )* RIGHT_PAREN ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1527:1: compound_operator[RestrictionConnectiveDescr base] : ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op, false, null] ( COMMA rd= expression_value[group, op, false, null] )* RIGHT_PAREN ;
public final void compound_operator(RestrictionConnectiveDescr base) throws RecognitionException {
RestrictionDescr rd = null;
@@ -5963,10 +6044,10 @@
RestrictionConnectiveDescr group = null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1509:2: ( ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op, false, null] ( COMMA rd= expression_value[group, op, false, null] )* RIGHT_PAREN )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1510:3: ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op, false, null] ( COMMA rd= expression_value[group, op, false, null] )* RIGHT_PAREN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1532:2: ( ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op, false, null] ( COMMA rd= expression_value[group, op, false, null] )* RIGHT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1533:3: ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op, false, null] ( COMMA rd= expression_value[group, op, false, null] )* RIGHT_PAREN
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1510:3: ( IN | NOT IN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1533:3: ( IN | NOT IN )
int alt70=2;
int LA70_0 = input.LA(1);
@@ -5979,15 +6060,15 @@
else {
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("1510:3: ( IN | NOT IN )", 70, 0, input);
+ new NoViableAltException("1533:3: ( IN | NOT IN )", 70, 0, input);
throw nvae;
}
switch (alt70) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1510:5: IN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1533:5: IN
{
- match(input,IN,FOLLOW_IN_in_compound_operator4270); if (failed) return ;
+ match(input,IN,FOLLOW_IN_in_compound_operator4397); if (failed) return ;
if ( backtracking==0 ) {
op = "==";
@@ -6001,10 +6082,10 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1518:5: NOT IN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1541:5: NOT IN
{
- match(input,NOT,FOLLOW_NOT_in_compound_operator4282); if (failed) return ;
- match(input,IN,FOLLOW_IN_in_compound_operator4284); if (failed) return ;
+ match(input,NOT,FOLLOW_NOT_in_compound_operator4409); if (failed) return ;
+ match(input,IN,FOLLOW_IN_in_compound_operator4411); if (failed) return ;
if ( backtracking==0 ) {
op = "!=";
@@ -6020,12 +6101,12 @@
}
- match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_compound_operator4299); if (failed) return ;
- pushFollow(FOLLOW_expression_value_in_compound_operator4303);
+ match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_compound_operator4426); if (failed) return ;
+ pushFollow(FOLLOW_expression_value_in_compound_operator4430);
rd=expression_value(group, op, false, null);
_fsp--;
if (failed) return ;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1528:3: ( COMMA rd= expression_value[group, op, false, null] )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1551:3: ( COMMA rd= expression_value[group, op, false, null] )*
loop71:
do {
int alt71=2;
@@ -6038,10 +6119,10 @@
switch (alt71) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1528:5: COMMA rd= expression_value[group, op, false, null]
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1551:5: COMMA rd= expression_value[group, op, false, null]
{
- match(input,COMMA,FOLLOW_COMMA_in_compound_operator4310); if (failed) return ;
- pushFollow(FOLLOW_expression_value_in_compound_operator4314);
+ match(input,COMMA,FOLLOW_COMMA_in_compound_operator4437); if (failed) return ;
+ pushFollow(FOLLOW_expression_value_in_compound_operator4441);
rd=expression_value(group, op, false, null);
_fsp--;
if (failed) return ;
@@ -6054,7 +6135,7 @@
}
} while (true);
- match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_compound_operator4323); if (failed) return ;
+ match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_compound_operator4450); if (failed) return ;
if ( backtracking==0 ) {
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_END);
@@ -6076,7 +6157,7 @@
// $ANTLR start expression_value
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1535:1: expression_value[RestrictionConnectiveDescr base, String op, boolean isNegated, String paramText] returns [RestrictionDescr rd] : (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk ) ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1558:1: expression_value[RestrictionConnectiveDescr base, String op, boolean isNegated, String paramText] returns [RestrictionDescr rd] : (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk ) ;
public final RestrictionDescr expression_value(RestrictionConnectiveDescr base, String op, boolean isNegated, String paramText) throws RecognitionException {
RestrictionDescr rd = null;
@@ -6091,10 +6172,10 @@
rd = null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1539:2: ( (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk ) )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1540:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1562:2: ( (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1563:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1540:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1563:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )
int alt72=3;
switch ( input.LA(1) ) {
case PACKAGE:
@@ -6146,16 +6227,16 @@
default:
if (backtracking>0) {failed=true; return rd;}
NoViableAltException nvae =
- new NoViableAltException("1540:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )", 72, 0, input);
+ new NoViableAltException("1563:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )", 72, 0, input);
throw nvae;
}
switch (alt72) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1540:5: ap= accessor_path
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1563:5: ap= accessor_path
{
- pushFollow(FOLLOW_accessor_path_in_expression_value4357);
+ pushFollow(FOLLOW_accessor_path_in_expression_value4484);
ap=accessor_path();
_fsp--;
if (failed) return rd;
@@ -6172,9 +6253,9 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1548:5: lc= literal_constraint
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1571:5: lc= literal_constraint
{
- pushFollow(FOLLOW_literal_constraint_in_expression_value4377);
+ pushFollow(FOLLOW_literal_constraint_in_expression_value4504);
lc=literal_constraint();
_fsp--;
if (failed) return rd;
@@ -6187,9 +6268,9 @@
}
break;
case 3 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1552:5: rvc= paren_chunk
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1575:5: rvc= paren_chunk
{
- pushFollow(FOLLOW_paren_chunk_in_expression_value4391);
+ pushFollow(FOLLOW_paren_chunk_in_expression_value4518);
rvc=paren_chunk();
_fsp--;
if (failed) return rd;
@@ -6232,7 +6313,7 @@
};
// $ANTLR start literal_constraint
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1565:1: literal_constraint returns [String text, int type] : (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL ) ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1588:1: literal_constraint returns [String text, int type] : (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL ) ;
public final literal_constraint_return literal_constraint() throws RecognitionException {
literal_constraint_return retval = new literal_constraint_return();
retval.start = input.LT(1);
@@ -6243,10 +6324,10 @@
retval.text = null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1569:2: ( (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL ) )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1569:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1592:2: ( (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL ) )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1592:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )
{
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1569:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1592:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )
int alt73=5;
switch ( input.LA(1) ) {
case STRING:
@@ -6277,17 +6358,17 @@
default:
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("1569:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )", 73, 0, input);
+ new NoViableAltException("1592:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )", 73, 0, input);
throw nvae;
}
switch (alt73) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1569:6: t= STRING
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1592:6: t= STRING
{
t=(Token)input.LT(1);
- match(input,STRING,FOLLOW_STRING_in_literal_constraint4434); if (failed) return retval;
+ match(input,STRING,FOLLOW_STRING_in_literal_constraint4561); if (failed) return retval;
if ( backtracking==0 ) {
retval.text = getString( t.getText() ); retval.type = LiteralRestrictionDescr.TYPE_STRING;
}
@@ -6295,10 +6376,10 @@
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1570:5: t= INT
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1593:5: t= INT
{
t=(Token)input.LT(1);
- match(input,INT,FOLLOW_INT_in_literal_constraint4445); if (failed) return retval;
+ match(input,INT,FOLLOW_INT_in_literal_constraint4572); if (failed) return retval;
if ( backtracking==0 ) {
retval.text = t.getText(); retval.type = LiteralRestrictionDescr.TYPE_NUMBER;
}
@@ -6306,10 +6387,10 @@
}
break;
case 3 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1571:5: t= FLOAT
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1594:5: t= FLOAT
{
t=(Token)input.LT(1);
- match(input,FLOAT,FOLLOW_FLOAT_in_literal_constraint4458); if (failed) return retval;
+ match(input,FLOAT,FOLLOW_FLOAT_in_literal_constraint4585); if (failed) return retval;
if ( backtracking==0 ) {
retval.text = t.getText(); retval.type = LiteralRestrictionDescr.TYPE_NUMBER;
}
@@ -6317,10 +6398,10 @@
}
break;
case 4 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1572:5: t= BOOL
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1595:5: t= BOOL
{
t=(Token)input.LT(1);
- match(input,BOOL,FOLLOW_BOOL_in_literal_constraint4469); if (failed) return retval;
+ match(input,BOOL,FOLLOW_BOOL_in_literal_constraint4596); if (failed) return retval;
if ( backtracking==0 ) {
retval.text = t.getText(); retval.type = LiteralRestrictionDescr.TYPE_BOOLEAN;
}
@@ -6328,10 +6409,10 @@
}
break;
case 5 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1573:5: t= NULL
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1596:5: t= NULL
{
t=(Token)input.LT(1);
- match(input,NULL,FOLLOW_NULL_in_literal_constraint4481); if (failed) return retval;
+ match(input,NULL,FOLLOW_NULL_in_literal_constraint4608); if (failed) return retval;
if ( backtracking==0 ) {
retval.text = null; retval.type = LiteralRestrictionDescr.TYPE_NULL;
}
@@ -6359,7 +6440,7 @@
// $ANTLR start predicate
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1577:1: predicate[ConditionalElementDescr base] : text= paren_chunk ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1600:1: predicate[ConditionalElementDescr base] : text= paren_chunk ;
public final void predicate(ConditionalElementDescr base) throws RecognitionException {
paren_chunk_return text = null;
@@ -6368,10 +6449,10 @@
PredicateDescr d = null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1581:2: (text= paren_chunk )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1582:3: text= paren_chunk
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1604:2: (text= paren_chunk )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1605:3: text= paren_chunk
{
- pushFollow(FOLLOW_paren_chunk_in_predicate4519);
+ pushFollow(FOLLOW_paren_chunk_in_predicate4646);
text=paren_chunk();
_fsp--;
if (failed) return ;
@@ -6403,23 +6484,23 @@
};
// $ANTLR start curly_chunk
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1594:1: curly_chunk : LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1617:1: curly_chunk : LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY ;
public final curly_chunk_return curly_chunk() throws RecognitionException {
curly_chunk_return retval = new curly_chunk_return();
retval.start = input.LT(1);
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1595:2: ( LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1596:3: LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1618:2: ( LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1619:3: LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY
{
- match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_curly_chunk4537); if (failed) return retval;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1596:14: (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )*
+ match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_curly_chunk4664); if (failed) return retval;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1619:14: (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )*
loop74:
do {
int alt74=3;
int LA74_0 = input.LA(1);
- if ( ((LA74_0>=PACKAGE && LA74_0<=NULL)||(LA74_0>=LEFT_SQUARE && LA74_0<=83)) ) {
+ if ( ((LA74_0>=PACKAGE && LA74_0<=NULL)||(LA74_0>=LEFT_SQUARE && LA74_0<=84)) ) {
alt74=1;
}
else if ( (LA74_0==LEFT_CURLY) ) {
@@ -6429,9 +6510,9 @@
switch (alt74) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1596:16: ~ ( LEFT_CURLY | RIGHT_CURLY )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1619:16: ~ ( LEFT_CURLY | RIGHT_CURLY )
{
- if ( (input.LA(1)>=PACKAGE && input.LA(1)<=NULL)||(input.LA(1)>=LEFT_SQUARE && input.LA(1)<=83) ) {
+ if ( (input.LA(1)>=PACKAGE && input.LA(1)<=NULL)||(input.LA(1)>=LEFT_SQUARE && input.LA(1)<=84) ) {
input.consume();
errorRecovery=false;failed=false;
}
@@ -6439,16 +6520,16 @@
if (backtracking>0) {failed=true; return retval;}
MismatchedSetException mse =
new MismatchedSetException(null,input);
- recoverFromMismatchedSet(input,mse,FOLLOW_set_in_curly_chunk4541); throw mse;
+ recoverFromMismatchedSet(input,mse,FOLLOW_set_in_curly_chunk4668); throw mse;
}
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1596:44: curly_chunk
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1619:44: curly_chunk
{
- pushFollow(FOLLOW_curly_chunk_in_curly_chunk4550);
+ pushFollow(FOLLOW_curly_chunk_in_curly_chunk4677);
curly_chunk();
_fsp--;
if (failed) return retval;
@@ -6461,7 +6542,7 @@
}
} while (true);
- match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_curly_chunk4555); if (failed) return retval;
+ match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_curly_chunk4682); if (failed) return retval;
}
@@ -6482,23 +6563,23 @@
};
// $ANTLR start paren_chunk
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1599:1: paren_chunk : LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1622:1: paren_chunk : LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN ;
public final paren_chunk_return paren_chunk() throws RecognitionException {
paren_chunk_return retval = new paren_chunk_return();
retval.start = input.LT(1);
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1600:2: ( LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1601:3: LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1623:2: ( LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1624:3: LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN
{
- match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_paren_chunk4569); if (failed) return retval;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1601:14: (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )*
+ match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_paren_chunk4696); if (failed) return retval;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1624:14: (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )*
loop75:
do {
int alt75=3;
int LA75_0 = input.LA(1);
- if ( ((LA75_0>=PACKAGE && LA75_0<=GLOBAL)||LA75_0==COMMA||(LA75_0>=QUERY && LA75_0<=83)) ) {
+ if ( ((LA75_0>=PACKAGE && LA75_0<=GLOBAL)||LA75_0==COMMA||(LA75_0>=QUERY && LA75_0<=84)) ) {
alt75=1;
}
else if ( (LA75_0==LEFT_PAREN) ) {
@@ -6508,9 +6589,9 @@
switch (alt75) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1601:16: ~ ( LEFT_PAREN | RIGHT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1624:16: ~ ( LEFT_PAREN | RIGHT_PAREN )
{
- if ( (input.LA(1)>=PACKAGE && input.LA(1)<=GLOBAL)||input.LA(1)==COMMA||(input.LA(1)>=QUERY && input.LA(1)<=83) ) {
+ if ( (input.LA(1)>=PACKAGE && input.LA(1)<=GLOBAL)||input.LA(1)==COMMA||(input.LA(1)>=QUERY && input.LA(1)<=84) ) {
input.consume();
errorRecovery=false;failed=false;
}
@@ -6518,16 +6599,16 @@
if (backtracking>0) {failed=true; return retval;}
MismatchedSetException mse =
new MismatchedSetException(null,input);
- recoverFromMismatchedSet(input,mse,FOLLOW_set_in_paren_chunk4573); throw mse;
+ recoverFromMismatchedSet(input,mse,FOLLOW_set_in_paren_chunk4700); throw mse;
}
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1601:44: paren_chunk
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1624:44: paren_chunk
{
- pushFollow(FOLLOW_paren_chunk_in_paren_chunk4582);
+ pushFollow(FOLLOW_paren_chunk_in_paren_chunk4709);
paren_chunk();
_fsp--;
if (failed) return retval;
@@ -6540,7 +6621,7 @@
}
} while (true);
- match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_paren_chunk4587); if (failed) return retval;
+ match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_paren_chunk4714); if (failed) return retval;
}
@@ -6561,23 +6642,23 @@
};
// $ANTLR start square_chunk
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1604:1: square_chunk : LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1627:1: square_chunk : LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE ;
public final square_chunk_return square_chunk() throws RecognitionException {
square_chunk_return retval = new square_chunk_return();
retval.start = input.LT(1);
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1605:2: ( LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1606:3: LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1628:2: ( LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1629:3: LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE
{
- match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_square_chunk4600); if (failed) return retval;
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1606:15: (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )*
+ match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_square_chunk4727); if (failed) return retval;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1629:15: (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )*
loop76:
do {
int alt76=3;
int LA76_0 = input.LA(1);
- if ( ((LA76_0>=PACKAGE && LA76_0<=RIGHT_CURLY)||(LA76_0>=THEN && LA76_0<=83)) ) {
+ if ( ((LA76_0>=PACKAGE && LA76_0<=RIGHT_CURLY)||(LA76_0>=THEN && LA76_0<=84)) ) {
alt76=1;
}
else if ( (LA76_0==LEFT_SQUARE) ) {
@@ -6587,9 +6668,9 @@
switch (alt76) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1606:17: ~ ( LEFT_SQUARE | RIGHT_SQUARE )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1629:17: ~ ( LEFT_SQUARE | RIGHT_SQUARE )
{
- if ( (input.LA(1)>=PACKAGE && input.LA(1)<=RIGHT_CURLY)||(input.LA(1)>=THEN && input.LA(1)<=83) ) {
+ if ( (input.LA(1)>=PACKAGE && input.LA(1)<=RIGHT_CURLY)||(input.LA(1)>=THEN && input.LA(1)<=84) ) {
input.consume();
errorRecovery=false;failed=false;
}
@@ -6597,16 +6678,16 @@
if (backtracking>0) {failed=true; return retval;}
MismatchedSetException mse =
new MismatchedSetException(null,input);
- recoverFromMismatchedSet(input,mse,FOLLOW_set_in_square_chunk4604); throw mse;
+ recoverFromMismatchedSet(input,mse,FOLLOW_set_in_square_chunk4731); throw mse;
}
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1606:47: square_chunk
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1629:47: square_chunk
{
- pushFollow(FOLLOW_square_chunk_in_square_chunk4613);
+ pushFollow(FOLLOW_square_chunk_in_square_chunk4740);
square_chunk();
_fsp--;
if (failed) return retval;
@@ -6619,7 +6700,7 @@
}
} while (true);
- match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_square_chunk4618); if (failed) return retval;
+ match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_square_chunk4745); if (failed) return retval;
}
@@ -6641,28 +6722,28 @@
};
// $ANTLR start qualified_id
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1609:1: qualified_id returns [ String text ] : ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1632:1: qualified_id returns [ String text ] : ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* ;
public final qualified_id_return qualified_id() throws RecognitionException {
qualified_id_return retval = new qualified_id_return();
retval.start = input.LT(1);
- Token ID53=null;
- identifier_return identifier54 = null;
+ Token ID54=null;
+ identifier_return identifier55 = null;
StringBuffer buf = new StringBuffer();
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1616:2: ( ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1616:5: ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1639:2: ( ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1639:5: ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )*
{
- ID53=(Token)input.LT(1);
- match(input,ID,FOLLOW_ID_in_qualified_id4647); if (failed) return retval;
+ ID54=(Token)input.LT(1);
+ match(input,ID,FOLLOW_ID_in_qualified_id4774); if (failed) return retval;
if ( backtracking==0 ) {
- buf.append(ID53.getText());
+ buf.append(ID54.getText());
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1616:32: ( DOT identifier )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1639:32: ( DOT identifier )*
loop77:
do {
int alt77=2;
@@ -6675,15 +6756,15 @@
switch (alt77) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1616:34: DOT identifier
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1639:34: DOT identifier
{
- match(input,DOT,FOLLOW_DOT_in_qualified_id4653); if (failed) return retval;
- pushFollow(FOLLOW_identifier_in_qualified_id4655);
- identifier54=identifier();
+ match(input,DOT,FOLLOW_DOT_in_qualified_id4780); if (failed) return retval;
+ pushFollow(FOLLOW_identifier_in_qualified_id4782);
+ identifier55=identifier();
_fsp--;
if (failed) return retval;
if ( backtracking==0 ) {
- buf.append("."+input.toString(identifier54.start,identifier54.stop));
+ buf.append("."+input.toString(identifier55.start,identifier55.stop));
}
}
@@ -6694,7 +6775,7 @@
}
} while (true);
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1616:88: ( LEFT_SQUARE RIGHT_SQUARE )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1639:88: ( LEFT_SQUARE RIGHT_SQUARE )*
loop78:
do {
int alt78=2;
@@ -6707,10 +6788,10 @@
switch (alt78) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1616:90: LEFT_SQUARE RIGHT_SQUARE
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1639:90: LEFT_SQUARE RIGHT_SQUARE
{
- match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_qualified_id4664); if (failed) return retval;
- match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_qualified_id4666); if (failed) return retval;
+ match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_qualified_id4791); if (failed) return retval;
+ match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_qualified_id4793); if (failed) return retval;
if ( backtracking==0 ) {
buf.append("[]");
}
@@ -6746,7 +6827,7 @@
// $ANTLR start dotted_name
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1619:1: dotted_name returns [ String text ] : i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1642:1: dotted_name returns [ String text ] : i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* ;
public final String dotted_name() throws RecognitionException {
String text = null;
@@ -6757,17 +6838,17 @@
StringBuffer buf = new StringBuffer();
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1626:2: (i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1626:4: i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1649:2: (i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1649:4: i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )*
{
- pushFollow(FOLLOW_identifier_in_dotted_name4700);
+ pushFollow(FOLLOW_identifier_in_dotted_name4827);
i=identifier();
_fsp--;
if (failed) return text;
if ( backtracking==0 ) {
buf.append(input.toString(i.start,i.stop));
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1626:40: ( DOT i= identifier )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1649:40: ( DOT i= identifier )*
loop79:
do {
int alt79=2;
@@ -6780,10 +6861,10 @@
switch (alt79) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1626:42: DOT i= identifier
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1649:42: DOT i= identifier
{
- match(input,DOT,FOLLOW_DOT_in_dotted_name4706); if (failed) return text;
- pushFollow(FOLLOW_identifier_in_dotted_name4710);
+ match(input,DOT,FOLLOW_DOT_in_dotted_name4833); if (failed) return text;
+ pushFollow(FOLLOW_identifier_in_dotted_name4837);
i=identifier();
_fsp--;
if (failed) return text;
@@ -6799,7 +6880,7 @@
}
} while (true);
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1626:89: ( LEFT_SQUARE RIGHT_SQUARE )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1649:89: ( LEFT_SQUARE RIGHT_SQUARE )*
loop80:
do {
int alt80=2;
@@ -6812,10 +6893,10 @@
switch (alt80) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1626:91: LEFT_SQUARE RIGHT_SQUARE
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1649:91: LEFT_SQUARE RIGHT_SQUARE
{
- match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_dotted_name4719); if (failed) return text;
- match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_dotted_name4721); if (failed) return text;
+ match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_dotted_name4846); if (failed) return text;
+ match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_dotted_name4848); if (failed) return text;
if ( backtracking==0 ) {
buf.append("[]");
}
@@ -6852,7 +6933,7 @@
};
// $ANTLR start accessor_path
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1629:1: accessor_path returns [ String text ] : a= accessor_element ( DOT a= accessor_element )* ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1652:1: accessor_path returns [ String text ] : a= accessor_element ( DOT a= accessor_element )* ;
public final accessor_path_return accessor_path() throws RecognitionException {
accessor_path_return retval = new accessor_path_return();
retval.start = input.LT(1);
@@ -6864,17 +6945,17 @@
StringBuffer buf = new StringBuffer();
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1636:2: (a= accessor_element ( DOT a= accessor_element )* )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1636:4: a= accessor_element ( DOT a= accessor_element )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1659:2: (a= accessor_element ( DOT a= accessor_element )* )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1659:4: a= accessor_element ( DOT a= accessor_element )*
{
- pushFollow(FOLLOW_accessor_element_in_accessor_path4755);
+ pushFollow(FOLLOW_accessor_element_in_accessor_path4882);
a=accessor_element();
_fsp--;
if (failed) return retval;
if ( backtracking==0 ) {
buf.append(a);
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1636:46: ( DOT a= accessor_element )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1659:46: ( DOT a= accessor_element )*
loop81:
do {
int alt81=2;
@@ -6887,10 +6968,10 @@
switch (alt81) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1636:48: DOT a= accessor_element
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1659:48: DOT a= accessor_element
{
- match(input,DOT,FOLLOW_DOT_in_accessor_path4761); if (failed) return retval;
- pushFollow(FOLLOW_accessor_element_in_accessor_path4765);
+ match(input,DOT,FOLLOW_DOT_in_accessor_path4888); if (failed) return retval;
+ pushFollow(FOLLOW_accessor_element_in_accessor_path4892);
a=accessor_element();
_fsp--;
if (failed) return retval;
@@ -6929,7 +7010,7 @@
// $ANTLR start accessor_element
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1639:1: accessor_element returns [ String text ] : i= identifier (s= square_chunk )* ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1662:1: accessor_element returns [ String text ] : i= identifier (s= square_chunk )* ;
public final String accessor_element() throws RecognitionException {
String text = null;
@@ -6942,17 +7023,17 @@
StringBuffer buf = new StringBuffer();
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1646:2: (i= identifier (s= square_chunk )* )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1647:3: i= identifier (s= square_chunk )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1669:2: (i= identifier (s= square_chunk )* )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1670:3: i= identifier (s= square_chunk )*
{
- pushFollow(FOLLOW_identifier_in_accessor_element4803);
+ pushFollow(FOLLOW_identifier_in_accessor_element4930);
i=identifier();
_fsp--;
if (failed) return text;
if ( backtracking==0 ) {
buf.append(input.toString(i.start,i.stop));
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1647:39: (s= square_chunk )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1670:39: (s= square_chunk )*
loop82:
do {
int alt82=2;
@@ -6965,9 +7046,9 @@
switch (alt82) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1647:40: s= square_chunk
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1670:40: s= square_chunk
{
- pushFollow(FOLLOW_square_chunk_in_accessor_element4810);
+ pushFollow(FOLLOW_square_chunk_in_accessor_element4937);
s=square_chunk();
_fsp--;
if (failed) return text;
@@ -7004,36 +7085,36 @@
// $ANTLR start rhs_chunk
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1650:1: rhs_chunk[RuleDescr rule] : THEN (~ END )* loc= END opt_semicolon ;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1673:1: rhs_chunk[RuleDescr rule] : THEN (~ END )* loc= END opt_semicolon ;
public final void rhs_chunk(RuleDescr rule) throws RecognitionException {
Token loc=null;
- Token THEN55=null;
+ Token THEN56=null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1651:2: ( THEN (~ END )* loc= END opt_semicolon )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1652:3: THEN (~ END )* loc= END opt_semicolon
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1674:2: ( THEN (~ END )* loc= END opt_semicolon )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1675:3: THEN (~ END )* loc= END opt_semicolon
{
- THEN55=(Token)input.LT(1);
- match(input,THEN,FOLLOW_THEN_in_rhs_chunk4831); if (failed) return ;
+ THEN56=(Token)input.LT(1);
+ match(input,THEN,FOLLOW_THEN_in_rhs_chunk4958); if (failed) return ;
if ( backtracking==0 ) {
location.setType( Location.LOCATION_RHS );
}
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1653:3: (~ END )*
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1676:3: (~ END )*
loop83:
do {
int alt83=2;
int LA83_0 = input.LA(1);
- if ( ((LA83_0>=PACKAGE && LA83_0<=QUERY)||(LA83_0>=TEMPLATE && LA83_0<=83)) ) {
+ if ( ((LA83_0>=PACKAGE && LA83_0<=QUERY)||(LA83_0>=TEMPLATE && LA83_0<=84)) ) {
alt83=1;
}
switch (alt83) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1653:5: ~ END
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1676:5: ~ END
{
- if ( (input.LA(1)>=PACKAGE && input.LA(1)<=QUERY)||(input.LA(1)>=TEMPLATE && input.LA(1)<=83) ) {
+ if ( (input.LA(1)>=PACKAGE && input.LA(1)<=QUERY)||(input.LA(1)>=TEMPLATE && input.LA(1)<=84) ) {
input.consume();
errorRecovery=false;failed=false;
}
@@ -7041,7 +7122,7 @@
if (backtracking>0) {failed=true; return ;}
MismatchedSetException mse =
new MismatchedSetException(null,input);
- recoverFromMismatchedSet(input,mse,FOLLOW_set_in_rhs_chunk4839); throw mse;
+ recoverFromMismatchedSet(input,mse,FOLLOW_set_in_rhs_chunk4966); throw mse;
}
@@ -7054,15 +7135,15 @@
} while (true);
loc=(Token)input.LT(1);
- match(input,END,FOLLOW_END_in_rhs_chunk4863); if (failed) return ;
- pushFollow(FOLLOW_opt_semicolon_in_rhs_chunk4865);
+ match(input,END,FOLLOW_END_in_rhs_chunk4990); if (failed) return ;
+ pushFollow(FOLLOW_opt_semicolon_in_rhs_chunk4992);
opt_semicolon();
_fsp--;
if (failed) return ;
if ( backtracking==0 ) {
// ignoring first line in the consequence
- String buf = input.toString( THEN55, loc );
+ String buf = input.toString( THEN56, loc );
// removing final END keyword
int idx=4;
while( idx < buf.length()-3 && (buf.charAt(idx) == ' ' || buf.charAt(idx) == '\t') ) {
@@ -7072,7 +7153,7 @@
if( idx < buf.length()-3 && buf.charAt(idx) == '\n' ) idx++;
buf = safeSubstring( buf, idx, buf.length()-3 );
rule.setConsequence( buf );
- rule.setConsequenceLocation(offset(THEN55.getLine()), THEN55.getCharPositionInLine());
+ rule.setConsequenceLocation(offset(THEN56.getLine()), THEN56.getCharPositionInLine());
rule.setEndCharacter( ((CommonToken)loc).getStopIndex() );
location.setProperty( Location.LOCATION_RHS_CONTENT, rule.getConsequence() );
@@ -7091,17 +7172,21 @@
}
// $ANTLR end rhs_chunk
+ public static class name_return extends ParserRuleReturnScope {
+ public String name;
+ };
// $ANTLR start name
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1673:1: name returns [String name] : ( ID | STRING );
- public final String name() throws RecognitionException {
- String name = null;
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1696:1: name returns [String name] : ( ID | STRING );
+ public final name_return name() throws RecognitionException {
+ name_return retval = new name_return();
+ retval.start = input.LT(1);
- Token ID56=null;
- Token STRING57=null;
+ Token ID57=null;
+ Token STRING58=null;
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1674:2: ( ID | STRING )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1697:2: ( ID | STRING )
int alt84=2;
int LA84_0 = input.LA(1);
@@ -7112,37 +7197,39 @@
alt84=2;
}
else {
- if (backtracking>0) {failed=true; return name;}
+ if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("1673:1: name returns [String name] : ( ID | STRING );", 84, 0, input);
+ new NoViableAltException("1696:1: name returns [String name] : ( ID | STRING );", 84, 0, input);
throw nvae;
}
switch (alt84) {
case 1 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1674:5: ID
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1697:5: ID
{
- ID56=(Token)input.LT(1);
- match(input,ID,FOLLOW_ID_in_name4899); if (failed) return name;
+ ID57=(Token)input.LT(1);
+ match(input,ID,FOLLOW_ID_in_name5026); if (failed) return retval;
if ( backtracking==0 ) {
- name = ID56.getText();
+ retval.name = ID57.getText();
}
}
break;
case 2 :
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1675:5: STRING
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1698:5: STRING
{
- STRING57=(Token)input.LT(1);
- match(input,STRING,FOLLOW_STRING_in_name4907); if (failed) return name;
+ STRING58=(Token)input.LT(1);
+ match(input,STRING,FOLLOW_STRING_in_name5034); if (failed) return retval;
if ( backtracking==0 ) {
- name = getString( STRING57.getText() );
+ retval.name = getString( STRING58.getText() );
}
}
break;
}
+ retval.stop = input.LT(-1);
+
}
catch (RecognitionException re) {
reportError(re);
@@ -7150,7 +7237,7 @@
}
finally {
}
- return name;
+ return retval;
}
// $ANTLR end name
@@ -7158,13 +7245,13 @@
};
// $ANTLR start identifier
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1678:1: identifier : ( ID | PACKAGE | FUNCTION | GLOBAL | IMPORT | EVENT | RULE | QUERY | TEMPLATE | ATTRIBUTES | ENABLED | SALIENCE | DURATION | DIALECT | FROM | INIT | ACTION | REVERSE | RESULT | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | SOUNDSLIKE | WHEN | THEN | END | IN );
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1701:1: identifier : ( ID | PACKAGE | FUNCTION | GLOBAL | IMPORT | EVENT | RULE | QUERY | TEMPLATE | ATTRIBUTES | ENABLED | SALIENCE | DURATION | DIALECT | FROM | INIT | ACTION | REVERSE | RESULT | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | SOUNDSLIKE | WHEN | THEN | END | IN );
public final identifier_return identifier() throws RecognitionException {
identifier_return retval = new identifier_return();
retval.start = input.LT(1);
try {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1679:2: ( ID | PACKAGE | FUNCTION | GLOBAL | IMPORT | EVENT | RULE | QUERY | TEMPLATE | ATTRIBUTES | ENABLED | SALIENCE | DURATION | DIALECT | FROM | INIT | ACTION | REVERSE | RESULT | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | SOUNDSLIKE | WHEN | THEN | END | IN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1702:2: ( ID | PACKAGE | FUNCTION | GLOBAL | IMPORT | EVENT | RULE | QUERY | TEMPLATE | ATTRIBUTES | ENABLED | SALIENCE | DURATION | DIALECT | FROM | INIT | ACTION | REVERSE | RESULT | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | SOUNDSLIKE | WHEN | THEN | END | IN )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:
{
if ( (input.LA(1)>=PACKAGE && input.LA(1)<=ID)||input.LA(1)==GLOBAL||(input.LA(1)>=QUERY && input.LA(1)<=ATTRIBUTES)||input.LA(1)==ENABLED||input.LA(1)==SALIENCE||(input.LA(1)>=DURATION && input.LA(1)<=DIALECT)||input.LA(1)==FROM||(input.LA(1)>=INIT && input.LA(1)<=RESULT)||(input.LA(1)>=CONTAINS && input.LA(1)<=MEMBEROF)||input.LA(1)==IN||input.LA(1)==THEN ) {
@@ -7251,61 +7338,73 @@
// $ANTLR start synpred6
public final void synpred6_fragment() throws RecognitionException {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1110:6: ( LEFT_SQUARE )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1110:8: LEFT_SQUARE
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:838:13: ( FROM ENTRY_POINT )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:838:14: FROM ENTRY_POINT
{
- match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred63017); if (failed) return ;
+ match(input,FROM,FOLLOW_FROM_in_synpred62153); if (failed) return ;
+ match(input,ENTRY_POINT,FOLLOW_ENTRY_POINT_in_synpred62155); if (failed) return ;
}
}
// $ANTLR end synpred6
- // $ANTLR start synpred7
- public final void synpred7_fragment() throws RecognitionException {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1116:6: ( LEFT_PAREN )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1116:8: LEFT_PAREN
+ // $ANTLR start synpred9
+ public final void synpred9_fragment() throws RecognitionException {
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1114:6: ( LEFT_SQUARE )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1114:8: LEFT_SQUARE
{
- match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred73050); if (failed) return ;
+ match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred93094); if (failed) return ;
}
}
- // $ANTLR end synpred7
+ // $ANTLR end synpred9
- // $ANTLR start synpred8
- public final void synpred8_fragment() throws RecognitionException {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1413:6: ( DOUBLE_PIPE and_restr_connective[or] )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1413:6: DOUBLE_PIPE and_restr_connective[or]
+ // $ANTLR start synpred10
+ public final void synpred10_fragment() throws RecognitionException {
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1120:6: ( LEFT_PAREN )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1120:8: LEFT_PAREN
{
- match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_synpred83745); if (failed) return ;
- pushFollow(FOLLOW_and_restr_connective_in_synpred83756);
+ match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred103127); if (failed) return ;
+
+ }
+ }
+ // $ANTLR end synpred10
+
+ // $ANTLR start synpred11
+ public final void synpred11_fragment() throws RecognitionException {
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1436:4: ( DOUBLE_PIPE and_restr_connective[or] )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1436:4: DOUBLE_PIPE and_restr_connective[or]
+ {
+ match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_synpred113872); if (failed) return ;
+ pushFollow(FOLLOW_and_restr_connective_in_synpred113883);
and_restr_connective(or);
_fsp--;
if (failed) return ;
}
}
- // $ANTLR end synpred8
+ // $ANTLR end synpred11
- // $ANTLR start synpred9
- public final void synpred9_fragment() throws RecognitionException {
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1435:5: ( DOUBLE_AMPER constraint_expression[and] )
- // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1435:5: DOUBLE_AMPER constraint_expression[and]
+ // $ANTLR start synpred12
+ public final void synpred12_fragment() throws RecognitionException {
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1458:5: ( DOUBLE_AMPER constraint_expression[and] )
+ // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1458:5: DOUBLE_AMPER constraint_expression[and]
{
- match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_synpred93808); if (failed) return ;
- pushFollow(FOLLOW_constraint_expression_in_synpred93819);
+ match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_synpred123935); if (failed) return ;
+ pushFollow(FOLLOW_constraint_expression_in_synpred123946);
constraint_expression(and);
_fsp--;
if (failed) return ;
}
}
- // $ANTLR end synpred9
+ // $ANTLR end synpred12
- public final boolean synpred4() {
+ public final boolean synpred12() {
backtracking++;
int start = input.mark();
try {
- synpred4_fragment(); // can never throw exception
+ synpred12_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
@@ -7315,11 +7414,11 @@
failed=false;
return success;
}
- public final boolean synpred9() {
+ public final boolean synpred4() {
backtracking++;
int start = input.mark();
try {
- synpred9_fragment(); // can never throw exception
+ synpred4_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
@@ -7329,11 +7428,11 @@
failed=false;
return success;
}
- public final boolean synpred7() {
+ public final boolean synpred9() {
backtracking++;
int start = input.mark();
try {
- synpred7_fragment(); // can never throw exception
+ synpred9_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
@@ -7385,6 +7484,20 @@
failed=false;
return success;
}
+ public final boolean synpred11() {
+ backtracking++;
+ int start = input.mark();
+ try {
+ synpred11_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !failed;
+ input.rewind(start);
+ backtracking--;
+ failed=false;
+ return success;
+ }
public final boolean synpred5() {
backtracking++;
int start = input.mark();
@@ -7413,11 +7526,11 @@
failed=false;
return success;
}
- public final boolean synpred8() {
+ public final boolean synpred10() {
backtracking++;
int start = input.mark();
try {
- synpred8_fragment(); // can never throw exception
+ synpred10_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
@@ -7440,25 +7553,25 @@
static final String DFA8_eofS =
"\6\uffff";
static final String DFA8_minS =
- "\2\4\1\uffff\1\76\1\uffff\1\4";
+ "\2\4\1\uffff\1\77\1\uffff\1\4";
static final String DFA8_maxS =
- "\2\77\1\uffff\1\76\1\uffff\1\77";
+ "\2\100\1\uffff\1\77\1\uffff\1\100";
static final String DFA8_acceptS =
"\2\uffff\1\1\1\uffff\1\2\1\uffff";
static final String DFA8_specialS =
"\6\uffff}>";
static final String[] DFA8_transitionS = {
"\5\1\1\uffff\1\1\3\uffff\6\1\3\uffff\1\1\1\uffff\1\1\6\uffff"+
- "\2\1\5\uffff\1\1\5\uffff\4\1\1\uffff\5\1\1\uffff\1\1\6\uffff"+
+ "\2\1\5\uffff\1\1\5\uffff\4\1\2\uffff\5\1\1\uffff\1\1\6\uffff"+
"\1\1",
"\7\2\1\uffff\2\4\6\2\3\uffff\1\2\1\uffff\1\2\6\uffff\2\2\5\uffff"+
- "\1\2\5\uffff\4\2\1\uffff\5\2\1\uffff\1\2\4\uffff\1\3\1\uffff"+
+ "\1\2\5\uffff\4\2\2\uffff\5\2\1\uffff\1\2\4\uffff\1\3\1\uffff"+
"\1\2",
"",
"\1\5",
"",
"\5\2\1\uffff\1\2\1\uffff\2\4\6\2\3\uffff\1\2\1\uffff\1\2\6\uffff"+
- "\2\2\5\uffff\1\2\5\uffff\4\2\1\uffff\5\2\1\uffff\1\2\4\uffff"+
+ "\2\2\5\uffff\1\2\5\uffff\4\2\2\uffff\5\2\1\uffff\1\2\4\uffff"+
"\1\3\1\uffff\1\2"
};
@@ -7500,25 +7613,25 @@
static final String DFA9_eofS =
"\6\uffff";
static final String DFA9_minS =
- "\2\4\1\76\2\uffff\1\4";
+ "\2\4\1\77\2\uffff\1\4";
static final String DFA9_maxS =
- "\2\77\1\76\2\uffff\1\77";
+ "\2\100\1\77\2\uffff\1\100";
static final String DFA9_acceptS =
"\3\uffff\1\2\1\1\1\uffff";
static final String DFA9_specialS =
"\6\uffff}>";
static final String[] DFA9_transitionS = {
"\5\1\1\uffff\1\1\3\uffff\6\1\3\uffff\1\1\1\uffff\1\1\6\uffff"+
- "\2\1\5\uffff\1\1\5\uffff\4\1\1\uffff\5\1\1\uffff\1\1\6\uffff"+
+ "\2\1\5\uffff\1\1\5\uffff\4\1\2\uffff\5\1\1\uffff\1\1\6\uffff"+
"\1\1",
"\7\4\1\uffff\2\3\6\4\3\uffff\1\4\1\uffff\1\4\6\uffff\2\4\5\uffff"+
- "\1\4\5\uffff\4\4\1\uffff\5\4\1\uffff\1\4\4\uffff\1\2\1\uffff"+
+ "\1\4\5\uffff\4\4\2\uffff\5\4\1\uffff\1\4\4\uffff\1\2\1\uffff"+
"\1\4",
"\1\5",
"",
"",
"\5\4\1\uffff\1\4\1\uffff\2\3\6\4\3\uffff\1\4\1\uffff\1\4\6\uffff"+
- "\2\4\5\uffff\1\4\5\uffff\4\4\1\uffff\5\4\1\uffff\1\4\4\uffff"+
+ "\2\4\5\uffff\1\4\5\uffff\4\4\2\uffff\5\4\1\uffff\1\4\4\uffff"+
"\1\2\1\uffff\1\4"
};
@@ -7560,9 +7673,9 @@
static final String DFA17_eofS =
"\11\uffff";
static final String DFA17_minS =
- "\2\10\1\uffff\1\10\1\uffff\1\4\1\76\2\10";
+ "\2\10\1\uffff\1\10\1\uffff\1\4\1\77\2\10";
static final String DFA17_maxS =
- "\2\53\1\uffff\1\114\1\uffff\1\77\1\76\2\75";
+ "\2\53\1\uffff\1\115\1\uffff\1\100\1\77\2\76";
static final String DFA17_acceptS =
"\2\uffff\1\2\1\uffff\1\1\4\uffff";
static final String DFA17_specialS =
@@ -7572,14 +7685,14 @@
"\1\3\2\uffff\1\2\1\uffff\1\4\25\uffff\1\2\1\uffff\1\2\2\uffff"+
"\4\2",
"",
- "\1\4\1\5\1\uffff\1\2\2\4\57\uffff\1\6\16\uffff\1\2",
+ "\1\4\1\5\1\uffff\1\2\2\4\60\uffff\1\6\16\uffff\1\2",
"",
"\5\7\1\uffff\1\7\3\uffff\6\7\3\uffff\1\7\1\uffff\1\7\6\uffff"+
- "\2\7\5\uffff\1\7\5\uffff\4\7\1\uffff\5\7\1\uffff\1\7\6\uffff"+
+ "\2\7\5\uffff\1\7\5\uffff\4\7\2\uffff\5\7\1\uffff\1\7\6\uffff"+
"\1\7",
"\1\10",
- "\1\4\1\5\1\uffff\1\2\61\uffff\1\6",
- "\1\4\2\uffff\1\2\61\uffff\1\6"
+ "\1\4\1\5\1\uffff\1\2\62\uffff\1\6",
+ "\1\4\2\uffff\1\2\62\uffff\1\6"
};
static final short[] DFA17_eot = DFA.unpackEncodedString(DFA17_eotS);
@@ -7620,106 +7733,105 @@
static final String DFA52_eofS =
"\150\uffff";
static final String DFA52_minS =
- "\1\10\1\uffff\1\4\1\uffff\3\4\1\0\1\uffff\4\4\1\uffff\4\4\1\0\2"+
- "\4\1\0\4\4\1\0\1\4\1\0\1\4\2\0\3\4\2\0\2\4\3\0\3\4\2\0\2\4\3\0\3"+
- "\4\1\0\3\4\1\0\3\4\1\0\1\4\1\0\1\4\1\uffff\44\0";
+ "\1\10\1\uffff\1\4\1\uffff\2\4\1\0\5\4\2\uffff\4\4\1\0\2\4\1\0\4"+
+ "\4\1\0\1\4\1\0\1\4\2\0\3\4\2\0\2\4\3\0\2\4\1\0\1\4\1\0\2\4\3\0\2"+
+ "\4\1\0\4\4\1\0\3\4\1\0\1\4\1\0\1\4\1\uffff\44\0";
static final String DFA52_maxS =
- "\1\112\1\uffff\1\123\1\uffff\3\123\1\0\1\uffff\4\123\1\uffff\4\123"+
- "\1\0\2\123\1\0\4\123\1\0\1\123\1\0\1\123\2\0\3\123\2\0\2\123\3\0"+
- "\3\123\2\0\2\123\3\0\3\123\1\0\3\123\1\0\3\123\1\0\1\123\1\0\1\123"+
- "\1\uffff\44\0";
+ "\1\113\1\uffff\1\124\1\uffff\2\124\1\0\5\124\2\uffff\4\124\1\0\2"+
+ "\124\1\0\4\124\1\0\1\124\1\0\1\124\2\0\3\124\2\0\2\124\3\0\2\124"+
+ "\1\0\1\124\1\0\2\124\3\0\2\124\1\0\4\124\1\0\3\124\1\0\1\124\1\0"+
+ "\1\124\1\uffff\44\0";
static final String DFA52_acceptS =
- "\1\uffff\1\1\1\uffff\1\3\4\uffff\1\2\4\uffff\1\2\65\uffff\1\2\44"+
- "\uffff";
+ "\1\uffff\1\1\1\uffff\1\3\10\uffff\2\2\65\uffff\1\2\44\uffff";
static final String DFA52_specialS =
- "\1\13\1\uffff\1\55\1\uffff\1\66\1\30\1\21\1\74\1\uffff\1\54\1\56"+
- "\1\65\1\34\1\uffff\1\70\1\5\1\76\1\63\1\35\1\53\1\62\1\6\1\72\1"+
- "\61\1\17\1\16\1\64\1\33\1\10\1\32\1\12\1\11\1\25\1\22\1\41\1\44"+
- "\1\31\1\52\1\51\1\20\1\50\1\37\1\73\1\36\1\40\1\1\1\47\1\15\1\14"+
- "\1\67\1\4\1\60\1\57\1\75\1\0\1\7\1\26\1\23\1\42\1\71\1\27\1\24\1"+
- "\43\1\45\1\2\1\46\1\3\45\uffff}>";
+ "\1\43\1\uffff\1\62\1\uffff\1\15\1\0\1\55\1\66\1\54\1\2\1\22\1\51"+
+ "\2\uffff\1\6\1\73\1\4\1\36\1\10\1\52\1\71\1\35\1\3\1\53\1\30\1\61"+
+ "\1\56\1\50\1\76\1\47\1\67\1\64\1\31\1\12\1\23\1\17\1\37\1\46\1\45"+
+ "\1\41\1\65\1\16\1\72\1\21\1\40\1\74\1\63\1\60\1\57\1\5\1\1\1\11"+
+ "\1\75\1\70\1\24\1\7\1\32\1\13\1\25\1\20\1\33\1\14\1\26\1\34\1\27"+
+ "\1\44\1\42\45\uffff}>";
static final String[] DFA52_transitionS = {
"\2\3\1\uffff\1\2\2\3\1\uffff\1\3\23\uffff\4\3\1\uffff\4\3\1"+
- "\uffff\1\3\17\uffff\1\1\1\uffff\1\3\12\uffff\1\3",
+ "\uffff\1\3\20\uffff\1\1\1\uffff\1\3\12\uffff\1\3",
"",
- "\4\15\1\14\2\15\1\7\1\15\1\10\25\15\1\5\1\15\1\4\2\15\1\6\1"+
- "\11\1\12\1\13\50\15",
+ "\4\14\1\13\2\14\1\6\1\14\1\15\25\14\1\5\1\14\1\4\2\14\1\7\1"+
+ "\10\1\11\1\12\51\14",
"",
- "\4\15\1\23\2\15\1\22\1\15\1\10\32\15\1\16\1\17\1\20\1\21\50"+
- "\15",
- "\4\15\1\31\2\15\1\25\1\15\1\10\32\15\1\24\1\26\1\27\1\30\50"+
- "\15",
- "\4\15\1\33\2\15\1\32\1\15\1\10\106\15",
+ "\4\14\1\23\2\14\1\22\1\14\1\15\32\14\1\16\1\17\1\20\1\21\51"+
+ "\14",
+ "\4\14\1\31\2\14\1\25\1\14\1\15\32\14\1\24\1\26\1\27\1\30\51"+
+ "\14",
"\1\uffff",
+ "\4\14\1\33\2\14\1\32\1\14\1\15\107\14",
+ "\4\14\1\35\2\14\1\34\1\14\1\15\107\14",
+ "\7\14\1\36\1\14\1\15\107\14",
+ "\7\14\1\37\1\14\1\15\107\14",
+ "\5\14\1\41\1\14\1\43\1\14\1\15\60\14\1\42\16\14\1\40\7\14",
"",
- "\4\15\1\35\2\15\1\34\1\15\1\10\106\15",
- "\7\15\1\36\1\15\1\10\106\15",
- "\7\15\1\37\1\15\1\10\106\15",
- "\5\15\1\41\1\15\1\43\1\15\1\10\57\15\1\42\16\15\1\40\7\15",
"",
- "\4\15\1\45\2\15\1\44\1\15\1\10\106\15",
- "\4\15\1\46\2\15\1\47\1\15\1\10\106\15",
- "\7\15\1\50\1\15\1\10\106\15",
- "\7\15\1\51\1\15\1\10\106\15",
+ "\4\14\1\45\2\14\1\44\1\14\1\15\107\14",
+ "\4\14\1\46\2\14\1\47\1\14\1\15\107\14",
+ "\7\14\1\50\1\14\1\15\107\14",
+ "\7\14\1\51\1\14\1\15\107\14",
"\1\uffff",
- "\5\15\1\53\1\15\1\55\1\15\1\10\57\15\1\54\16\15\1\52\7\15",
- "\4\15\1\57\2\15\1\56\1\15\1\10\106\15",
+ "\5\14\1\53\1\14\1\54\1\14\1\15\60\14\1\55\16\14\1\52\7\14",
+ "\4\14\1\57\2\14\1\56\1\14\1\15\107\14",
"\1\uffff",
- "\4\15\1\60\2\15\1\61\1\15\1\10\106\15",
- "\7\15\1\62\1\15\1\10\106\15",
- "\7\15\1\63\1\15\1\10\106\15",
- "\5\15\1\65\1\15\1\67\1\15\1\10\57\15\1\66\16\15\1\64\7\15",
+ "\4\14\1\60\2\14\1\61\1\14\1\15\107\14",
+ "\7\14\1\62\1\14\1\15\107\14",
+ "\7\14\1\63\1\14\1\15\107\14",
+ "\5\14\1\65\1\14\1\66\1\14\1\15\60\14\1\67\16\14\1\64\7\14",
"\1\uffff",
- "\5\15\1\71\1\15\1\73\1\15\1\10\57\15\1\72\16\15\1\70\7\15",
+ "\5\14\1\71\1\14\1\73\1\14\1\15\60\14\1\72\16\14\1\70\7\14",
"\1\uffff",
- "\5\15\1\75\1\15\1\77\1\15\1\10\57\15\1\76\16\15\1\74\7\15",
+ "\5\14\1\75\1\14\1\77\1\14\1\15\60\14\1\76\16\14\1\74\7\14",
"\1\uffff",
"\1\uffff",
- "\4\15\1\100\2\15\1\101\1\15\1\10\106\15",
- "\5\102\1\15\1\102\1\103\1\15\1\10\6\102\3\15\1\102\1\15\1\102"+
- "\6\15\2\102\5\15\1\102\5\15\4\102\1\15\5\102\1\15\1\102\6\15"+
- "\1\102\24\15",
- "\7\15\1\103\1\15\1\10\60\15\1\104\25\15",
+ "\4\14\1\100\2\14\1\101\1\14\1\15\107\14",
+ "\5\102\1\14\1\102\1\103\1\14\1\15\6\102\3\14\1\102\1\14\1\102"+
+ "\6\14\2\102\5\14\1\102\5\14\4\102\2\14\5\102\1\14\1\102\6\14"+
+ "\1\102\24\14",
+ "\7\14\1\103\1\14\1\15\61\14\1\104\25\14",
"\1\uffff",
"\1\uffff",
- "\5\15\1\106\1\15\1\110\1\15\1\10\57\15\1\107\16\15\1\105\7\15",
- "\5\15\1\112\1\15\1\114\1\15\1\10\57\15\1\113\16\15\1\111\7\15",
+ "\5\14\1\106\1\14\1\110\1\14\1\15\60\14\1\107\16\14\1\105\7\14",
+ "\5\14\1\112\1\14\1\114\1\14\1\15\60\14\1\113\16\14\1\111\7\14",
"\1\uffff",
"\1\uffff",
"\1\uffff",
- "\4\15\1\115\2\15\1\116\1\15\1\10\106\15",
- "\5\117\1\15\1\117\1\103\1\15\1\10\6\117\3\15\1\117\1\15\1\117"+
- "\6\15\2\117\5\15\1\117\5\15\4\117\1\15\5\117\1\15\1\117\6\15"+
- "\1\117\24\15",
- "\7\15\1\103\1\15\1\10\60\15\1\120\25\15",
+ "\4\14\1\115\2\14\1\116\1\14\1\15\107\14",
+ "\5\117\1\14\1\117\1\103\1\14\1\15\6\117\3\14\1\117\1\14\1\117"+
+ "\6\14\2\117\5\14\1\117\5\14\4\117\2\14\5\117\1\14\1\117\6\14"+
+ "\1\117\24\14",
"\1\uffff",
+ "\7\14\1\103\1\14\1\15\61\14\1\120\25\14",
"\1\uffff",
- "\5\15\1\122\1\15\1\123\1\15\1\10\57\15\1\124\16\15\1\121\7\15",
- "\5\15\1\126\1\15\1\130\1\15\1\10\57\15\1\127\16\15\1\125\7\15",
+ "\5\14\1\122\1\14\1\123\1\14\1\15\60\14\1\124\16\14\1\121\7\14",
+ "\5\14\1\126\1\14\1\130\1\14\1\15\60\14\1\127\16\14\1\125\7\14",
"\1\uffff",
"\1\uffff",
"\1\uffff",
- "\4\15\1\131\2\15\1\132\1\15\1\10\106\15",
- "\5\133\1\15\1\133\1\103\1\15\1\10\6\133\3\15\1\133\1\15\1\133"+
- "\6\15\2\133\5\15\1\133\5\15\4\133\1\15\5\133\1\15\1\133\6\15"+
- "\1\133\24\15",
- "\7\15\1\103\1\15\1\10\60\15\1\134\25\15",
+ "\4\14\1\131\2\14\1\132\1\14\1\15\107\14",
+ "\5\133\1\14\1\133\1\103\1\14\1\15\6\133\3\14\1\133\1\14\1\133"+
+ "\6\14\2\133\5\14\1\133\5\14\4\133\2\14\5\133\1\14\1\133\6\14"+
+ "\1\133\24\14",
"\1\uffff",
- "\4\15\1\135\2\15\1\136\1\15\1\10\106\15",
- "\5\137\1\15\1\137\1\103\1\15\1\10\6\137\3\15\1\137\1\15\1\137"+
- "\6\15\2\137\5\15\1\137\5\15\4\137\1\15\5\137\1\15\1\137\6\15"+
- "\1\137\24\15",
- "\7\15\1\103\1\15\1\10\60\15\1\140\25\15",
+ "\7\14\1\103\1\14\1\15\61\14\1\134\25\14",
+ "\4\14\1\135\2\14\1\136\1\14\1\15\107\14",
+ "\5\137\1\14\1\137\1\103\1\14\1\15\6\137\3\14\1\137\1\14\1\137"+
+ "\6\14\2\137\5\14\1\137\5\14\4\137\2\14\5\137\1\14\1\137\6\14"+
+ "\1\137\24\14",
+ "\7\14\1\103\1\14\1\15\61\14\1\140\25\14",
"\1\uffff",
- "\4\15\1\141\2\15\1\142\1\15\1\10\106\15",
- "\5\143\1\15\1\143\1\103\1\15\1\10\6\143\3\15\1\143\1\15\1\143"+
- "\6\15\2\143\5\15\1\143\5\15\4\143\1\15\5\143\1\15\1\143\6\15"+
- "\1\143\24\15",
- "\7\15\1\103\1\15\1\10\60\15\1\144\25\15",
+ "\4\14\1\141\2\14\1\142\1\14\1\15\107\14",
+ "\5\143\1\14\1\143\1\103\1\14\1\15\6\143\3\14\1\143\1\14\1\143"+
+ "\6\14\2\143\5\14\1\143\5\14\4\143\2\14\5\143\1\14\1\143\6\14"+
+ "\1\143\24\14",
+ "\7\14\1\103\1\14\1\15\61\14\1\144\25\14",
"\1\uffff",
- "\5\15\1\145\1\15\1\147\1\15\1\10\57\15\1\146\26\15",
+ "\5\14\1\145\1\14\1\146\1\14\1\15\60\14\1\147\26\14",
"\1\uffff",
- "\5\15\1\41\1\15\1\43\1\15\1\10\57\15\1\42\26\15",
+ "\5\14\1\41\1\14\1\43\1\14\1\15\60\14\1\42\26\14",
"",
"\1\uffff",
"\1\uffff",
@@ -7789,134 +7901,138 @@
this.transition = DFA52_transition;
}
public String getDescription() {
- return "1109:4: ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )?";
+ return "1113:4: ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )?";
}
public int specialStateTransition(int s, IntStream input) throws NoViableAltException {
int _s = s;
switch ( s ) {
case 0 :
- int LA52_54 = input.LA(1);
+ int LA52_5 = input.LA(1);
- int index52_54 = input.index();
+ int index52_5 = input.index();
input.rewind();
s = -1;
- if ( (LA52_54==RIGHT_SQUARE) ) {s = 92;}
+ if ( (LA52_5==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_54==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_5==EXISTS) ) {s = 20;}
- else if ( ((LA52_54>=PACKAGE && LA52_54<=GLOBAL)||LA52_54==COMMA||(LA52_54>=QUERY && LA52_54<=LEFT_SQUARE)||(LA52_54>=THEN && LA52_54<=83)) && (synpred7())) {s = 13;}
+ else if ( (LA52_5==LEFT_PAREN) ) {s = 21;}
- else if ( (LA52_54==LEFT_PAREN) && (synpred7())) {s = 67;}
+ else if ( (LA52_5==NOT) ) {s = 22;}
+ else if ( (LA52_5==EVAL) ) {s = 23;}
+
+ else if ( (LA52_5==FORALL) ) {s = 24;}
+
+ else if ( (LA52_5==ID) ) {s = 25;}
+
+ else if ( ((LA52_5>=PACKAGE && LA52_5<=EVENT)||(LA52_5>=DOT && LA52_5<=GLOBAL)||LA52_5==COMMA||(LA52_5>=QUERY && LA52_5<=FROM)||(LA52_5>=ACCUMULATE && LA52_5<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_54);
+ input.seek(index52_5);
if ( s>=0 ) return s;
break;
case 1 :
- int LA52_45 = input.LA(1);
+ int LA52_50 = input.LA(1);
- int index52_45 = input.index();
+ int index52_50 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 67;}
+ if ( (synpred10()) ) {s = 67;}
else if ( (true) ) {s = 3;}
- input.seek(index52_45);
+ input.seek(index52_50);
if ( s>=0 ) return s;
break;
case 2 :
- int LA52_64 = input.LA(1);
+ int LA52_9 = input.LA(1);
- int index52_64 = input.index();
+ int index52_9 = input.index();
input.rewind();
s = -1;
- if ( (LA52_64==DOT) ) {s = 101;}
+ if ( (LA52_9==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_64==LEFT_SQUARE) ) {s = 102;}
+ else if ( ((LA52_9>=PACKAGE && LA52_9<=GLOBAL)||LA52_9==COMMA||(LA52_9>=QUERY && LA52_9<=84)) && (synpred10())) {s = 12;}
- else if ( (LA52_64==LEFT_PAREN) ) {s = 103;}
+ else if ( (LA52_9==LEFT_PAREN) ) {s = 30;}
- else if ( (LA52_64==RIGHT_PAREN) && (synpred7())) {s = 8;}
-
- else if ( ((LA52_64>=PACKAGE && LA52_64<=ID)||LA52_64==GLOBAL||LA52_64==COMMA||(LA52_64>=QUERY && LA52_64<=RIGHT_CURLY)||(LA52_64>=RIGHT_SQUARE && LA52_64<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_64);
+ input.seek(index52_9);
if ( s>=0 ) return s;
break;
case 3 :
- int LA52_66 = input.LA(1);
+ int LA52_22 = input.LA(1);
- int index52_66 = input.index();
+ int index52_22 = input.index();
input.rewind();
s = -1;
- if ( (LA52_66==LEFT_SQUARE) ) {s = 34;}
+ if ( (LA52_22==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_66==LEFT_PAREN) ) {s = 35;}
+ else if ( (LA52_22==ID) ) {s = 48;}
- else if ( (LA52_66==DOT) ) {s = 33;}
+ else if ( (LA52_22==LEFT_PAREN) ) {s = 49;}
- else if ( (LA52_66==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( ((LA52_22>=PACKAGE && LA52_22<=EVENT)||(LA52_22>=DOT && LA52_22<=GLOBAL)||LA52_22==COMMA||(LA52_22>=QUERY && LA52_22<=84)) && (synpred10())) {s = 12;}
- else if ( ((LA52_66>=PACKAGE && LA52_66<=ID)||LA52_66==GLOBAL||LA52_66==COMMA||(LA52_66>=QUERY && LA52_66<=RIGHT_CURLY)||(LA52_66>=RIGHT_SQUARE && LA52_66<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_66);
+ input.seek(index52_22);
if ( s>=0 ) return s;
break;
case 4 :
- int LA52_50 = input.LA(1);
+ int LA52_16 = input.LA(1);
- int index52_50 = input.index();
+ int index52_16 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 67;}
+ if ( (LA52_16==LEFT_PAREN) ) {s = 40;}
- else if ( (true) ) {s = 3;}
+ else if ( (LA52_16==RIGHT_PAREN) && (synpred10())) {s = 13;}
+ else if ( ((LA52_16>=PACKAGE && LA52_16<=GLOBAL)||LA52_16==COMMA||(LA52_16>=QUERY && LA52_16<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_50);
+ input.seek(index52_16);
if ( s>=0 ) return s;
break;
case 5 :
- int LA52_15 = input.LA(1);
+ int LA52_49 = input.LA(1);
- int index52_15 = input.index();
+ int index52_49 = input.index();
input.rewind();
s = -1;
- if ( (LA52_15==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ if ( (synpred10()) ) {s = 67;}
- else if ( (LA52_15==ID) ) {s = 38;}
+ else if ( (true) ) {s = 3;}
- else if ( (LA52_15==LEFT_PAREN) ) {s = 39;}
-
- else if ( ((LA52_15>=PACKAGE && LA52_15<=EVENT)||(LA52_15>=DOT && LA52_15<=GLOBAL)||LA52_15==COMMA||(LA52_15>=QUERY && LA52_15<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_15);
+ input.seek(index52_49);
if ( s>=0 ) return s;
break;
case 6 :
- int LA52_21 = input.LA(1);
+ int LA52_14 = input.LA(1);
- int index52_21 = input.index();
+ int index52_14 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 13;}
+ if ( (LA52_14==LEFT_PAREN) ) {s = 36;}
- else if ( (true) ) {s = 3;}
+ else if ( (LA52_14==ID) ) {s = 37;}
+ else if ( (LA52_14==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+ else if ( ((LA52_14>=PACKAGE && LA52_14<=EVENT)||(LA52_14>=DOT && LA52_14<=GLOBAL)||LA52_14==COMMA||(LA52_14>=QUERY && LA52_14<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_21);
+ input.seek(index52_14);
if ( s>=0 ) return s;
break;
case 7 :
@@ -7926,468 +8042,440 @@
int index52_55 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 67;}
+ if ( (LA52_55==RIGHT_SQUARE) ) {s = 92;}
- else if ( (true) ) {s = 3;}
+ else if ( (LA52_55==RIGHT_PAREN) && (synpred10())) {s = 13;}
+ else if ( ((LA52_55>=PACKAGE && LA52_55<=GLOBAL)||LA52_55==COMMA||(LA52_55>=QUERY && LA52_55<=LEFT_SQUARE)||(LA52_55>=THEN && LA52_55<=84)) && (synpred10())) {s = 12;}
+
+ else if ( (LA52_55==LEFT_PAREN) && (synpred10())) {s = 67;}
+
input.seek(index52_55);
if ( s>=0 ) return s;
break;
case 8 :
- int LA52_28 = input.LA(1);
+ int LA52_18 = input.LA(1);
- int index52_28 = input.index();
+ int index52_18 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 13;}
+ if ( (synpred10()) ) {s = 13;}
else if ( (true) ) {s = 3;}
- input.seek(index52_28);
+ input.seek(index52_18);
if ( s>=0 ) return s;
break;
case 9 :
- int LA52_31 = input.LA(1);
+ int LA52_51 = input.LA(1);
- int index52_31 = input.index();
+ int index52_51 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 13;}
+ if ( (synpred10()) ) {s = 67;}
else if ( (true) ) {s = 3;}
- input.seek(index52_31);
+ input.seek(index52_51);
if ( s>=0 ) return s;
break;
case 10 :
- int LA52_30 = input.LA(1);
+ int LA52_33 = input.LA(1);
- int index52_30 = input.index();
+ int index52_33 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 13;}
+ if ( ((LA52_33>=PACKAGE && LA52_33<=ID)||LA52_33==GLOBAL||(LA52_33>=QUERY && LA52_33<=ATTRIBUTES)||LA52_33==ENABLED||LA52_33==SALIENCE||(LA52_33>=DURATION && LA52_33<=DIALECT)||LA52_33==FROM||(LA52_33>=INIT && LA52_33<=RESULT)||(LA52_33>=CONTAINS && LA52_33<=MEMBEROF)||LA52_33==IN||LA52_33==THEN) ) {s = 66;}
- else if ( (true) ) {s = 3;}
+ else if ( (LA52_33==RIGHT_PAREN) && (synpred10())) {s = 13;}
+ else if ( (LA52_33==DOT||LA52_33==COMMA||(LA52_33>=DATE_EFFECTIVE && LA52_33<=DATE_EXPIRES)||LA52_33==BOOL||(LA52_33>=INT && LA52_33<=AGENDA_GROUP)||(LA52_33>=LOCK_ON_ACTIVE && LA52_33<=DOUBLE_AMPER)||(LA52_33>=EXISTS && LA52_33<=ACCUMULATE)||(LA52_33>=COLLECT && LA52_33<=ENTRY_POINT)||LA52_33==TILDE||(LA52_33>=FLOAT && LA52_33<=RIGHT_SQUARE)||(LA52_33>=EOL && LA52_33<=84)) && (synpred10())) {s = 12;}
+
+ else if ( (LA52_33==LEFT_PAREN) && (synpred10())) {s = 67;}
+
- input.seek(index52_30);
+ input.seek(index52_33);
if ( s>=0 ) return s;
break;
case 11 :
- int LA52_0 = input.LA(1);
+ int LA52_57 = input.LA(1);
- int index52_0 = input.index();
+ int index52_57 = input.index();
input.rewind();
s = -1;
- if ( (LA52_0==LEFT_SQUARE) && (synpred6())) {s = 1;}
+ if ( ((LA52_57>=PACKAGE && LA52_57<=ID)||LA52_57==GLOBAL||(LA52_57>=QUERY && LA52_57<=ATTRIBUTES)||LA52_57==ENABLED||LA52_57==SALIENCE||(LA52_57>=DURATION && LA52_57<=DIALECT)||LA52_57==FROM||(LA52_57>=INIT && LA52_57<=RESULT)||(LA52_57>=CONTAINS && LA52_57<=MEMBEROF)||LA52_57==IN||LA52_57==THEN) ) {s = 95;}
- else if ( (LA52_0==LEFT_PAREN) ) {s = 2;}
+ else if ( (LA52_57==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( ((LA52_0>=ID && LA52_0<=DOT)||(LA52_0>=COMMA && LA52_0<=RIGHT_PAREN)||LA52_0==END||(LA52_0>=OR && LA52_0<=DOUBLE_AMPER)||(LA52_0>=EXISTS && LA52_0<=FORALL)||LA52_0==INIT||LA52_0==THEN||LA52_0==74) ) {s = 3;}
+ else if ( (LA52_57==DOT||LA52_57==COMMA||(LA52_57>=DATE_EFFECTIVE && LA52_57<=DATE_EXPIRES)||LA52_57==BOOL||(LA52_57>=INT && LA52_57<=AGENDA_GROUP)||(LA52_57>=LOCK_ON_ACTIVE && LA52_57<=DOUBLE_AMPER)||(LA52_57>=EXISTS && LA52_57<=ACCUMULATE)||(LA52_57>=COLLECT && LA52_57<=ENTRY_POINT)||LA52_57==TILDE||(LA52_57>=FLOAT && LA52_57<=RIGHT_SQUARE)||(LA52_57>=EOL && LA52_57<=84)) && (synpred10())) {s = 12;}
+ else if ( (LA52_57==LEFT_PAREN) && (synpred10())) {s = 67;}
+
- input.seek(index52_0);
+ input.seek(index52_57);
if ( s>=0 ) return s;
break;
case 12 :
- int LA52_48 = input.LA(1);
+ int LA52_61 = input.LA(1);
- int index52_48 = input.index();
+ int index52_61 = input.index();
input.rewind();
s = -1;
- if ( (LA52_48==76) ) {s = 85;}
+ if ( ((LA52_61>=PACKAGE && LA52_61<=ID)||LA52_61==GLOBAL||(LA52_61>=QUERY && LA52_61<=ATTRIBUTES)||LA52_61==ENABLED||LA52_61==SALIENCE||(LA52_61>=DURATION && LA52_61<=DIALECT)||LA52_61==FROM||(LA52_61>=INIT && LA52_61<=RESULT)||(LA52_61>=CONTAINS && LA52_61<=MEMBEROF)||LA52_61==IN||LA52_61==THEN) ) {s = 99;}
- else if ( (LA52_48==DOT) ) {s = 86;}
+ else if ( (LA52_61==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_48==LEFT_SQUARE) ) {s = 87;}
+ else if ( (LA52_61==DOT||LA52_61==COMMA||(LA52_61>=DATE_EFFECTIVE && LA52_61<=DATE_EXPIRES)||LA52_61==BOOL||(LA52_61>=INT && LA52_61<=AGENDA_GROUP)||(LA52_61>=LOCK_ON_ACTIVE && LA52_61<=DOUBLE_AMPER)||(LA52_61>=EXISTS && LA52_61<=ACCUMULATE)||(LA52_61>=COLLECT && LA52_61<=ENTRY_POINT)||LA52_61==TILDE||(LA52_61>=FLOAT && LA52_61<=RIGHT_SQUARE)||(LA52_61>=EOL && LA52_61<=84)) && (synpred10())) {s = 12;}
- else if ( (LA52_48==LEFT_PAREN) ) {s = 88;}
+ else if ( (LA52_61==LEFT_PAREN) && (synpred10())) {s = 67;}
- else if ( (LA52_48==RIGHT_PAREN) && (synpred7())) {s = 8;}
-
- else if ( ((LA52_48>=PACKAGE && LA52_48<=ID)||LA52_48==GLOBAL||LA52_48==COMMA||(LA52_48>=QUERY && LA52_48<=RIGHT_CURLY)||(LA52_48>=RIGHT_SQUARE && LA52_48<=75)||(LA52_48>=77 && LA52_48<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_48);
+ input.seek(index52_61);
if ( s>=0 ) return s;
break;
case 13 :
- int LA52_47 = input.LA(1);
+ int LA52_4 = input.LA(1);
- int index52_47 = input.index();
+ int index52_4 = input.index();
input.rewind();
s = -1;
- if ( (LA52_47==76) ) {s = 81;}
+ if ( (LA52_4==EXISTS) ) {s = 14;}
- else if ( (LA52_47==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_4==NOT) ) {s = 15;}
- else if ( (LA52_47==DOT) ) {s = 82;}
+ else if ( (LA52_4==EVAL) ) {s = 16;}
- else if ( (LA52_47==LEFT_PAREN) ) {s = 83;}
+ else if ( (LA52_4==FORALL) ) {s = 17;}
- else if ( (LA52_47==LEFT_SQUARE) ) {s = 84;}
+ else if ( (LA52_4==LEFT_PAREN) ) {s = 18;}
- else if ( ((LA52_47>=PACKAGE && LA52_47<=ID)||LA52_47==GLOBAL||LA52_47==COMMA||(LA52_47>=QUERY && LA52_47<=RIGHT_CURLY)||(LA52_47>=RIGHT_SQUARE && LA52_47<=75)||(LA52_47>=77 && LA52_47<=83)) && (synpred7())) {s = 13;}
+ else if ( (LA52_4==ID) ) {s = 19;}
+ else if ( (LA52_4==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+ else if ( ((LA52_4>=PACKAGE && LA52_4<=EVENT)||(LA52_4>=DOT && LA52_4<=GLOBAL)||LA52_4==COMMA||(LA52_4>=QUERY && LA52_4<=FROM)||(LA52_4>=ACCUMULATE && LA52_4<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_47);
+ input.seek(index52_4);
if ( s>=0 ) return s;
break;
case 14 :
- int LA52_25 = input.LA(1);
+ int LA52_41 = input.LA(1);
- int index52_25 = input.index();
+ int index52_41 = input.index();
input.rewind();
s = -1;
- if ( (LA52_25==76) ) {s = 52;}
+ if ( (synpred10()) ) {s = 67;}
- else if ( (LA52_25==DOT) ) {s = 53;}
+ else if ( (true) ) {s = 3;}
- else if ( (LA52_25==LEFT_SQUARE) ) {s = 54;}
-
- else if ( (LA52_25==LEFT_PAREN) ) {s = 55;}
-
- else if ( (LA52_25==RIGHT_PAREN) && (synpred7())) {s = 8;}
-
- else if ( ((LA52_25>=PACKAGE && LA52_25<=ID)||LA52_25==GLOBAL||LA52_25==COMMA||(LA52_25>=QUERY && LA52_25<=RIGHT_CURLY)||(LA52_25>=RIGHT_SQUARE && LA52_25<=75)||(LA52_25>=77 && LA52_25<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_25);
+ input.seek(index52_41);
if ( s>=0 ) return s;
break;
case 15 :
- int LA52_24 = input.LA(1);
+ int LA52_35 = input.LA(1);
- int index52_24 = input.index();
+ int index52_35 = input.index();
input.rewind();
s = -1;
- if ( (LA52_24==LEFT_PAREN) ) {s = 51;}
+ if ( (synpred10()) ) {s = 67;}
- else if ( (LA52_24==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (true) ) {s = 3;}
- else if ( ((LA52_24>=PACKAGE && LA52_24<=GLOBAL)||LA52_24==COMMA||(LA52_24>=QUERY && LA52_24<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_24);
+ input.seek(index52_35);
if ( s>=0 ) return s;
break;
case 16 :
- int LA52_39 = input.LA(1);
+ int LA52_59 = input.LA(1);
- int index52_39 = input.index();
+ int index52_59 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 67;}
+ if ( (synpred10()) ) {s = 67;}
else if ( (true) ) {s = 3;}
- input.seek(index52_39);
+ input.seek(index52_59);
if ( s>=0 ) return s;
break;
case 17 :
- int LA52_6 = input.LA(1);
+ int LA52_43 = input.LA(1);
- int index52_6 = input.index();
+ int index52_43 = input.index();
input.rewind();
s = -1;
- if ( (LA52_6==LEFT_PAREN) ) {s = 26;}
+ if ( (LA52_43==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_6==ID) ) {s = 27;}
+ else if ( ((LA52_43>=PACKAGE && LA52_43<=ID)||LA52_43==GLOBAL||(LA52_43>=QUERY && LA52_43<=ATTRIBUTES)||LA52_43==ENABLED||LA52_43==SALIENCE||(LA52_43>=DURATION && LA52_43<=DIALECT)||LA52_43==FROM||(LA52_43>=INIT && LA52_43<=RESULT)||(LA52_43>=CONTAINS && LA52_43<=MEMBEROF)||LA52_43==IN||LA52_43==THEN) ) {s = 79;}
- else if ( (LA52_6==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_43==LEFT_PAREN) && (synpred10())) {s = 67;}
- else if ( ((LA52_6>=PACKAGE && LA52_6<=EVENT)||(LA52_6>=DOT && LA52_6<=GLOBAL)||LA52_6==COMMA||(LA52_6>=QUERY && LA52_6<=83)) && (synpred7())) {s = 13;}
+ else if ( (LA52_43==DOT||LA52_43==COMMA||(LA52_43>=DATE_EFFECTIVE && LA52_43<=DATE_EXPIRES)||LA52_43==BOOL||(LA52_43>=INT && LA52_43<=AGENDA_GROUP)||(LA52_43>=LOCK_ON_ACTIVE && LA52_43<=DOUBLE_AMPER)||(LA52_43>=EXISTS && LA52_43<=ACCUMULATE)||(LA52_43>=COLLECT && LA52_43<=ENTRY_POINT)||LA52_43==TILDE||(LA52_43>=FLOAT && LA52_43<=RIGHT_SQUARE)||(LA52_43>=EOL && LA52_43<=84)) && (synpred10())) {s = 12;}
- input.seek(index52_6);
+ input.seek(index52_43);
if ( s>=0 ) return s;
break;
case 18 :
- int LA52_33 = input.LA(1);
+ int LA52_10 = input.LA(1);
- int index52_33 = input.index();
+ int index52_10 = input.index();
input.rewind();
s = -1;
- if ( ((LA52_33>=PACKAGE && LA52_33<=ID)||LA52_33==GLOBAL||(LA52_33>=QUERY && LA52_33<=ATTRIBUTES)||LA52_33==ENABLED||LA52_33==SALIENCE||(LA52_33>=DURATION && LA52_33<=DIALECT)||LA52_33==FROM||(LA52_33>=INIT && LA52_33<=RESULT)||(LA52_33>=CONTAINS && LA52_33<=MEMBEROF)||LA52_33==IN||LA52_33==THEN) ) {s = 66;}
+ if ( (LA52_10==LEFT_PAREN) ) {s = 31;}
- else if ( (LA52_33==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_10==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_33==DOT||LA52_33==COMMA||(LA52_33>=DATE_EFFECTIVE && LA52_33<=DATE_EXPIRES)||LA52_33==BOOL||(LA52_33>=INT && LA52_33<=AGENDA_GROUP)||(LA52_33>=LOCK_ON_ACTIVE && LA52_33<=DOUBLE_AMPER)||(LA52_33>=EXISTS && LA52_33<=ACCUMULATE)||LA52_33==COLLECT||LA52_33==TILDE||(LA52_33>=FLOAT && LA52_33<=RIGHT_SQUARE)||(LA52_33>=EOL && LA52_33<=83)) && (synpred7())) {s = 13;}
+ else if ( ((LA52_10>=PACKAGE && LA52_10<=GLOBAL)||LA52_10==COMMA||(LA52_10>=QUERY && LA52_10<=84)) && (synpred10())) {s = 12;}
- else if ( (LA52_33==LEFT_PAREN) && (synpred7())) {s = 67;}
-
- input.seek(index52_33);
+ input.seek(index52_10);
if ( s>=0 ) return s;
break;
case 19 :
- int LA52_57 = input.LA(1);
+ int LA52_34 = input.LA(1);
- int index52_57 = input.index();
+ int index52_34 = input.index();
input.rewind();
s = -1;
- if ( ((LA52_57>=PACKAGE && LA52_57<=ID)||LA52_57==GLOBAL||(LA52_57>=QUERY && LA52_57<=ATTRIBUTES)||LA52_57==ENABLED||LA52_57==SALIENCE||(LA52_57>=DURATION && LA52_57<=DIALECT)||LA52_57==FROM||(LA52_57>=INIT && LA52_57<=RESULT)||(LA52_57>=CONTAINS && LA52_57<=MEMBEROF)||LA52_57==IN||LA52_57==THEN) ) {s = 95;}
+ if ( (LA52_34==RIGHT_SQUARE) ) {s = 68;}
- else if ( (LA52_57==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_34==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_57==DOT||LA52_57==COMMA||(LA52_57>=DATE_EFFECTIVE && LA52_57<=DATE_EXPIRES)||LA52_57==BOOL||(LA52_57>=INT && LA52_57<=AGENDA_GROUP)||(LA52_57>=LOCK_ON_ACTIVE && LA52_57<=DOUBLE_AMPER)||(LA52_57>=EXISTS && LA52_57<=ACCUMULATE)||LA52_57==COLLECT||LA52_57==TILDE||(LA52_57>=FLOAT && LA52_57<=RIGHT_SQUARE)||(LA52_57>=EOL && LA52_57<=83)) && (synpred7())) {s = 13;}
+ else if ( ((LA52_34>=PACKAGE && LA52_34<=GLOBAL)||LA52_34==COMMA||(LA52_34>=QUERY && LA52_34<=LEFT_SQUARE)||(LA52_34>=THEN && LA52_34<=84)) && (synpred10())) {s = 12;}
- else if ( (LA52_57==LEFT_PAREN) && (synpred7())) {s = 67;}
+ else if ( (LA52_34==LEFT_PAREN) && (synpred10())) {s = 67;}
- input.seek(index52_57);
+ input.seek(index52_34);
if ( s>=0 ) return s;
break;
case 20 :
- int LA52_61 = input.LA(1);
+ int LA52_54 = input.LA(1);
- int index52_61 = input.index();
+ int index52_54 = input.index();
input.rewind();
s = -1;
- if ( ((LA52_61>=PACKAGE && LA52_61<=ID)||LA52_61==GLOBAL||(LA52_61>=QUERY && LA52_61<=ATTRIBUTES)||LA52_61==ENABLED||LA52_61==SALIENCE||(LA52_61>=DURATION && LA52_61<=DIALECT)||LA52_61==FROM||(LA52_61>=INIT && LA52_61<=RESULT)||(LA52_61>=CONTAINS && LA52_61<=MEMBEROF)||LA52_61==IN||LA52_61==THEN) ) {s = 99;}
+ if ( (synpred10()) ) {s = 67;}
- else if ( (LA52_61==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (true) ) {s = 3;}
- else if ( (LA52_61==DOT||LA52_61==COMMA||(LA52_61>=DATE_EFFECTIVE && LA52_61<=DATE_EXPIRES)||LA52_61==BOOL||(LA52_61>=INT && LA52_61<=AGENDA_GROUP)||(LA52_61>=LOCK_ON_ACTIVE && LA52_61<=DOUBLE_AMPER)||(LA52_61>=EXISTS && LA52_61<=ACCUMULATE)||LA52_61==COLLECT||LA52_61==TILDE||(LA52_61>=FLOAT && LA52_61<=RIGHT_SQUARE)||(LA52_61>=EOL && LA52_61<=83)) && (synpred7())) {s = 13;}
-
- else if ( (LA52_61==LEFT_PAREN) && (synpred7())) {s = 67;}
-
- input.seek(index52_61);
+ input.seek(index52_54);
if ( s>=0 ) return s;
break;
case 21 :
- int LA52_32 = input.LA(1);
+ int LA52_58 = input.LA(1);
- int index52_32 = input.index();
+ int index52_58 = input.index();
input.rewind();
s = -1;
- if ( (LA52_32==ID) ) {s = 64;}
+ if ( (LA52_58==RIGHT_SQUARE) ) {s = 96;}
- else if ( (LA52_32==LEFT_PAREN) ) {s = 65;}
+ else if ( (LA52_58==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_32==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( ((LA52_58>=PACKAGE && LA52_58<=GLOBAL)||LA52_58==COMMA||(LA52_58>=QUERY && LA52_58<=LEFT_SQUARE)||(LA52_58>=THEN && LA52_58<=84)) && (synpred10())) {s = 12;}
- else if ( ((LA52_32>=PACKAGE && LA52_32<=EVENT)||(LA52_32>=DOT && LA52_32<=GLOBAL)||LA52_32==COMMA||(LA52_32>=QUERY && LA52_32<=83)) && (synpred7())) {s = 13;}
+ else if ( (LA52_58==LEFT_PAREN) && (synpred10())) {s = 67;}
- input.seek(index52_32);
+ input.seek(index52_58);
if ( s>=0 ) return s;
break;
case 22 :
- int LA52_56 = input.LA(1);
+ int LA52_62 = input.LA(1);
- int index52_56 = input.index();
+ int index52_62 = input.index();
input.rewind();
s = -1;
- if ( (LA52_56==ID) ) {s = 93;}
+ if ( (LA52_62==RIGHT_SQUARE) ) {s = 100;}
- else if ( (LA52_56==LEFT_PAREN) ) {s = 94;}
+ else if ( (LA52_62==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_56==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( ((LA52_62>=PACKAGE && LA52_62<=GLOBAL)||LA52_62==COMMA||(LA52_62>=QUERY && LA52_62<=LEFT_SQUARE)||(LA52_62>=THEN && LA52_62<=84)) && (synpred10())) {s = 12;}
- else if ( ((LA52_56>=PACKAGE && LA52_56<=EVENT)||(LA52_56>=DOT && LA52_56<=GLOBAL)||LA52_56==COMMA||(LA52_56>=QUERY && LA52_56<=83)) && (synpred7())) {s = 13;}
+ else if ( (LA52_62==LEFT_PAREN) && (synpred10())) {s = 67;}
- input.seek(index52_56);
+ input.seek(index52_62);
if ( s>=0 ) return s;
break;
case 23 :
- int LA52_60 = input.LA(1);
+ int LA52_64 = input.LA(1);
- int index52_60 = input.index();
+ int index52_64 = input.index();
input.rewind();
s = -1;
- if ( (LA52_60==ID) ) {s = 97;}
+ if ( (LA52_64==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_60==LEFT_PAREN) ) {s = 98;}
+ else if ( (LA52_64==DOT) ) {s = 101;}
- else if ( (LA52_60==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_64==LEFT_PAREN) ) {s = 102;}
- else if ( ((LA52_60>=PACKAGE && LA52_60<=EVENT)||(LA52_60>=DOT && LA52_60<=GLOBAL)||LA52_60==COMMA||(LA52_60>=QUERY && LA52_60<=83)) && (synpred7())) {s = 13;}
+ else if ( (LA52_64==LEFT_SQUARE) ) {s = 103;}
+ else if ( ((LA52_64>=PACKAGE && LA52_64<=ID)||LA52_64==GLOBAL||LA52_64==COMMA||(LA52_64>=QUERY && LA52_64<=RIGHT_CURLY)||(LA52_64>=RIGHT_SQUARE && LA52_64<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_60);
+ input.seek(index52_64);
if ( s>=0 ) return s;
break;
case 24 :
- int LA52_5 = input.LA(1);
+ int LA52_24 = input.LA(1);
- int index52_5 = input.index();
+ int index52_24 = input.index();
input.rewind();
s = -1;
- if ( (LA52_5==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ if ( (LA52_24==LEFT_PAREN) ) {s = 51;}
- else if ( (LA52_5==EXISTS) ) {s = 20;}
+ else if ( (LA52_24==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_5==LEFT_PAREN) ) {s = 21;}
+ else if ( ((LA52_24>=PACKAGE && LA52_24<=GLOBAL)||LA52_24==COMMA||(LA52_24>=QUERY && LA52_24<=84)) && (synpred10())) {s = 12;}
- else if ( (LA52_5==NOT) ) {s = 22;}
-
- else if ( (LA52_5==EVAL) ) {s = 23;}
-
- else if ( (LA52_5==FORALL) ) {s = 24;}
-
- else if ( (LA52_5==ID) ) {s = 25;}
-
- else if ( ((LA52_5>=PACKAGE && LA52_5<=EVENT)||(LA52_5>=DOT && LA52_5<=GLOBAL)||LA52_5==COMMA||(LA52_5>=QUERY && LA52_5<=FROM)||(LA52_5>=ACCUMULATE && LA52_5<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_5);
+ input.seek(index52_24);
if ( s>=0 ) return s;
break;
case 25 :
- int LA52_36 = input.LA(1);
+ int LA52_32 = input.LA(1);
- int index52_36 = input.index();
+ int index52_32 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 67;}
+ if ( (LA52_32==ID) ) {s = 64;}
- else if ( (true) ) {s = 3;}
+ else if ( (LA52_32==LEFT_PAREN) ) {s = 65;}
+ else if ( (LA52_32==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+ else if ( ((LA52_32>=PACKAGE && LA52_32<=EVENT)||(LA52_32>=DOT && LA52_32<=GLOBAL)||LA52_32==COMMA||(LA52_32>=QUERY && LA52_32<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_36);
+ input.seek(index52_32);
if ( s>=0 ) return s;
break;
case 26 :
- int LA52_29 = input.LA(1);
+ int LA52_56 = input.LA(1);
- int index52_29 = input.index();
+ int index52_56 = input.index();
input.rewind();
s = -1;
- if ( (LA52_29==76) ) {s = 60;}
+ if ( (LA52_56==ID) ) {s = 93;}
- else if ( (LA52_29==DOT) ) {s = 61;}
+ else if ( (LA52_56==LEFT_PAREN) ) {s = 94;}
- else if ( (LA52_29==LEFT_SQUARE) ) {s = 62;}
+ else if ( (LA52_56==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_29==LEFT_PAREN) ) {s = 63;}
+ else if ( ((LA52_56>=PACKAGE && LA52_56<=EVENT)||(LA52_56>=DOT && LA52_56<=GLOBAL)||LA52_56==COMMA||(LA52_56>=QUERY && LA52_56<=84)) && (synpred10())) {s = 12;}
- else if ( (LA52_29==RIGHT_PAREN) && (synpred7())) {s = 8;}
-
- else if ( ((LA52_29>=PACKAGE && LA52_29<=ID)||LA52_29==GLOBAL||LA52_29==COMMA||(LA52_29>=QUERY && LA52_29<=RIGHT_CURLY)||(LA52_29>=RIGHT_SQUARE && LA52_29<=75)||(LA52_29>=77 && LA52_29<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_29);
+ input.seek(index52_56);
if ( s>=0 ) return s;
break;
case 27 :
- int LA52_27 = input.LA(1);
+ int LA52_60 = input.LA(1);
- int index52_27 = input.index();
+ int index52_60 = input.index();
input.rewind();
s = -1;
- if ( (LA52_27==76) ) {s = 56;}
+ if ( (LA52_60==ID) ) {s = 97;}
- else if ( (LA52_27==DOT) ) {s = 57;}
+ else if ( (LA52_60==LEFT_PAREN) ) {s = 98;}
- else if ( (LA52_27==LEFT_SQUARE) ) {s = 58;}
+ else if ( (LA52_60==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_27==LEFT_PAREN) ) {s = 59;}
+ else if ( ((LA52_60>=PACKAGE && LA52_60<=EVENT)||(LA52_60>=DOT && LA52_60<=GLOBAL)||LA52_60==COMMA||(LA52_60>=QUERY && LA52_60<=84)) && (synpred10())) {s = 12;}
- else if ( (LA52_27==RIGHT_PAREN) && (synpred7())) {s = 8;}
-
- else if ( ((LA52_27>=PACKAGE && LA52_27<=ID)||LA52_27==GLOBAL||LA52_27==COMMA||(LA52_27>=QUERY && LA52_27<=RIGHT_CURLY)||(LA52_27>=RIGHT_SQUARE && LA52_27<=75)||(LA52_27>=77 && LA52_27<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_27);
+ input.seek(index52_60);
if ( s>=0 ) return s;
break;
case 28 :
- int LA52_12 = input.LA(1);
+ int LA52_63 = input.LA(1);
- int index52_12 = input.index();
+ int index52_63 = input.index();
input.rewind();
s = -1;
- if ( (LA52_12==76) ) {s = 32;}
+ if ( (synpred10()) ) {s = 67;}
- else if ( (LA52_12==DOT) ) {s = 33;}
+ else if ( (true) ) {s = 3;}
- else if ( (LA52_12==LEFT_SQUARE) ) {s = 34;}
-
- else if ( (LA52_12==LEFT_PAREN) ) {s = 35;}
-
- else if ( (LA52_12==RIGHT_PAREN) && (synpred7())) {s = 8;}
-
- else if ( ((LA52_12>=PACKAGE && LA52_12<=ID)||LA52_12==GLOBAL||LA52_12==COMMA||(LA52_12>=QUERY && LA52_12<=RIGHT_CURLY)||(LA52_12>=RIGHT_SQUARE && LA52_12<=75)||(LA52_12>=77 && LA52_12<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_12);
+ input.seek(index52_63);
if ( s>=0 ) return s;
break;
case 29 :
- int LA52_18 = input.LA(1);
+ int LA52_21 = input.LA(1);
- int index52_18 = input.index();
+ int index52_21 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 13;}
+ if ( (synpred10()) ) {s = 13;}
else if ( (true) ) {s = 3;}
- input.seek(index52_18);
+ input.seek(index52_21);
if ( s>=0 ) return s;
break;
case 30 :
- int LA52_43 = input.LA(1);
+ int LA52_17 = input.LA(1);
- int index52_43 = input.index();
+ int index52_17 = input.index();
input.rewind();
s = -1;
- if ( ((LA52_43>=PACKAGE && LA52_43<=ID)||LA52_43==GLOBAL||(LA52_43>=QUERY && LA52_43<=ATTRIBUTES)||LA52_43==ENABLED||LA52_43==SALIENCE||(LA52_43>=DURATION && LA52_43<=DIALECT)||LA52_43==FROM||(LA52_43>=INIT && LA52_43<=RESULT)||(LA52_43>=CONTAINS && LA52_43<=MEMBEROF)||LA52_43==IN||LA52_43==THEN) ) {s = 79;}
+ if ( (LA52_17==LEFT_PAREN) ) {s = 41;}
- else if ( (LA52_43==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_17==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_43==DOT||LA52_43==COMMA||(LA52_43>=DATE_EFFECTIVE && LA52_43<=DATE_EXPIRES)||LA52_43==BOOL||(LA52_43>=INT && LA52_43<=AGENDA_GROUP)||(LA52_43>=LOCK_ON_ACTIVE && LA52_43<=DOUBLE_AMPER)||(LA52_43>=EXISTS && LA52_43<=ACCUMULATE)||LA52_43==COLLECT||LA52_43==TILDE||(LA52_43>=FLOAT && LA52_43<=RIGHT_SQUARE)||(LA52_43>=EOL && LA52_43<=83)) && (synpred7())) {s = 13;}
+ else if ( ((LA52_17>=PACKAGE && LA52_17<=GLOBAL)||LA52_17==COMMA||(LA52_17>=QUERY && LA52_17<=84)) && (synpred10())) {s = 12;}
- else if ( (LA52_43==LEFT_PAREN) && (synpred7())) {s = 67;}
-
- input.seek(index52_43);
+ input.seek(index52_17);
if ( s>=0 ) return s;
break;
case 31 :
- int LA52_41 = input.LA(1);
+ int LA52_36 = input.LA(1);
- int index52_41 = input.index();
+ int index52_36 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 67;}
+ if ( (synpred10()) ) {s = 67;}
else if ( (true) ) {s = 3;}
- input.seek(index52_41);
+ input.seek(index52_36);
if ( s>=0 ) return s;
break;
case 32 :
@@ -8397,568 +8485,592 @@
int index52_44 = input.index();
input.rewind();
s = -1;
- if ( (LA52_44==RIGHT_SQUARE) ) {s = 80;}
+ if ( (synpred10()) ) {s = 67;}
- else if ( (LA52_44==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (true) ) {s = 3;}
- else if ( ((LA52_44>=PACKAGE && LA52_44<=GLOBAL)||LA52_44==COMMA||(LA52_44>=QUERY && LA52_44<=LEFT_SQUARE)||(LA52_44>=THEN && LA52_44<=83)) && (synpred7())) {s = 13;}
-
- else if ( (LA52_44==LEFT_PAREN) && (synpred7())) {s = 67;}
-
input.seek(index52_44);
if ( s>=0 ) return s;
break;
case 33 :
- int LA52_34 = input.LA(1);
+ int LA52_39 = input.LA(1);
- int index52_34 = input.index();
+ int index52_39 = input.index();
input.rewind();
s = -1;
- if ( (LA52_34==RIGHT_SQUARE) ) {s = 68;}
+ if ( (synpred10()) ) {s = 67;}
- else if ( (LA52_34==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (true) ) {s = 3;}
- else if ( ((LA52_34>=PACKAGE && LA52_34<=GLOBAL)||LA52_34==COMMA||(LA52_34>=QUERY && LA52_34<=LEFT_SQUARE)||(LA52_34>=THEN && LA52_34<=83)) && (synpred7())) {s = 13;}
-
- else if ( (LA52_34==LEFT_PAREN) && (synpred7())) {s = 67;}
-
- input.seek(index52_34);
+ input.seek(index52_39);
if ( s>=0 ) return s;
break;
case 34 :
- int LA52_58 = input.LA(1);
+ int LA52_66 = input.LA(1);
- int index52_58 = input.index();
+ int index52_66 = input.index();
input.rewind();
s = -1;
- if ( (LA52_58==RIGHT_SQUARE) ) {s = 96;}
+ if ( (LA52_66==LEFT_SQUARE) ) {s = 34;}
- else if ( (LA52_58==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_66==LEFT_PAREN) ) {s = 35;}
- else if ( ((LA52_58>=PACKAGE && LA52_58<=GLOBAL)||LA52_58==COMMA||(LA52_58>=QUERY && LA52_58<=LEFT_SQUARE)||(LA52_58>=THEN && LA52_58<=83)) && (synpred7())) {s = 13;}
+ else if ( (LA52_66==DOT) ) {s = 33;}
- else if ( (LA52_58==LEFT_PAREN) && (synpred7())) {s = 67;}
+ else if ( (LA52_66==RIGHT_PAREN) && (synpred10())) {s = 13;}
+ else if ( ((LA52_66>=PACKAGE && LA52_66<=ID)||LA52_66==GLOBAL||LA52_66==COMMA||(LA52_66>=QUERY && LA52_66<=RIGHT_CURLY)||(LA52_66>=RIGHT_SQUARE && LA52_66<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_58);
+ input.seek(index52_66);
if ( s>=0 ) return s;
break;
case 35 :
- int LA52_62 = input.LA(1);
+ int LA52_0 = input.LA(1);
- int index52_62 = input.index();
+ int index52_0 = input.index();
input.rewind();
s = -1;
- if ( (LA52_62==RIGHT_SQUARE) ) {s = 100;}
+ if ( (LA52_0==LEFT_SQUARE) && (synpred9())) {s = 1;}
- else if ( (LA52_62==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_0==LEFT_PAREN) ) {s = 2;}
- else if ( ((LA52_62>=PACKAGE && LA52_62<=GLOBAL)||LA52_62==COMMA||(LA52_62>=QUERY && LA52_62<=LEFT_SQUARE)||(LA52_62>=THEN && LA52_62<=83)) && (synpred7())) {s = 13;}
+ else if ( ((LA52_0>=ID && LA52_0<=DOT)||(LA52_0>=COMMA && LA52_0<=RIGHT_PAREN)||LA52_0==END||(LA52_0>=OR && LA52_0<=DOUBLE_AMPER)||(LA52_0>=EXISTS && LA52_0<=FORALL)||LA52_0==INIT||LA52_0==THEN||LA52_0==75) ) {s = 3;}
- else if ( (LA52_62==LEFT_PAREN) && (synpred7())) {s = 67;}
-
- input.seek(index52_62);
+ input.seek(index52_0);
if ( s>=0 ) return s;
break;
case 36 :
- int LA52_35 = input.LA(1);
+ int LA52_65 = input.LA(1);
- int index52_35 = input.index();
+ int index52_65 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 67;}
+ if ( (synpred10()) ) {s = 67;}
else if ( (true) ) {s = 3;}
- input.seek(index52_35);
+ input.seek(index52_65);
if ( s>=0 ) return s;
break;
case 37 :
- int LA52_63 = input.LA(1);
+ int LA52_38 = input.LA(1);
- int index52_63 = input.index();
+ int index52_38 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 67;}
+ if ( (LA52_38==77) ) {s = 73;}
- else if ( (true) ) {s = 3;}
+ else if ( (LA52_38==DOT) ) {s = 74;}
+ else if ( (LA52_38==LEFT_SQUARE) ) {s = 75;}
+
+ else if ( (LA52_38==LEFT_PAREN) ) {s = 76;}
+
+ else if ( (LA52_38==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+ else if ( ((LA52_38>=PACKAGE && LA52_38<=ID)||LA52_38==GLOBAL||LA52_38==COMMA||(LA52_38>=QUERY && LA52_38<=RIGHT_CURLY)||(LA52_38>=RIGHT_SQUARE && LA52_38<=76)||(LA52_38>=78 && LA52_38<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_63);
+ input.seek(index52_38);
if ( s>=0 ) return s;
break;
case 38 :
- int LA52_65 = input.LA(1);
+ int LA52_37 = input.LA(1);
- int index52_65 = input.index();
+ int index52_37 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 67;}
+ if ( (LA52_37==77) ) {s = 69;}
- else if ( (true) ) {s = 3;}
+ else if ( (LA52_37==DOT) ) {s = 70;}
+ else if ( (LA52_37==LEFT_SQUARE) ) {s = 71;}
+
+ else if ( (LA52_37==LEFT_PAREN) ) {s = 72;}
+
+ else if ( (LA52_37==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+ else if ( ((LA52_37>=PACKAGE && LA52_37<=ID)||LA52_37==GLOBAL||LA52_37==COMMA||(LA52_37>=QUERY && LA52_37<=RIGHT_CURLY)||(LA52_37>=RIGHT_SQUARE && LA52_37<=76)||(LA52_37>=78 && LA52_37<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_65);
+ input.seek(index52_37);
if ( s>=0 ) return s;
break;
case 39 :
- int LA52_46 = input.LA(1);
+ int LA52_29 = input.LA(1);
- int index52_46 = input.index();
+ int index52_29 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 67;}
+ if ( (LA52_29==77) ) {s = 60;}
- else if ( (true) ) {s = 3;}
+ else if ( (LA52_29==DOT) ) {s = 61;}
+ else if ( (LA52_29==LEFT_SQUARE) ) {s = 62;}
+
+ else if ( (LA52_29==LEFT_PAREN) ) {s = 63;}
+
+ else if ( (LA52_29==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+ else if ( ((LA52_29>=PACKAGE && LA52_29<=ID)||LA52_29==GLOBAL||LA52_29==COMMA||(LA52_29>=QUERY && LA52_29<=RIGHT_CURLY)||(LA52_29>=RIGHT_SQUARE && LA52_29<=76)||(LA52_29>=78 && LA52_29<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_46);
+ input.seek(index52_29);
if ( s>=0 ) return s;
break;
case 40 :
- int LA52_40 = input.LA(1);
+ int LA52_27 = input.LA(1);
- int index52_40 = input.index();
+ int index52_27 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 67;}
+ if ( (LA52_27==77) ) {s = 56;}
- else if ( (true) ) {s = 3;}
+ else if ( (LA52_27==DOT) ) {s = 57;}
+ else if ( (LA52_27==LEFT_SQUARE) ) {s = 58;}
+
+ else if ( (LA52_27==LEFT_PAREN) ) {s = 59;}
+
+ else if ( (LA52_27==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+ else if ( ((LA52_27>=PACKAGE && LA52_27<=ID)||LA52_27==GLOBAL||LA52_27==COMMA||(LA52_27>=QUERY && LA52_27<=RIGHT_CURLY)||(LA52_27>=RIGHT_SQUARE && LA52_27<=76)||(LA52_27>=78 && LA52_27<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_40);
+ input.seek(index52_27);
if ( s>=0 ) return s;
break;
case 41 :
- int LA52_38 = input.LA(1);
+ int LA52_11 = input.LA(1);
- int index52_38 = input.index();
+ int index52_11 = input.index();
input.rewind();
s = -1;
- if ( (LA52_38==76) ) {s = 73;}
+ if ( (LA52_11==77) ) {s = 32;}
- else if ( (LA52_38==DOT) ) {s = 74;}
+ else if ( (LA52_11==DOT) ) {s = 33;}
- else if ( (LA52_38==LEFT_SQUARE) ) {s = 75;}
+ else if ( (LA52_11==LEFT_SQUARE) ) {s = 34;}
- else if ( (LA52_38==LEFT_PAREN) ) {s = 76;}
+ else if ( (LA52_11==LEFT_PAREN) ) {s = 35;}
- else if ( (LA52_38==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_11==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( ((LA52_38>=PACKAGE && LA52_38<=ID)||LA52_38==GLOBAL||LA52_38==COMMA||(LA52_38>=QUERY && LA52_38<=RIGHT_CURLY)||(LA52_38>=RIGHT_SQUARE && LA52_38<=75)||(LA52_38>=77 && LA52_38<=83)) && (synpred7())) {s = 13;}
+ else if ( ((LA52_11>=PACKAGE && LA52_11<=ID)||LA52_11==GLOBAL||LA52_11==COMMA||(LA52_11>=QUERY && LA52_11<=RIGHT_CURLY)||(LA52_11>=RIGHT_SQUARE && LA52_11<=76)||(LA52_11>=78 && LA52_11<=84)) && (synpred10())) {s = 12;}
- input.seek(index52_38);
+ input.seek(index52_11);
if ( s>=0 ) return s;
break;
case 42 :
- int LA52_37 = input.LA(1);
+ int LA52_19 = input.LA(1);
- int index52_37 = input.index();
+ int index52_19 = input.index();
input.rewind();
s = -1;
- if ( (LA52_37==76) ) {s = 69;}
+ if ( (LA52_19==77) ) {s = 42;}
- else if ( (LA52_37==DOT) ) {s = 70;}
+ else if ( (LA52_19==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_37==LEFT_SQUARE) ) {s = 71;}
+ else if ( (LA52_19==DOT) ) {s = 43;}
- else if ( (LA52_37==LEFT_PAREN) ) {s = 72;}
+ else if ( (LA52_19==LEFT_PAREN) ) {s = 44;}
- else if ( (LA52_37==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_19==LEFT_SQUARE) ) {s = 45;}
- else if ( ((LA52_37>=PACKAGE && LA52_37<=ID)||LA52_37==GLOBAL||LA52_37==COMMA||(LA52_37>=QUERY && LA52_37<=RIGHT_CURLY)||(LA52_37>=RIGHT_SQUARE && LA52_37<=75)||(LA52_37>=77 && LA52_37<=83)) && (synpred7())) {s = 13;}
+ else if ( ((LA52_19>=PACKAGE && LA52_19<=ID)||LA52_19==GLOBAL||LA52_19==COMMA||(LA52_19>=QUERY && LA52_19<=RIGHT_CURLY)||(LA52_19>=RIGHT_SQUARE && LA52_19<=76)||(LA52_19>=78 && LA52_19<=84)) && (synpred10())) {s = 12;}
- input.seek(index52_37);
+ input.seek(index52_19);
if ( s>=0 ) return s;
break;
case 43 :
- int LA52_19 = input.LA(1);
+ int LA52_23 = input.LA(1);
- int index52_19 = input.index();
+ int index52_23 = input.index();
input.rewind();
s = -1;
- if ( (LA52_19==76) ) {s = 42;}
+ if ( (LA52_23==LEFT_PAREN) ) {s = 50;}
- else if ( (LA52_19==DOT) ) {s = 43;}
+ else if ( (LA52_23==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_19==LEFT_SQUARE) ) {s = 44;}
+ else if ( ((LA52_23>=PACKAGE && LA52_23<=GLOBAL)||LA52_23==COMMA||(LA52_23>=QUERY && LA52_23<=84)) && (synpred10())) {s = 12;}
- else if ( (LA52_19==LEFT_PAREN) ) {s = 45;}
-
- else if ( (LA52_19==RIGHT_PAREN) && (synpred7())) {s = 8;}
-
- else if ( ((LA52_19>=PACKAGE && LA52_19<=ID)||LA52_19==GLOBAL||LA52_19==COMMA||(LA52_19>=QUERY && LA52_19<=RIGHT_CURLY)||(LA52_19>=RIGHT_SQUARE && LA52_19<=75)||(LA52_19>=77 && LA52_19<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_19);
+ input.seek(index52_23);
if ( s>=0 ) return s;
break;
case 44 :
- int LA52_9 = input.LA(1);
+ int LA52_8 = input.LA(1);
- int index52_9 = input.index();
+ int index52_8 = input.index();
input.rewind();
s = -1;
- if ( (LA52_9==LEFT_PAREN) ) {s = 28;}
+ if ( (LA52_8==LEFT_PAREN) ) {s = 28;}
- else if ( (LA52_9==ID) ) {s = 29;}
+ else if ( (LA52_8==ID) ) {s = 29;}
- else if ( (LA52_9==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_8==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( ((LA52_9>=PACKAGE && LA52_9<=EVENT)||(LA52_9>=DOT && LA52_9<=GLOBAL)||LA52_9==COMMA||(LA52_9>=QUERY && LA52_9<=83)) && (synpred7())) {s = 13;}
+ else if ( ((LA52_8>=PACKAGE && LA52_8<=EVENT)||(LA52_8>=DOT && LA52_8<=GLOBAL)||LA52_8==COMMA||(LA52_8>=QUERY && LA52_8<=84)) && (synpred10())) {s = 12;}
- input.seek(index52_9);
+ input.seek(index52_8);
if ( s>=0 ) return s;
break;
case 45 :
- int LA52_2 = input.LA(1);
+ int LA52_6 = input.LA(1);
- int index52_2 = input.index();
+ int index52_6 = input.index();
input.rewind();
s = -1;
- if ( (LA52_2==AND) ) {s = 4;}
+ if ( (synpred10()) ) {s = 13;}
- else if ( (LA52_2==OR) ) {s = 5;}
+ else if ( (true) ) {s = 3;}
- else if ( (LA52_2==EXISTS) ) {s = 6;}
-
- else if ( (LA52_2==LEFT_PAREN) ) {s = 7;}
-
- else if ( (LA52_2==RIGHT_PAREN) && (synpred7())) {s = 8;}
-
- else if ( (LA52_2==NOT) ) {s = 9;}
-
- else if ( (LA52_2==EVAL) ) {s = 10;}
-
- else if ( (LA52_2==FORALL) ) {s = 11;}
-
- else if ( (LA52_2==ID) ) {s = 12;}
-
- else if ( ((LA52_2>=PACKAGE && LA52_2<=EVENT)||(LA52_2>=DOT && LA52_2<=GLOBAL)||LA52_2==COMMA||(LA52_2>=QUERY && LA52_2<=LOCK_ON_ACTIVE)||LA52_2==DOUBLE_PIPE||(LA52_2>=DOUBLE_AMPER && LA52_2<=FROM)||(LA52_2>=ACCUMULATE && LA52_2<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_2);
+ input.seek(index52_6);
if ( s>=0 ) return s;
break;
case 46 :
- int LA52_10 = input.LA(1);
+ int LA52_26 = input.LA(1);
- int index52_10 = input.index();
+ int index52_26 = input.index();
input.rewind();
s = -1;
- if ( (LA52_10==LEFT_PAREN) ) {s = 30;}
+ if ( (synpred10()) ) {s = 13;}
- else if ( (LA52_10==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (true) ) {s = 3;}
- else if ( ((LA52_10>=PACKAGE && LA52_10<=GLOBAL)||LA52_10==COMMA||(LA52_10>=QUERY && LA52_10<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_10);
+ input.seek(index52_26);
if ( s>=0 ) return s;
break;
case 47 :
- int LA52_52 = input.LA(1);
+ int LA52_48 = input.LA(1);
- int index52_52 = input.index();
+ int index52_48 = input.index();
input.rewind();
s = -1;
- if ( (LA52_52==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ if ( (LA52_48==77) ) {s = 85;}
- else if ( (LA52_52==ID) ) {s = 89;}
+ else if ( (LA52_48==DOT) ) {s = 86;}
- else if ( (LA52_52==LEFT_PAREN) ) {s = 90;}
+ else if ( (LA52_48==LEFT_SQUARE) ) {s = 87;}
- else if ( ((LA52_52>=PACKAGE && LA52_52<=EVENT)||(LA52_52>=DOT && LA52_52<=GLOBAL)||LA52_52==COMMA||(LA52_52>=QUERY && LA52_52<=83)) && (synpred7())) {s = 13;}
+ else if ( (LA52_48==LEFT_PAREN) ) {s = 88;}
+ else if ( (LA52_48==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+ else if ( ((LA52_48>=PACKAGE && LA52_48<=ID)||LA52_48==GLOBAL||LA52_48==COMMA||(LA52_48>=QUERY && LA52_48<=RIGHT_CURLY)||(LA52_48>=RIGHT_SQUARE && LA52_48<=76)||(LA52_48>=78 && LA52_48<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_52);
+ input.seek(index52_48);
if ( s>=0 ) return s;
break;
case 48 :
- int LA52_51 = input.LA(1);
+ int LA52_47 = input.LA(1);
- int index52_51 = input.index();
+ int index52_47 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 67;}
+ if ( (LA52_47==77) ) {s = 81;}
- else if ( (true) ) {s = 3;}
+ else if ( (LA52_47==RIGHT_PAREN) && (synpred10())) {s = 13;}
+ else if ( (LA52_47==DOT) ) {s = 82;}
+
+ else if ( (LA52_47==LEFT_PAREN) ) {s = 83;}
+
+ else if ( (LA52_47==LEFT_SQUARE) ) {s = 84;}
+
+ else if ( ((LA52_47>=PACKAGE && LA52_47<=ID)||LA52_47==GLOBAL||LA52_47==COMMA||(LA52_47>=QUERY && LA52_47<=RIGHT_CURLY)||(LA52_47>=RIGHT_SQUARE && LA52_47<=76)||(LA52_47>=78 && LA52_47<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_51);
+ input.seek(index52_47);
if ( s>=0 ) return s;
break;
case 49 :
- int LA52_23 = input.LA(1);
+ int LA52_25 = input.LA(1);
- int index52_23 = input.index();
+ int index52_25 = input.index();
input.rewind();
s = -1;
- if ( (LA52_23==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ if ( (LA52_25==77) ) {s = 52;}
- else if ( ((LA52_23>=PACKAGE && LA52_23<=GLOBAL)||LA52_23==COMMA||(LA52_23>=QUERY && LA52_23<=83)) && (synpred7())) {s = 13;}
+ else if ( (LA52_25==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_23==LEFT_PAREN) ) {s = 50;}
+ else if ( (LA52_25==DOT) ) {s = 53;}
+ else if ( (LA52_25==LEFT_PAREN) ) {s = 54;}
+
+ else if ( (LA52_25==LEFT_SQUARE) ) {s = 55;}
+
+ else if ( ((LA52_25>=PACKAGE && LA52_25<=ID)||LA52_25==GLOBAL||LA52_25==COMMA||(LA52_25>=QUERY && LA52_25<=RIGHT_CURLY)||(LA52_25>=RIGHT_SQUARE && LA52_25<=76)||(LA52_25>=78 && LA52_25<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_23);
+ input.seek(index52_25);
if ( s>=0 ) return s;
break;
case 50 :
- int LA52_20 = input.LA(1);
+ int LA52_2 = input.LA(1);
- int index52_20 = input.index();
+ int index52_2 = input.index();
input.rewind();
s = -1;
- if ( (LA52_20==LEFT_PAREN) ) {s = 46;}
+ if ( (LA52_2==AND) ) {s = 4;}
- else if ( (LA52_20==ID) ) {s = 47;}
+ else if ( (LA52_2==OR) ) {s = 5;}
- else if ( (LA52_20==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_2==LEFT_PAREN) ) {s = 6;}
- else if ( ((LA52_20>=PACKAGE && LA52_20<=EVENT)||(LA52_20>=DOT && LA52_20<=GLOBAL)||LA52_20==COMMA||(LA52_20>=QUERY && LA52_20<=83)) && (synpred7())) {s = 13;}
+ else if ( (LA52_2==EXISTS) ) {s = 7;}
+ else if ( (LA52_2==NOT) ) {s = 8;}
+
+ else if ( (LA52_2==EVAL) ) {s = 9;}
+
+ else if ( (LA52_2==FORALL) ) {s = 10;}
+
+ else if ( (LA52_2==ID) ) {s = 11;}
+
+ else if ( ((LA52_2>=PACKAGE && LA52_2<=EVENT)||(LA52_2>=DOT && LA52_2<=GLOBAL)||LA52_2==COMMA||(LA52_2>=QUERY && LA52_2<=LOCK_ON_ACTIVE)||LA52_2==DOUBLE_PIPE||(LA52_2>=DOUBLE_AMPER && LA52_2<=FROM)||(LA52_2>=ACCUMULATE && LA52_2<=84)) && (synpred10())) {s = 12;}
+
+ else if ( (LA52_2==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
- input.seek(index52_20);
+ input.seek(index52_2);
if ( s>=0 ) return s;
break;
case 51 :
- int LA52_17 = input.LA(1);
+ int LA52_46 = input.LA(1);
- int index52_17 = input.index();
+ int index52_46 = input.index();
input.rewind();
s = -1;
- if ( (LA52_17==LEFT_PAREN) ) {s = 41;}
+ if ( (synpred10()) ) {s = 67;}
- else if ( (LA52_17==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (true) ) {s = 3;}
- else if ( ((LA52_17>=PACKAGE && LA52_17<=GLOBAL)||LA52_17==COMMA||(LA52_17>=QUERY && LA52_17<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_17);
+ input.seek(index52_46);
if ( s>=0 ) return s;
break;
case 52 :
- int LA52_26 = input.LA(1);
+ int LA52_31 = input.LA(1);
- int index52_26 = input.index();
+ int index52_31 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 13;}
+ if ( (synpred10()) ) {s = 13;}
else if ( (true) ) {s = 3;}
- input.seek(index52_26);
+ input.seek(index52_31);
if ( s>=0 ) return s;
break;
case 53 :
- int LA52_11 = input.LA(1);
+ int LA52_40 = input.LA(1);
- int index52_11 = input.index();
+ int index52_40 = input.index();
input.rewind();
s = -1;
- if ( (LA52_11==LEFT_PAREN) ) {s = 31;}
+ if ( (synpred10()) ) {s = 67;}
- else if ( (LA52_11==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (true) ) {s = 3;}
- else if ( ((LA52_11>=PACKAGE && LA52_11<=GLOBAL)||LA52_11==COMMA||(LA52_11>=QUERY && LA52_11<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_11);
+ input.seek(index52_40);
if ( s>=0 ) return s;
break;
case 54 :
- int LA52_4 = input.LA(1);
+ int LA52_7 = input.LA(1);
- int index52_4 = input.index();
+ int index52_7 = input.index();
input.rewind();
s = -1;
- if ( (LA52_4==EXISTS) ) {s = 14;}
+ if ( (LA52_7==LEFT_PAREN) ) {s = 26;}
- else if ( (LA52_4==NOT) ) {s = 15;}
+ else if ( (LA52_7==ID) ) {s = 27;}
- else if ( (LA52_4==EVAL) ) {s = 16;}
+ else if ( (LA52_7==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_4==FORALL) ) {s = 17;}
+ else if ( ((LA52_7>=PACKAGE && LA52_7<=EVENT)||(LA52_7>=DOT && LA52_7<=GLOBAL)||LA52_7==COMMA||(LA52_7>=QUERY && LA52_7<=84)) && (synpred10())) {s = 12;}
- else if ( (LA52_4==LEFT_PAREN) ) {s = 18;}
-
- else if ( (LA52_4==ID) ) {s = 19;}
-
- else if ( (LA52_4==RIGHT_PAREN) && (synpred7())) {s = 8;}
-
- else if ( ((LA52_4>=PACKAGE && LA52_4<=EVENT)||(LA52_4>=DOT && LA52_4<=GLOBAL)||LA52_4==COMMA||(LA52_4>=QUERY && LA52_4<=FROM)||(LA52_4>=ACCUMULATE && LA52_4<=83)) && (synpred7())) {s = 13;}
-
- input.seek(index52_4);
+ input.seek(index52_7);
if ( s>=0 ) return s;
break;
case 55 :
- int LA52_49 = input.LA(1);
+ int LA52_30 = input.LA(1);
- int index52_49 = input.index();
+ int index52_30 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 67;}
+ if ( (synpred10()) ) {s = 13;}
else if ( (true) ) {s = 3;}
- input.seek(index52_49);
+ input.seek(index52_30);
if ( s>=0 ) return s;
break;
case 56 :
- int LA52_14 = input.LA(1);
+ int LA52_53 = input.LA(1);
- int index52_14 = input.index();
+ int index52_53 = input.index();
input.rewind();
s = -1;
- if ( (LA52_14==LEFT_PAREN) ) {s = 36;}
+ if ( (LA52_53==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_14==ID) ) {s = 37;}
+ else if ( ((LA52_53>=PACKAGE && LA52_53<=ID)||LA52_53==GLOBAL||(LA52_53>=QUERY && LA52_53<=ATTRIBUTES)||LA52_53==ENABLED||LA52_53==SALIENCE||(LA52_53>=DURATION && LA52_53<=DIALECT)||LA52_53==FROM||(LA52_53>=INIT && LA52_53<=RESULT)||(LA52_53>=CONTAINS && LA52_53<=MEMBEROF)||LA52_53==IN||LA52_53==THEN) ) {s = 91;}
- else if ( (LA52_14==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_53==LEFT_PAREN) && (synpred10())) {s = 67;}
- else if ( ((LA52_14>=PACKAGE && LA52_14<=EVENT)||(LA52_14>=DOT && LA52_14<=GLOBAL)||LA52_14==COMMA||(LA52_14>=QUERY && LA52_14<=83)) && (synpred7())) {s = 13;}
+ else if ( (LA52_53==DOT||LA52_53==COMMA||(LA52_53>=DATE_EFFECTIVE && LA52_53<=DATE_EXPIRES)||LA52_53==BOOL||(LA52_53>=INT && LA52_53<=AGENDA_GROUP)||(LA52_53>=LOCK_ON_ACTIVE && LA52_53<=DOUBLE_AMPER)||(LA52_53>=EXISTS && LA52_53<=ACCUMULATE)||(LA52_53>=COLLECT && LA52_53<=ENTRY_POINT)||LA52_53==TILDE||(LA52_53>=FLOAT && LA52_53<=RIGHT_SQUARE)||(LA52_53>=EOL && LA52_53<=84)) && (synpred10())) {s = 12;}
- input.seek(index52_14);
+ input.seek(index52_53);
if ( s>=0 ) return s;
break;
case 57 :
- int LA52_59 = input.LA(1);
+ int LA52_20 = input.LA(1);
- int index52_59 = input.index();
+ int index52_20 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 67;}
+ if ( (LA52_20==LEFT_PAREN) ) {s = 46;}
- else if ( (true) ) {s = 3;}
+ else if ( (LA52_20==ID) ) {s = 47;}
+ else if ( (LA52_20==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+ else if ( ((LA52_20>=PACKAGE && LA52_20<=EVENT)||(LA52_20>=DOT && LA52_20<=GLOBAL)||LA52_20==COMMA||(LA52_20>=QUERY && LA52_20<=84)) && (synpred10())) {s = 12;}
+
- input.seek(index52_59);
+ input.seek(index52_20);
if ( s>=0 ) return s;
break;
case 58 :
- int LA52_22 = input.LA(1);
+ int LA52_42 = input.LA(1);
- int index52_22 = input.index();
+ int index52_42 = input.index();
input.rewind();
s = -1;
- if ( (LA52_22==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ if ( (LA52_42==ID) ) {s = 77;}
- else if ( (LA52_22==ID) ) {s = 48;}
+ else if ( (LA52_42==LEFT_PAREN) ) {s = 78;}
- else if ( (LA52_22==LEFT_PAREN) ) {s = 49;}
+ else if ( (LA52_42==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( ((LA52_22>=PACKAGE && LA52_22<=EVENT)||(LA52_22>=DOT && LA52_22<=GLOBAL)||LA52_22==COMMA||(LA52_22>=QUERY && LA52_22<=83)) && (synpred7())) {s = 13;}
+ else if ( ((LA52_42>=PACKAGE && LA52_42<=EVENT)||(LA52_42>=DOT && LA52_42<=GLOBAL)||LA52_42==COMMA||(LA52_42>=QUERY && LA52_42<=84)) && (synpred10())) {s = 12;}
- input.seek(index52_22);
+ input.seek(index52_42);
if ( s>=0 ) return s;
break;
case 59 :
- int LA52_42 = input.LA(1);
+ int LA52_15 = input.LA(1);
- int index52_42 = input.index();
+ int index52_15 = input.index();
input.rewind();
s = -1;
- if ( (LA52_42==ID) ) {s = 77;}
+ if ( (LA52_15==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_42==LEFT_PAREN) ) {s = 78;}
+ else if ( (LA52_15==ID) ) {s = 38;}
- else if ( (LA52_42==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_15==LEFT_PAREN) ) {s = 39;}
- else if ( ((LA52_42>=PACKAGE && LA52_42<=EVENT)||(LA52_42>=DOT && LA52_42<=GLOBAL)||LA52_42==COMMA||(LA52_42>=QUERY && LA52_42<=83)) && (synpred7())) {s = 13;}
+ else if ( ((LA52_15>=PACKAGE && LA52_15<=EVENT)||(LA52_15>=DOT && LA52_15<=GLOBAL)||LA52_15==COMMA||(LA52_15>=QUERY && LA52_15<=84)) && (synpred10())) {s = 12;}
- input.seek(index52_42);
+ input.seek(index52_15);
if ( s>=0 ) return s;
break;
case 60 :
- int LA52_7 = input.LA(1);
+ int LA52_45 = input.LA(1);
- int index52_7 = input.index();
+ int index52_45 = input.index();
input.rewind();
s = -1;
- if ( (synpred7()) ) {s = 13;}
+ if ( (LA52_45==RIGHT_SQUARE) ) {s = 80;}
- else if ( (true) ) {s = 3;}
+ else if ( (LA52_45==RIGHT_PAREN) && (synpred10())) {s = 13;}
+ else if ( ((LA52_45>=PACKAGE && LA52_45<=GLOBAL)||LA52_45==COMMA||(LA52_45>=QUERY && LA52_45<=LEFT_SQUARE)||(LA52_45>=THEN && LA52_45<=84)) && (synpred10())) {s = 12;}
+
+ else if ( (LA52_45==LEFT_PAREN) && (synpred10())) {s = 67;}
+
- input.seek(index52_7);
+ input.seek(index52_45);
if ( s>=0 ) return s;
break;
case 61 :
- int LA52_53 = input.LA(1);
+ int LA52_52 = input.LA(1);
- int index52_53 = input.index();
+ int index52_52 = input.index();
input.rewind();
s = -1;
- if ( ((LA52_53>=PACKAGE && LA52_53<=ID)||LA52_53==GLOBAL||(LA52_53>=QUERY && LA52_53<=ATTRIBUTES)||LA52_53==ENABLED||LA52_53==SALIENCE||(LA52_53>=DURATION && LA52_53<=DIALECT)||LA52_53==FROM||(LA52_53>=INIT && LA52_53<=RESULT)||(LA52_53>=CONTAINS && LA52_53<=MEMBEROF)||LA52_53==IN||LA52_53==THEN) ) {s = 91;}
+ if ( (LA52_52==ID) ) {s = 89;}
- else if ( (LA52_53==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ else if ( (LA52_52==LEFT_PAREN) ) {s = 90;}
- else if ( (LA52_53==DOT||LA52_53==COMMA||(LA52_53>=DATE_EFFECTIVE && LA52_53<=DATE_EXPIRES)||LA52_53==BOOL||(LA52_53>=INT && LA52_53<=AGENDA_GROUP)||(LA52_53>=LOCK_ON_ACTIVE && LA52_53<=DOUBLE_AMPER)||(LA52_53>=EXISTS && LA52_53<=ACCUMULATE)||LA52_53==COLLECT||LA52_53==TILDE||(LA52_53>=FLOAT && LA52_53<=RIGHT_SQUARE)||(LA52_53>=EOL && LA52_53<=83)) && (synpred7())) {s = 13;}
+ else if ( (LA52_52==RIGHT_PAREN) && (synpred10())) {s = 13;}
- else if ( (LA52_53==LEFT_PAREN) && (synpred7())) {s = 67;}
+ else if ( ((LA52_52>=PACKAGE && LA52_52<=EVENT)||(LA52_52>=DOT && LA52_52<=GLOBAL)||LA52_52==COMMA||(LA52_52>=QUERY && LA52_52<=84)) && (synpred10())) {s = 12;}
- input.seek(index52_53);
+ input.seek(index52_52);
if ( s>=0 ) return s;
break;
case 62 :
- int LA52_16 = input.LA(1);
+ int LA52_28 = input.LA(1);
- int index52_16 = input.index();
+ int index52_28 = input.index();
input.rewind();
s = -1;
- if ( (LA52_16==RIGHT_PAREN) && (synpred7())) {s = 8;}
+ if ( (synpred10()) ) {s = 13;}
- else if ( ((LA52_16>=PACKAGE && LA52_16<=GLOBAL)||LA52_16==COMMA||(LA52_16>=QUERY && LA52_16<=83)) && (synpred7())) {s = 13;}
+ else if ( (true) ) {s = 3;}
- else if ( (LA52_16==LEFT_PAREN) ) {s = 40;}
-
- input.seek(index52_16);
+ input.seek(index52_28);
if ( s>=0 ) return s;
break;
}
@@ -8976,7 +9088,7 @@
static final String DFA64_minS =
"\1\14\1\uffff\1\4\1\11\1\0\1\4\1\uffff\1\4\13\0";
static final String DFA64_maxS =
- "\1\46\1\uffff\2\123\1\0\1\123\1\uffff\1\123\13\0";
+ "\1\46\1\uffff\2\124\1\0\1\124\1\uffff\1\124\13\0";
static final String DFA64_acceptS =
"\1\uffff\1\2\4\uffff\1\1\14\uffff";
static final String DFA64_specialS =
@@ -8985,19 +9097,19 @@
"\2\1\26\uffff\1\2\1\uffff\1\1",
"",
"\5\1\1\uffff\1\1\1\4\2\uffff\6\1\3\uffff\1\1\1\uffff\1\1\6\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\1\6\1\1\2\uffff\4\1\1\uffff\1\5\1\7"+
+ "\2\1\5\uffff\1\1\1\uffff\1\6\1\1\2\uffff\4\1\2\uffff\1\5\1\7"+
"\1\10\1\11\1\12\1\6\1\3\6\uffff\1\1\16\uffff\6\6",
- "\1\1\1\uffff\1\13\35\uffff\1\1\10\uffff\7\1\4\uffff\1\1\20\uffff"+
+ "\1\1\1\uffff\1\13\35\uffff\1\1\11\uffff\7\1\4\uffff\1\1\20\uffff"+
"\6\1",
"\1\uffff",
- "\5\6\1\1\1\6\1\22\2\uffff\6\6\1\uffff\1\6\1\uffff\4\6\5\uffff"+
- "\2\6\5\uffff\1\6\1\uffff\1\1\3\uffff\4\6\1\uffff\1\15\1\16\1"+
- "\17\1\20\1\21\1\1\1\14\2\6\2\uffff\1\1\1\uffff\1\6\16\uffff"+
+ "\5\6\1\1\1\6\1\15\2\uffff\6\6\1\uffff\1\6\1\uffff\4\6\5\uffff"+
+ "\2\6\5\uffff\1\6\1\uffff\1\1\3\uffff\4\6\2\uffff\1\16\1\17\1"+
+ "\20\1\21\1\22\1\1\1\14\2\6\2\uffff\1\1\1\uffff\1\6\16\uffff"+
"\6\1",
"",
- "\5\6\1\1\1\6\1\22\2\uffff\6\6\1\uffff\1\6\1\uffff\4\6\5\uffff"+
- "\2\6\5\uffff\1\6\1\uffff\1\1\3\uffff\4\6\1\uffff\1\15\1\16\1"+
- "\17\1\20\1\21\1\1\1\14\2\6\2\uffff\1\1\1\uffff\1\6\16\uffff"+
+ "\5\6\1\1\1\6\1\15\2\uffff\6\6\1\uffff\1\6\1\uffff\4\6\5\uffff"+
+ "\2\6\5\uffff\1\6\1\uffff\1\1\3\uffff\4\6\2\uffff\1\16\1\17\1"+
+ "\20\1\21\1\22\1\1\1\14\2\6\2\uffff\1\1\1\uffff\1\6\16\uffff"+
"\6\1",
"\1\uffff",
"\1\uffff",
@@ -9042,7 +9154,7 @@
this.transition = DFA64_transition;
}
public String getDescription() {
- return "()* loopback of 1411:3: ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )*";
+ return "()* loopback of 1434:3: ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )*";
}
public int specialStateTransition(int s, IntStream input) throws NoViableAltException {
int _s = s;
@@ -9054,7 +9166,7 @@
int index64_4 = input.index();
input.rewind();
s = -1;
- if ( (synpred8()) ) {s = 6;}
+ if ( (synpred11()) ) {s = 6;}
else if ( (true) ) {s = 1;}
@@ -9071,82 +9183,38 @@
}
}
static final String DFA65_eotS =
- "\70\uffff";
+ "\32\uffff";
static final String DFA65_eofS =
- "\1\1\13\uffff\1\4\1\uffff\5\4\45\uffff";
+ "\1\1\31\uffff";
static final String DFA65_minS =
- "\1\14\1\uffff\1\4\1\11\1\uffff\7\4\1\11\6\4\1\11\1\0\2\4\41\0";
+ "\1\14\1\uffff\1\4\1\11\2\4\1\uffff\1\4\22\0";
static final String DFA65_maxS =
- "\1\46\1\uffff\2\123\1\uffff\7\123\1\75\1\123\5\77\1\123\1\0\2\123"+
- "\41\0";
+ "\1\46\1\uffff\4\124\1\uffff\1\124\22\0";
static final String DFA65_acceptS =
- "\1\uffff\1\2\2\uffff\1\1\63\uffff";
+ "\1\uffff\1\2\4\uffff\1\1\23\uffff";
static final String DFA65_specialS =
- "\24\uffff\1\0\43\uffff}>";
+ "\32\uffff}>";
static final String[] DFA65_transitionS = {
"\2\1\26\uffff\1\1\1\uffff\1\2",
"",
- "\5\1\1\uffff\1\1\1\12\2\uffff\6\1\3\uffff\1\1\1\uffff\1\1\6"+
- "\uffff\2\1\5\uffff\1\1\1\uffff\1\4\1\1\2\uffff\4\1\1\uffff\1"+
- "\5\1\6\1\7\1\10\1\11\1\4\1\3\6\uffff\1\1\16\uffff\6\4",
- "\1\1\1\uffff\1\13\35\uffff\1\1\10\uffff\7\1\4\uffff\1\1\20\uffff"+
+ "\5\1\1\uffff\1\1\1\4\2\uffff\6\1\3\uffff\1\1\1\uffff\1\1\6\uffff"+
+ "\2\1\5\uffff\1\1\1\uffff\1\6\1\1\2\uffff\4\1\2\uffff\1\5\1\7"+
+ "\1\10\1\11\1\12\1\6\1\3\6\uffff\1\1\16\uffff\6\6",
+ "\1\1\1\uffff\1\13\35\uffff\1\1\11\uffff\7\1\4\uffff\1\1\20\uffff"+
"\6\1",
+ "\5\1\1\uffff\1\1\1\22\2\uffff\6\1\3\uffff\1\1\1\uffff\1\1\6"+
+ "\uffff\2\1\5\uffff\1\1\1\uffff\1\6\1\1\2\uffff\4\1\2\uffff\1"+
+ "\15\1\16\1\17\1\20\1\21\1\6\1\14\6\uffff\1\1\16\uffff\6\6",
+ "\5\6\1\1\1\6\1\31\2\uffff\6\6\1\uffff\1\6\1\uffff\4\6\5\uffff"+
+ "\2\6\5\uffff\1\6\1\uffff\1\1\3\uffff\4\6\2\uffff\1\24\1\25\1"+
+ "\26\1\27\1\30\1\1\1\23\2\6\2\uffff\1\1\1\uffff\1\6\16\uffff"+
+ "\6\1",
"",
- "\5\4\1\1\1\4\1\15\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5\uffff"+
- "\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\16\1\17\1"+
- "\20\1\21\1\22\1\1\1\14\2\4\2\uffff\1\1\1\uffff\1\4\16\uffff"+
+ "\5\6\1\1\1\6\1\31\2\uffff\6\6\1\uffff\1\6\1\uffff\4\6\5\uffff"+
+ "\2\6\5\uffff\1\6\1\uffff\1\1\3\uffff\4\6\2\uffff\1\24\1\25\1"+
+ "\26\1\27\1\30\1\1\1\23\2\6\2\uffff\1\1\1\uffff\1\6\16\uffff"+
"\6\1",
- "\5\4\1\1\1\4\1\15\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5\uffff"+
- "\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\16\1\17\1"+
- "\20\1\21\1\22\1\1\1\14\2\4\2\uffff\1\1\1\uffff\1\4\16\uffff"+
- "\6\1",
- "\5\4\1\1\1\4\1\15\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5\uffff"+
- "\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\16\1\17\1"+
- "\20\1\21\1\22\1\1\1\14\2\4\2\uffff\1\1\1\uffff\1\4\16\uffff"+
- "\6\1",
- "\5\4\1\1\1\4\1\15\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5\uffff"+
- "\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\16\1\17\1"+
- "\20\1\21\1\22\1\1\1\14\2\4\2\uffff\1\1\1\uffff\1\4\16\uffff"+
- "\6\1",
- "\5\4\1\1\1\4\1\15\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5\uffff"+
- "\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\16\1\17\1"+
- "\20\1\21\1\22\1\1\1\14\2\4\2\uffff\1\1\1\uffff\1\4\16\uffff"+
- "\6\1",
- "\5\1\1\uffff\1\1\1\24\2\uffff\6\1\3\uffff\1\1\1\uffff\1\1\6"+
- "\uffff\2\1\5\uffff\1\1\1\uffff\1\4\1\1\2\uffff\4\1\1\uffff\1"+
- "\25\1\26\1\27\1\30\1\31\1\4\1\23\6\uffff\1\1\16\uffff\6\4",
- "\5\4\1\uffff\1\4\1\33\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5"+
- "\uffff\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\34"+
- "\1\35\1\36\1\37\1\40\1\1\1\32\2\4\4\uffff\1\4\16\uffff\6\1",
- "\1\4\1\uffff\1\1\2\4\26\uffff\1\4\1\uffff\1\4\26\uffff\1\4",
- "\7\4\1\42\35\4\1\43\10\4\1\52\1\53\1\54\1\55\1\56\1\57\1\41"+
- "\25\4\1\44\1\45\1\46\1\47\1\50\1\51",
- "\5\1\1\4\2\1\2\4\6\1\1\uffff\1\1\1\uffff\4\1\5\uffff\2\1\2\uffff"+
- "\1\4\1\uffff\1\4\1\1\5\uffff\4\1\1\uffff\5\1\1\uffff\3\1\2\uffff"+
- "\1\4\1\uffff\1\1",
- "\5\1\1\4\2\1\2\4\6\1\1\uffff\1\1\1\uffff\4\1\5\uffff\2\1\2\uffff"+
- "\1\4\1\uffff\1\4\1\1\5\uffff\4\1\1\uffff\5\1\1\uffff\3\1\2\uffff"+
- "\1\4\1\uffff\1\1",
- "\5\1\1\4\2\1\2\4\6\1\1\uffff\1\1\1\uffff\4\1\5\uffff\2\1\2\uffff"+
- "\1\4\1\uffff\1\4\1\1\5\uffff\4\1\1\uffff\5\1\1\uffff\3\1\2\uffff"+
- "\1\4\1\uffff\1\1",
- "\5\1\1\4\2\1\2\4\6\1\1\uffff\1\1\1\uffff\4\1\5\uffff\2\1\2\uffff"+
- "\1\4\1\uffff\1\4\1\1\5\uffff\4\1\1\uffff\5\1\1\uffff\3\1\2\uffff"+
- "\1\4\1\uffff\1\1",
- "\5\1\1\4\2\1\2\4\6\1\1\uffff\1\1\1\uffff\4\1\5\uffff\2\1\2\uffff"+
- "\1\4\1\uffff\1\4\1\1\5\uffff\4\1\1\uffff\5\1\1\uffff\3\1\2\uffff"+
- "\1\4\1\uffff\1\1",
- "\1\1\1\uffff\1\60\35\uffff\1\1\10\uffff\7\1\4\uffff\1\1\20\uffff"+
- "\6\1",
"\1\uffff",
- "\5\4\1\1\1\4\1\62\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5\uffff"+
- "\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\63\1\64\1"+
- "\65\1\66\1\67\1\1\1\61\2\4\2\uffff\1\1\1\uffff\1\4\16\uffff"+
- "\6\1",
- "\5\4\1\1\1\4\1\62\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5\uffff"+
- "\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\63\1\64\1"+
- "\65\1\66\1\67\1\1\1\61\2\4\2\uffff\1\1\1\uffff\1\4\16\uffff"+
- "\6\1",
"\1\uffff",
"\1\uffff",
"\1\uffff",
@@ -9163,22 +9231,6 @@
"\1\uffff",
"\1\uffff",
"\1\uffff",
- "\1\uffff",
- "\1\uffff",
- "\1\uffff",
- "\1\uffff",
- "\1\uffff",
- "\1\uffff",
- "\1\uffff",
- "\1\uffff",
- "\1\uffff",
- "\1\uffff",
- "\1\uffff",
- "\1\uffff",
- "\1\uffff",
- "\1\uffff",
- "\1\uffff",
- "\1\uffff",
"\1\uffff"
};
@@ -9212,37 +9264,12 @@
this.transition = DFA65_transition;
}
public String getDescription() {
- return "()* loopback of 1434:3: ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )*";
+ return "()* loopback of 1457:3: ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )*";
}
- public int specialStateTransition(int s, IntStream input) throws NoViableAltException {
- int _s = s;
- switch ( s ) {
- case 0 :
- int LA65_20 = input.LA(1);
-
-
- int index65_20 = input.index();
- input.rewind();
- s = -1;
- if ( (synpred9()) ) {s = 4;}
-
- else if ( (true) ) {s = 1;}
-
-
- input.seek(index65_20);
- if ( s>=0 ) return s;
- break;
- }
- if (backtracking>0) {failed=true; return -1;}
- NoViableAltException nvae =
- new NoViableAltException(getDescription(), 65, _s, input);
- error(nvae);
- throw nvae;
- }
}
- public static final BitSet FOLLOW_74_in_opt_semicolon39 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_75_in_opt_semicolon39 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_prolog_in_compilation_unit57 = new BitSet(new long[]{0x00000007FAD34460L});
public static final BitSet FOLLOW_statement_in_compilation_unit62 = new BitSet(new long[]{0x00000007FAD34460L});
public static final BitSet FOLLOW_EOF_in_compilation_unit67 = new BitSet(new long[]{0x0000000000000002L});
@@ -9256,42 +9283,42 @@
public static final BitSet FOLLOW_template_in_statement165 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rule_in_statement174 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_query_in_statement186 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_PACKAGE_in_package_statement212 = new BitSet(new long[]{0x817DE083028FC5F0L});
- public static final BitSet FOLLOW_dotted_name_in_package_statement216 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
+ public static final BitSet FOLLOW_PACKAGE_in_package_statement212 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_dotted_name_in_package_statement216 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
public static final BitSet FOLLOW_opt_semicolon_in_package_statement218 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IMPORT_in_import_statement249 = new BitSet(new long[]{0x0000000000000100L});
- public static final BitSet FOLLOW_import_name_in_import_statement272 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
+ public static final BitSet FOLLOW_import_name_in_import_statement272 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
public static final BitSet FOLLOW_opt_semicolon_in_import_statement275 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IMPORT_in_function_import_statement299 = new BitSet(new long[]{0x0000000000000040L});
public static final BitSet FOLLOW_FUNCTION_in_function_import_statement301 = new BitSet(new long[]{0x0000000000000100L});
- public static final BitSet FOLLOW_import_name_in_function_import_statement324 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
+ public static final BitSet FOLLOW_import_name_in_function_import_statement324 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
public static final BitSet FOLLOW_opt_semicolon_in_function_import_statement327 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IMPORT_in_event_import_statement351 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_EVENT_in_event_import_statement353 = new BitSet(new long[]{0x0000000000000100L});
- public static final BitSet FOLLOW_import_name_in_event_import_statement376 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
+ public static final BitSet FOLLOW_import_name_in_event_import_statement376 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
public static final BitSet FOLLOW_opt_semicolon_in_event_import_statement379 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ID_in_import_name405 = new BitSet(new long[]{0x0000000000000202L,0x0000000000000800L});
- public static final BitSet FOLLOW_DOT_in_import_name417 = new BitSet(new long[]{0x817DE083028FC5F0L});
- public static final BitSet FOLLOW_identifier_in_import_name421 = new BitSet(new long[]{0x0000000000000202L,0x0000000000000800L});
- public static final BitSet FOLLOW_75_in_import_name445 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_GLOBAL_in_global479 = new BitSet(new long[]{0x817DE083028FC5F0L});
- public static final BitSet FOLLOW_dotted_name_in_global490 = new BitSet(new long[]{0x817DE083028FC5F0L});
- public static final BitSet FOLLOW_identifier_in_global501 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
+ public static final BitSet FOLLOW_ID_in_import_name405 = new BitSet(new long[]{0x0000000000000202L,0x0000000000001000L});
+ public static final BitSet FOLLOW_DOT_in_import_name417 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_identifier_in_import_name421 = new BitSet(new long[]{0x0000000000000202L,0x0000000000001000L});
+ public static final BitSet FOLLOW_76_in_import_name445 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_GLOBAL_in_global479 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_dotted_name_in_global490 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_identifier_in_global501 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
public static final BitSet FOLLOW_opt_semicolon_in_global503 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_FUNCTION_in_function528 = new BitSet(new long[]{0x817DE083028FC5F0L});
- public static final BitSet FOLLOW_dotted_name_in_function532 = new BitSet(new long[]{0x817DE083028FC5F0L});
+ public static final BitSet FOLLOW_FUNCTION_in_function528 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_dotted_name_in_function532 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
public static final BitSet FOLLOW_identifier_in_function537 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_LEFT_PAREN_in_function546 = new BitSet(new long[]{0x817DE083028FE5F0L});
- public static final BitSet FOLLOW_dotted_name_in_function555 = new BitSet(new long[]{0x817DE083028FC5F0L});
+ public static final BitSet FOLLOW_LEFT_PAREN_in_function546 = new BitSet(new long[]{0x02F9E083028FE5F0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_dotted_name_in_function555 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
public static final BitSet FOLLOW_argument_in_function560 = new BitSet(new long[]{0x0000000000003000L});
- public static final BitSet FOLLOW_COMMA_in_function574 = new BitSet(new long[]{0x817DE083028FC5F0L});
- public static final BitSet FOLLOW_dotted_name_in_function578 = new BitSet(new long[]{0x817DE083028FC5F0L});
+ public static final BitSet FOLLOW_COMMA_in_function574 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_dotted_name_in_function578 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
public static final BitSet FOLLOW_argument_in_function583 = new BitSet(new long[]{0x0000000000003000L});
- public static final BitSet FOLLOW_RIGHT_PAREN_in_function607 = new BitSet(new long[]{0x0800000000000000L});
+ public static final BitSet FOLLOW_RIGHT_PAREN_in_function607 = new BitSet(new long[]{0x1000000000000000L});
public static final BitSet FOLLOW_curly_chunk_in_function613 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_identifier_in_argument640 = new BitSet(new long[]{0x2000000000000002L});
- public static final BitSet FOLLOW_LEFT_SQUARE_in_argument646 = new BitSet(new long[]{0x4000000000000000L});
- public static final BitSet FOLLOW_RIGHT_SQUARE_in_argument648 = new BitSet(new long[]{0x2000000000000002L});
+ public static final BitSet FOLLOW_identifier_in_argument640 = new BitSet(new long[]{0x4000000000000002L});
+ public static final BitSet FOLLOW_LEFT_SQUARE_in_argument646 = new BitSet(new long[]{0x8000000000000000L});
+ public static final BitSet FOLLOW_RIGHT_SQUARE_in_argument648 = new BitSet(new long[]{0x4000000000000002L});
public static final BitSet FOLLOW_QUERY_in_query678 = new BitSet(new long[]{0x0000000000200100L});
public static final BitSet FOLLOW_name_in_query682 = new BitSet(new long[]{0x00000F0000008900L});
public static final BitSet FOLLOW_LEFT_PAREN_in_query692 = new BitSet(new long[]{0x0000000000002100L});
@@ -9302,26 +9329,26 @@
public static final BitSet FOLLOW_ID_in_query762 = new BitSet(new long[]{0x0000000000003000L});
public static final BitSet FOLLOW_RIGHT_PAREN_in_query812 = new BitSet(new long[]{0x00000F0000008900L});
public static final BitSet FOLLOW_normal_lhs_block_in_query841 = new BitSet(new long[]{0x0000000000008000L});
- public static final BitSet FOLLOW_END_in_query846 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
+ public static final BitSet FOLLOW_END_in_query846 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
public static final BitSet FOLLOW_opt_semicolon_in_query848 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TEMPLATE_in_template876 = new BitSet(new long[]{0x0000000000200100L});
- public static final BitSet FOLLOW_name_in_template880 = new BitSet(new long[]{0x0000000000000100L,0x0000000000000400L});
+ public static final BitSet FOLLOW_name_in_template880 = new BitSet(new long[]{0x0000000000000100L,0x0000000000000800L});
public static final BitSet FOLLOW_opt_semicolon_in_template882 = new BitSet(new long[]{0x0000000000000100L});
public static final BitSet FOLLOW_template_slot_in_template897 = new BitSet(new long[]{0x0000000000008100L});
- public static final BitSet FOLLOW_END_in_template912 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
+ public static final BitSet FOLLOW_END_in_template912 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
public static final BitSet FOLLOW_opt_semicolon_in_template914 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_qualified_id_in_template_slot960 = new BitSet(new long[]{0x817DE083028FC5F0L});
- public static final BitSet FOLLOW_identifier_in_template_slot976 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
+ public static final BitSet FOLLOW_qualified_id_in_template_slot960 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_identifier_in_template_slot976 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
public static final BitSet FOLLOW_opt_semicolon_in_template_slot978 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_in_rule1009 = new BitSet(new long[]{0x0000000000200100L});
- public static final BitSet FOLLOW_name_in_rule1013 = new BitSet(new long[]{0x80000007FADC0000L});
- public static final BitSet FOLLOW_rule_attributes_in_rule1022 = new BitSet(new long[]{0x8000000000040000L});
- public static final BitSet FOLLOW_WHEN_in_rule1034 = new BitSet(new long[]{0x80000F0000000900L,0x0000000000001000L});
- public static final BitSet FOLLOW_76_in_rule1036 = new BitSet(new long[]{0x80000F0000000900L});
- public static final BitSet FOLLOW_normal_lhs_block_in_rule1047 = new BitSet(new long[]{0x8000000000000000L});
+ public static final BitSet FOLLOW_name_in_rule1013 = new BitSet(new long[]{0x00000007FADC0000L,0x0000000000000001L});
+ public static final BitSet FOLLOW_rule_attributes_in_rule1022 = new BitSet(new long[]{0x0000000000040000L,0x0000000000000001L});
+ public static final BitSet FOLLOW_WHEN_in_rule1034 = new BitSet(new long[]{0x00000F0000000900L,0x0000000000002001L});
+ public static final BitSet FOLLOW_77_in_rule1036 = new BitSet(new long[]{0x00000F0000000900L,0x0000000000000001L});
+ public static final BitSet FOLLOW_normal_lhs_block_in_rule1047 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
public static final BitSet FOLLOW_rhs_chunk_in_rule1057 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ATTRIBUTES_in_rule_attributes1077 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
- public static final BitSet FOLLOW_76_in_rule_attributes1079 = new BitSet(new long[]{0x00000007FAD00000L});
+ public static final BitSet FOLLOW_ATTRIBUTES_in_rule_attributes1077 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
+ public static final BitSet FOLLOW_77_in_rule_attributes1079 = new BitSet(new long[]{0x00000007FAD00000L});
public static final BitSet FOLLOW_rule_attribute_in_rule_attributes1087 = new BitSet(new long[]{0x00000007FAD01002L});
public static final BitSet FOLLOW_COMMA_in_rule_attributes1094 = new BitSet(new long[]{0x00000007FAD00000L});
public static final BitSet FOLLOW_rule_attribute_in_rule_attributes1099 = new BitSet(new long[]{0x00000007FAD01002L});
@@ -9378,204 +9405,210 @@
public static final BitSet FOLLOW_lhs_unary_in_lhs_and1911 = new BitSet(new long[]{0x0000006000000002L});
public static final BitSet FOLLOW_set_in_lhs_and1919 = new BitSet(new long[]{0x00000F0000000900L});
public static final BitSet FOLLOW_lhs_unary_in_lhs_and1935 = new BitSet(new long[]{0x0000006000000002L});
- public static final BitSet FOLLOW_lhs_exist_in_lhs_unary1980 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
- public static final BitSet FOLLOW_lhs_not_in_lhs_unary1998 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
- public static final BitSet FOLLOW_lhs_eval_in_lhs_unary2017 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
- public static final BitSet FOLLOW_lhs_forall_in_lhs_unary2036 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
+ public static final BitSet FOLLOW_lhs_exist_in_lhs_unary1980 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
+ public static final BitSet FOLLOW_lhs_not_in_lhs_unary1998 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
+ public static final BitSet FOLLOW_lhs_eval_in_lhs_unary2017 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
+ public static final BitSet FOLLOW_lhs_forall_in_lhs_unary2036 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_unary2053 = new BitSet(new long[]{0x00000F0000000900L});
public static final BitSet FOLLOW_lhs_or_in_lhs_unary2057 = new BitSet(new long[]{0x0000000000002000L});
- public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_unary2059 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
- public static final BitSet FOLLOW_pattern_source_in_lhs_unary2070 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
+ public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_unary2059 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
+ public static final BitSet FOLLOW_pattern_source_in_lhs_unary2070 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
public static final BitSet FOLLOW_opt_semicolon_in_lhs_unary2082 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_lhs_pattern_in_pattern_source2109 = new BitSet(new long[]{0x0000008000000002L});
- public static final BitSet FOLLOW_FROM_in_pattern_source2121 = new BitSet(new long[]{0x817FF083028FC5F0L});
- public static final BitSet FOLLOW_accumulate_statement_in_pattern_source2177 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_collect_statement_in_pattern_source2200 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_from_statement_in_pattern_source2224 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_EXISTS_in_lhs_exist2267 = new BitSet(new long[]{0x0000000000000900L});
- public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_exist2287 = new BitSet(new long[]{0x00000F0000000900L});
- public static final BitSet FOLLOW_lhs_or_in_lhs_exist2291 = new BitSet(new long[]{0x0000000000002000L});
- public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_exist2321 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_lhs_pattern_in_lhs_exist2371 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_NOT_in_lhs_not2423 = new BitSet(new long[]{0x0000000000000900L});
- public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_not2436 = new BitSet(new long[]{0x00000F0000000900L});
- public static final BitSet FOLLOW_lhs_or_in_lhs_not2440 = new BitSet(new long[]{0x0000000000002000L});
- public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_not2471 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_lhs_pattern_in_lhs_not2508 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_EVAL_in_lhs_eval2554 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_paren_chunk_in_lhs_eval2565 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_FORALL_in_lhs_forall2591 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_forall2593 = new BitSet(new long[]{0x0000000000000100L});
- public static final BitSet FOLLOW_lhs_pattern_in_lhs_forall2597 = new BitSet(new long[]{0x0000000000002100L});
- public static final BitSet FOLLOW_lhs_pattern_in_lhs_forall2612 = new BitSet(new long[]{0x0000000000002100L});
- public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_forall2628 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_fact_binding_in_lhs_pattern2661 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_fact_in_lhs_pattern2669 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_from_source_in_from_statement2696 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ACCUMULATE_in_accumulate_statement2733 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_LEFT_PAREN_in_accumulate_statement2743 = new BitSet(new long[]{0x00000F0000000900L});
- public static final BitSet FOLLOW_lhs_or_in_accumulate_statement2747 = new BitSet(new long[]{0x0000200000001100L});
- public static final BitSet FOLLOW_COMMA_in_accumulate_statement2749 = new BitSet(new long[]{0x0000200000000100L});
- public static final BitSet FOLLOW_INIT_in_accumulate_statement2767 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2780 = new BitSet(new long[]{0x0000400000001000L});
- public static final BitSet FOLLOW_COMMA_in_accumulate_statement2782 = new BitSet(new long[]{0x0000400000000000L});
- public static final BitSet FOLLOW_ACTION_in_accumulate_statement2793 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2797 = new BitSet(new long[]{0x0001800000001000L});
- public static final BitSet FOLLOW_COMMA_in_accumulate_statement2799 = new BitSet(new long[]{0x0001800000000000L});
- public static final BitSet FOLLOW_REVERSE_in_accumulate_statement2812 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2816 = new BitSet(new long[]{0x0001000000001000L});
- public static final BitSet FOLLOW_COMMA_in_accumulate_statement2818 = new BitSet(new long[]{0x0001000000000000L});
- public static final BitSet FOLLOW_RESULT_in_accumulate_statement2835 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2839 = new BitSet(new long[]{0x0000000000002000L});
- public static final BitSet FOLLOW_ID_in_accumulate_statement2865 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2869 = new BitSet(new long[]{0x0000000000002000L});
- public static final BitSet FOLLOW_RIGHT_PAREN_in_accumulate_statement2886 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_identifier_in_from_source2914 = new BitSet(new long[]{0x0000000000000A02L});
- public static final BitSet FOLLOW_paren_chunk_in_from_source2942 = new BitSet(new long[]{0x0000000000000202L});
- public static final BitSet FOLLOW_expression_chain_in_from_source2955 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_DOT_in_expression_chain2990 = new BitSet(new long[]{0x817DE083028FC5F0L});
- public static final BitSet FOLLOW_identifier_in_expression_chain2994 = new BitSet(new long[]{0x2000000000000A02L});
- public static final BitSet FOLLOW_square_chunk_in_expression_chain3025 = new BitSet(new long[]{0x0000000000000202L});
- public static final BitSet FOLLOW_paren_chunk_in_expression_chain3058 = new BitSet(new long[]{0x0000000000000202L});
- public static final BitSet FOLLOW_expression_chain_in_expression_chain3073 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_COLLECT_in_collect_statement3124 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_LEFT_PAREN_in_collect_statement3134 = new BitSet(new long[]{0x0000000000000100L});
- public static final BitSet FOLLOW_pattern_source_in_collect_statement3138 = new BitSet(new long[]{0x0000000000002000L});
- public static final BitSet FOLLOW_RIGHT_PAREN_in_collect_statement3140 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ID_in_fact_binding3172 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
- public static final BitSet FOLLOW_76_in_fact_binding3174 = new BitSet(new long[]{0x0000000000000900L});
- public static final BitSet FOLLOW_fact_in_fact_binding3188 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LEFT_PAREN_in_fact_binding3204 = new BitSet(new long[]{0x0000000000000100L});
- public static final BitSet FOLLOW_fact_in_fact_binding3208 = new BitSet(new long[]{0x0000001800002000L});
- public static final BitSet FOLLOW_set_in_fact_binding3221 = new BitSet(new long[]{0x0000000000000100L});
- public static final BitSet FOLLOW_fact_in_fact_binding3233 = new BitSet(new long[]{0x0000001800002000L});
- public static final BitSet FOLLOW_RIGHT_PAREN_in_fact_binding3251 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_qualified_id_in_fact3306 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_LEFT_PAREN_in_fact3316 = new BitSet(new long[]{0x817DE483028FEDF0L});
- public static final BitSet FOLLOW_constraints_in_fact3328 = new BitSet(new long[]{0x0000000000002000L});
- public static final BitSet FOLLOW_RIGHT_PAREN_in_fact3335 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_EOF_in_fact3344 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_constraint_in_constraints3362 = new BitSet(new long[]{0x0000000000001002L});
- public static final BitSet FOLLOW_COMMA_in_constraints3369 = new BitSet(new long[]{0x817DE483028FCDF0L});
- public static final BitSet FOLLOW_constraint_in_constraints3378 = new BitSet(new long[]{0x0000000000001002L});
- public static final BitSet FOLLOW_or_constr_in_constraint3411 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_and_constr_in_or_constr3434 = new BitSet(new long[]{0x0000001000000002L});
- public static final BitSet FOLLOW_DOUBLE_PIPE_in_or_constr3442 = new BitSet(new long[]{0x817DE483028FCDF0L});
- public static final BitSet FOLLOW_and_constr_in_or_constr3451 = new BitSet(new long[]{0x0000001000000002L});
- public static final BitSet FOLLOW_unary_constr_in_and_constr3483 = new BitSet(new long[]{0x0000004000000002L});
- public static final BitSet FOLLOW_DOUBLE_AMPER_in_and_constr3491 = new BitSet(new long[]{0x817DE483028FCDF0L});
- public static final BitSet FOLLOW_unary_constr_in_and_constr3500 = new BitSet(new long[]{0x0000004000000002L});
- public static final BitSet FOLLOW_field_constraint_in_unary_constr3528 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LEFT_PAREN_in_unary_constr3536 = new BitSet(new long[]{0x817DE483028FCDF0L});
- public static final BitSet FOLLOW_or_constr_in_unary_constr3538 = new BitSet(new long[]{0x0000000000002000L});
- public static final BitSet FOLLOW_RIGHT_PAREN_in_unary_constr3541 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_EVAL_in_unary_constr3547 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_predicate_in_unary_constr3549 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ID_in_field_constraint3588 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
- public static final BitSet FOLLOW_76_in_field_constraint3590 = new BitSet(new long[]{0x817DE083028FC5F0L});
- public static final BitSet FOLLOW_accessor_path_in_field_constraint3609 = new BitSet(new long[]{0x01FC020000000802L,0x00000000000FE000L});
- public static final BitSet FOLLOW_or_restr_connective_in_field_constraint3623 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_77_in_field_constraint3638 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_predicate_in_field_constraint3640 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_accessor_path_in_field_constraint3666 = new BitSet(new long[]{0x01FC020000000800L,0x00000000000FC000L});
- public static final BitSet FOLLOW_or_restr_connective_in_field_constraint3675 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_and_restr_connective_in_or_restr_connective3722 = new BitSet(new long[]{0x0000001000000002L});
- public static final BitSet FOLLOW_DOUBLE_PIPE_in_or_restr_connective3745 = new BitSet(new long[]{0x01FC020000000800L,0x00000000000FC000L});
- public static final BitSet FOLLOW_and_restr_connective_in_or_restr_connective3756 = new BitSet(new long[]{0x0000001000000002L});
- public static final BitSet FOLLOW_constraint_expression_in_and_restr_connective3788 = new BitSet(new long[]{0x0000004000000002L});
- public static final BitSet FOLLOW_DOUBLE_AMPER_in_and_restr_connective3808 = new BitSet(new long[]{0x01FC020000000800L,0x00000000000FC000L});
- public static final BitSet FOLLOW_constraint_expression_in_and_restr_connective3819 = new BitSet(new long[]{0x0000004000000002L});
- public static final BitSet FOLLOW_compound_operator_in_constraint_expression3856 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_simple_operator_in_constraint_expression3863 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LEFT_PAREN_in_constraint_expression3871 = new BitSet(new long[]{0x01FC020000000800L,0x00000000000FC000L});
- public static final BitSet FOLLOW_or_restr_connective_in_constraint_expression3880 = new BitSet(new long[]{0x0000000000002000L});
- public static final BitSet FOLLOW_RIGHT_PAREN_in_constraint_expression3885 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_78_in_simple_operator3916 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_79_in_simple_operator3924 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_80_in_simple_operator3932 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_81_in_simple_operator3940 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_82_in_simple_operator3948 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_83_in_simple_operator3956 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_CONTAINS_in_simple_operator3984 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_NOT_in_simple_operator4012 = new BitSet(new long[]{0x0004000000000000L});
- public static final BitSet FOLLOW_CONTAINS_in_simple_operator4016 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_EXCLUDES_in_simple_operator4044 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_MATCHES_in_simple_operator4072 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_SOUNDSLIKE_in_simple_operator4100 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_NOT_in_simple_operator4128 = new BitSet(new long[]{0x0010000000000000L});
- public static final BitSet FOLLOW_MATCHES_in_simple_operator4132 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_MEMBEROF_in_simple_operator4160 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_NOT_in_simple_operator4188 = new BitSet(new long[]{0x0040000000000000L});
- public static final BitSet FOLLOW_MEMBEROF_in_simple_operator4192 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_TILDE_in_simple_operator4198 = new BitSet(new long[]{0x0000000000000100L});
- public static final BitSet FOLLOW_ID_in_simple_operator4202 = new BitSet(new long[]{0xA77DE08307AFCDF0L});
- public static final BitSet FOLLOW_square_chunk_in_simple_operator4206 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_NOT_in_simple_operator4215 = new BitSet(new long[]{0x0080000000000000L});
- public static final BitSet FOLLOW_TILDE_in_simple_operator4217 = new BitSet(new long[]{0x0000000000000100L});
- public static final BitSet FOLLOW_ID_in_simple_operator4221 = new BitSet(new long[]{0xA77DE08307AFCDF0L});
- public static final BitSet FOLLOW_square_chunk_in_simple_operator4225 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_expression_value_in_simple_operator4240 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_IN_in_compound_operator4270 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_NOT_in_compound_operator4282 = new BitSet(new long[]{0x0100000000000000L});
- public static final BitSet FOLLOW_IN_in_compound_operator4284 = new BitSet(new long[]{0x0000000000000800L});
- public static final BitSet FOLLOW_LEFT_PAREN_in_compound_operator4299 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_expression_value_in_compound_operator4303 = new BitSet(new long[]{0x0000000000003000L});
- public static final BitSet FOLLOW_COMMA_in_compound_operator4310 = new BitSet(new long[]{0x877DE08307AFCDF0L});
- public static final BitSet FOLLOW_expression_value_in_compound_operator4314 = new BitSet(new long[]{0x0000000000003000L});
- public static final BitSet FOLLOW_RIGHT_PAREN_in_compound_operator4323 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_accessor_path_in_expression_value4357 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_literal_constraint_in_expression_value4377 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_paren_chunk_in_expression_value4391 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_STRING_in_literal_constraint4434 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_INT_in_literal_constraint4445 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_FLOAT_in_literal_constraint4458 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_BOOL_in_literal_constraint4469 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_NULL_in_literal_constraint4481 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_paren_chunk_in_predicate4519 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LEFT_CURLY_in_curly_chunk4537 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000000FFFFFL});
- public static final BitSet FOLLOW_set_in_curly_chunk4541 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000000FFFFFL});
- public static final BitSet FOLLOW_curly_chunk_in_curly_chunk4550 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000000FFFFFL});
- public static final BitSet FOLLOW_RIGHT_CURLY_in_curly_chunk4555 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LEFT_PAREN_in_paren_chunk4569 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000000FFFFFL});
- public static final BitSet FOLLOW_set_in_paren_chunk4573 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000000FFFFFL});
- public static final BitSet FOLLOW_paren_chunk_in_paren_chunk4582 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000000FFFFFL});
- public static final BitSet FOLLOW_RIGHT_PAREN_in_paren_chunk4587 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LEFT_SQUARE_in_square_chunk4600 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000000FFFFFL});
- public static final BitSet FOLLOW_set_in_square_chunk4604 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000000FFFFFL});
- public static final BitSet FOLLOW_square_chunk_in_square_chunk4613 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000000FFFFFL});
- public static final BitSet FOLLOW_RIGHT_SQUARE_in_square_chunk4618 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ID_in_qualified_id4647 = new BitSet(new long[]{0x2000000000000202L});
- public static final BitSet FOLLOW_DOT_in_qualified_id4653 = new BitSet(new long[]{0x817DE083028FC5F0L});
- public static final BitSet FOLLOW_identifier_in_qualified_id4655 = new BitSet(new long[]{0x2000000000000202L});
- public static final BitSet FOLLOW_LEFT_SQUARE_in_qualified_id4664 = new BitSet(new long[]{0x4000000000000000L});
- public static final BitSet FOLLOW_RIGHT_SQUARE_in_qualified_id4666 = new BitSet(new long[]{0x2000000000000002L});
- public static final BitSet FOLLOW_identifier_in_dotted_name4700 = new BitSet(new long[]{0x2000000000000202L});
- public static final BitSet FOLLOW_DOT_in_dotted_name4706 = new BitSet(new long[]{0x817DE083028FC5F0L});
- public static final BitSet FOLLOW_identifier_in_dotted_name4710 = new BitSet(new long[]{0x2000000000000202L});
- public static final BitSet FOLLOW_LEFT_SQUARE_in_dotted_name4719 = new BitSet(new long[]{0x4000000000000000L});
- public static final BitSet FOLLOW_RIGHT_SQUARE_in_dotted_name4721 = new BitSet(new long[]{0x2000000000000002L});
- public static final BitSet FOLLOW_accessor_element_in_accessor_path4755 = new BitSet(new long[]{0x0000000000000202L});
- public static final BitSet FOLLOW_DOT_in_accessor_path4761 = new BitSet(new long[]{0x817DE083028FC5F0L});
- public static final BitSet FOLLOW_accessor_element_in_accessor_path4765 = new BitSet(new long[]{0x0000000000000202L});
- public static final BitSet FOLLOW_identifier_in_accessor_element4803 = new BitSet(new long[]{0x2000000000000002L});
- public static final BitSet FOLLOW_square_chunk_in_accessor_element4810 = new BitSet(new long[]{0x2000000000000002L});
- public static final BitSet FOLLOW_THEN_in_rhs_chunk4831 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000000FFFFFL});
- public static final BitSet FOLLOW_set_in_rhs_chunk4839 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000000FFFFFL});
- public static final BitSet FOLLOW_END_in_rhs_chunk4863 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
- public static final BitSet FOLLOW_opt_semicolon_in_rhs_chunk4865 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ID_in_name4899 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_STRING_in_name4907 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_FROM_in_pattern_source2160 = new BitSet(new long[]{0x0004000000000000L});
+ public static final BitSet FOLLOW_entrypoint_statement_in_pattern_source2164 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_FROM_in_pattern_source2184 = new BitSet(new long[]{0x02FBF083028FC5F0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_accumulate_statement_in_pattern_source2242 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_collect_statement_in_pattern_source2265 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_from_statement_in_pattern_source2302 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_EXISTS_in_lhs_exist2345 = new BitSet(new long[]{0x0000000000000900L});
+ public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_exist2365 = new BitSet(new long[]{0x00000F0000000900L});
+ public static final BitSet FOLLOW_lhs_or_in_lhs_exist2369 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_exist2399 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_lhs_pattern_in_lhs_exist2449 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_NOT_in_lhs_not2501 = new BitSet(new long[]{0x0000000000000900L});
+ public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_not2514 = new BitSet(new long[]{0x00000F0000000900L});
+ public static final BitSet FOLLOW_lhs_or_in_lhs_not2518 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_not2549 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_lhs_pattern_in_lhs_not2586 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_EVAL_in_lhs_eval2632 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_paren_chunk_in_lhs_eval2643 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_FORALL_in_lhs_forall2669 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_forall2671 = new BitSet(new long[]{0x0000000000000100L});
+ public static final BitSet FOLLOW_lhs_pattern_in_lhs_forall2675 = new BitSet(new long[]{0x0000000000002100L});
+ public static final BitSet FOLLOW_lhs_pattern_in_lhs_forall2690 = new BitSet(new long[]{0x0000000000002100L});
+ public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_forall2706 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_fact_binding_in_lhs_pattern2739 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_fact_in_lhs_pattern2747 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_from_source_in_from_statement2774 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ACCUMULATE_in_accumulate_statement2811 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_LEFT_PAREN_in_accumulate_statement2821 = new BitSet(new long[]{0x00000F0000000900L});
+ public static final BitSet FOLLOW_lhs_or_in_accumulate_statement2825 = new BitSet(new long[]{0x0000200000001100L});
+ public static final BitSet FOLLOW_COMMA_in_accumulate_statement2827 = new BitSet(new long[]{0x0000200000000100L});
+ public static final BitSet FOLLOW_INIT_in_accumulate_statement2845 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2858 = new BitSet(new long[]{0x0000400000001000L});
+ public static final BitSet FOLLOW_COMMA_in_accumulate_statement2860 = new BitSet(new long[]{0x0000400000000000L});
+ public static final BitSet FOLLOW_ACTION_in_accumulate_statement2871 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2875 = new BitSet(new long[]{0x0001800000001000L});
+ public static final BitSet FOLLOW_COMMA_in_accumulate_statement2877 = new BitSet(new long[]{0x0001800000000000L});
+ public static final BitSet FOLLOW_REVERSE_in_accumulate_statement2890 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2894 = new BitSet(new long[]{0x0001000000001000L});
+ public static final BitSet FOLLOW_COMMA_in_accumulate_statement2896 = new BitSet(new long[]{0x0001000000000000L});
+ public static final BitSet FOLLOW_RESULT_in_accumulate_statement2913 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2917 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_ID_in_accumulate_statement2943 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2947 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_RIGHT_PAREN_in_accumulate_statement2964 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_identifier_in_from_source2995 = new BitSet(new long[]{0x0000000000000A02L});
+ public static final BitSet FOLLOW_paren_chunk_in_from_source3023 = new BitSet(new long[]{0x0000000000000202L});
+ public static final BitSet FOLLOW_expression_chain_in_from_source3036 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_DOT_in_expression_chain3067 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_identifier_in_expression_chain3071 = new BitSet(new long[]{0x4000000000000A02L});
+ public static final BitSet FOLLOW_square_chunk_in_expression_chain3102 = new BitSet(new long[]{0x0000000000000202L});
+ public static final BitSet FOLLOW_paren_chunk_in_expression_chain3135 = new BitSet(new long[]{0x0000000000000202L});
+ public static final BitSet FOLLOW_expression_chain_in_expression_chain3150 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_COLLECT_in_collect_statement3201 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_LEFT_PAREN_in_collect_statement3211 = new BitSet(new long[]{0x0000000000000100L});
+ public static final BitSet FOLLOW_pattern_source_in_collect_statement3215 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_RIGHT_PAREN_in_collect_statement3217 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ENTRY_POINT_in_entrypoint_statement3254 = new BitSet(new long[]{0x0000000000200100L});
+ public static final BitSet FOLLOW_name_in_entrypoint_statement3266 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ID_in_fact_binding3298 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
+ public static final BitSet FOLLOW_77_in_fact_binding3300 = new BitSet(new long[]{0x0000000000000900L});
+ public static final BitSet FOLLOW_fact_in_fact_binding3314 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LEFT_PAREN_in_fact_binding3330 = new BitSet(new long[]{0x0000000000000100L});
+ public static final BitSet FOLLOW_fact_in_fact_binding3334 = new BitSet(new long[]{0x0000001800002000L});
+ public static final BitSet FOLLOW_set_in_fact_binding3347 = new BitSet(new long[]{0x0000000000000100L});
+ public static final BitSet FOLLOW_fact_in_fact_binding3359 = new BitSet(new long[]{0x0000001800002000L});
+ public static final BitSet FOLLOW_RIGHT_PAREN_in_fact_binding3377 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_qualified_id_in_fact3432 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_LEFT_PAREN_in_fact3442 = new BitSet(new long[]{0x02F9E483028FEDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_constraints_in_fact3454 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_RIGHT_PAREN_in_fact3461 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_EOF_in_fact3470 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_constraint_in_constraints3488 = new BitSet(new long[]{0x0000000000001002L});
+ public static final BitSet FOLLOW_COMMA_in_constraints3495 = new BitSet(new long[]{0x02F9E483028FCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_constraint_in_constraints3504 = new BitSet(new long[]{0x0000000000001002L});
+ public static final BitSet FOLLOW_or_constr_in_constraint3537 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_and_constr_in_or_constr3560 = new BitSet(new long[]{0x0000001000000002L});
+ public static final BitSet FOLLOW_DOUBLE_PIPE_in_or_constr3568 = new BitSet(new long[]{0x02F9E483028FCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_and_constr_in_or_constr3577 = new BitSet(new long[]{0x0000001000000002L});
+ public static final BitSet FOLLOW_unary_constr_in_and_constr3609 = new BitSet(new long[]{0x0000004000000002L});
+ public static final BitSet FOLLOW_DOUBLE_AMPER_in_and_constr3617 = new BitSet(new long[]{0x02F9E483028FCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_unary_constr_in_and_constr3626 = new BitSet(new long[]{0x0000004000000002L});
+ public static final BitSet FOLLOW_field_constraint_in_unary_constr3654 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LEFT_PAREN_in_unary_constr3662 = new BitSet(new long[]{0x02F9E483028FCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_or_constr_in_unary_constr3664 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_RIGHT_PAREN_in_unary_constr3667 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_EVAL_in_unary_constr3673 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_predicate_in_unary_constr3675 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ID_in_field_constraint3714 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
+ public static final BitSet FOLLOW_77_in_field_constraint3716 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_accessor_path_in_field_constraint3735 = new BitSet(new long[]{0x03F8020000000802L,0x00000000001FC000L});
+ public static final BitSet FOLLOW_or_restr_connective_in_field_constraint3749 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_78_in_field_constraint3764 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_predicate_in_field_constraint3766 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_accessor_path_in_field_constraint3792 = new BitSet(new long[]{0x03F8020000000800L,0x00000000001F8000L});
+ public static final BitSet FOLLOW_or_restr_connective_in_field_constraint3801 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_and_restr_connective_in_or_restr_connective3848 = new BitSet(new long[]{0x0000001000000002L});
+ public static final BitSet FOLLOW_DOUBLE_PIPE_in_or_restr_connective3872 = new BitSet(new long[]{0x03F8020000000800L,0x00000000001F8000L});
+ public static final BitSet FOLLOW_and_restr_connective_in_or_restr_connective3883 = new BitSet(new long[]{0x0000001000000002L});
+ public static final BitSet FOLLOW_constraint_expression_in_and_restr_connective3915 = new BitSet(new long[]{0x0000004000000002L});
+ public static final BitSet FOLLOW_DOUBLE_AMPER_in_and_restr_connective3935 = new BitSet(new long[]{0x03F8020000000800L,0x00000000001F8000L});
+ public static final BitSet FOLLOW_constraint_expression_in_and_restr_connective3946 = new BitSet(new long[]{0x0000004000000002L});
+ public static final BitSet FOLLOW_compound_operator_in_constraint_expression3983 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_simple_operator_in_constraint_expression3990 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LEFT_PAREN_in_constraint_expression3998 = new BitSet(new long[]{0x03F8020000000800L,0x00000000001F8000L});
+ public static final BitSet FOLLOW_or_restr_connective_in_constraint_expression4007 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_RIGHT_PAREN_in_constraint_expression4012 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_79_in_simple_operator4043 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_80_in_simple_operator4051 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_81_in_simple_operator4059 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_82_in_simple_operator4067 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_83_in_simple_operator4075 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_84_in_simple_operator4083 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_CONTAINS_in_simple_operator4111 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_NOT_in_simple_operator4139 = new BitSet(new long[]{0x0008000000000000L});
+ public static final BitSet FOLLOW_CONTAINS_in_simple_operator4143 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_EXCLUDES_in_simple_operator4171 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_MATCHES_in_simple_operator4199 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_SOUNDSLIKE_in_simple_operator4227 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_NOT_in_simple_operator4255 = new BitSet(new long[]{0x0020000000000000L});
+ public static final BitSet FOLLOW_MATCHES_in_simple_operator4259 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_MEMBEROF_in_simple_operator4287 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_NOT_in_simple_operator4315 = new BitSet(new long[]{0x0080000000000000L});
+ public static final BitSet FOLLOW_MEMBEROF_in_simple_operator4319 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_TILDE_in_simple_operator4325 = new BitSet(new long[]{0x0000000000000100L});
+ public static final BitSet FOLLOW_ID_in_simple_operator4329 = new BitSet(new long[]{0x4EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_square_chunk_in_simple_operator4333 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_NOT_in_simple_operator4342 = new BitSet(new long[]{0x0100000000000000L});
+ public static final BitSet FOLLOW_TILDE_in_simple_operator4344 = new BitSet(new long[]{0x0000000000000100L});
+ public static final BitSet FOLLOW_ID_in_simple_operator4348 = new BitSet(new long[]{0x4EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_square_chunk_in_simple_operator4352 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_expression_value_in_simple_operator4367 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_IN_in_compound_operator4397 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_NOT_in_compound_operator4409 = new BitSet(new long[]{0x0200000000000000L});
+ public static final BitSet FOLLOW_IN_in_compound_operator4411 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_LEFT_PAREN_in_compound_operator4426 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_expression_value_in_compound_operator4430 = new BitSet(new long[]{0x0000000000003000L});
+ public static final BitSet FOLLOW_COMMA_in_compound_operator4437 = new BitSet(new long[]{0x0EF9E08307AFCDF0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_expression_value_in_compound_operator4441 = new BitSet(new long[]{0x0000000000003000L});
+ public static final BitSet FOLLOW_RIGHT_PAREN_in_compound_operator4450 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_accessor_path_in_expression_value4484 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_literal_constraint_in_expression_value4504 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_paren_chunk_in_expression_value4518 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_STRING_in_literal_constraint4561 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_INT_in_literal_constraint4572 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_FLOAT_in_literal_constraint4585 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_BOOL_in_literal_constraint4596 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_NULL_in_literal_constraint4608 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_paren_chunk_in_predicate4646 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LEFT_CURLY_in_curly_chunk4664 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000001FFFFFL});
+ public static final BitSet FOLLOW_set_in_curly_chunk4668 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000001FFFFFL});
+ public static final BitSet FOLLOW_curly_chunk_in_curly_chunk4677 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000001FFFFFL});
+ public static final BitSet FOLLOW_RIGHT_CURLY_in_curly_chunk4682 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LEFT_PAREN_in_paren_chunk4696 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000001FFFFFL});
+ public static final BitSet FOLLOW_set_in_paren_chunk4700 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000001FFFFFL});
+ public static final BitSet FOLLOW_paren_chunk_in_paren_chunk4709 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000001FFFFFL});
+ public static final BitSet FOLLOW_RIGHT_PAREN_in_paren_chunk4714 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LEFT_SQUARE_in_square_chunk4727 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000001FFFFFL});
+ public static final BitSet FOLLOW_set_in_square_chunk4731 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000001FFFFFL});
+ public static final BitSet FOLLOW_square_chunk_in_square_chunk4740 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000001FFFFFL});
+ public static final BitSet FOLLOW_RIGHT_SQUARE_in_square_chunk4745 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ID_in_qualified_id4774 = new BitSet(new long[]{0x4000000000000202L});
+ public static final BitSet FOLLOW_DOT_in_qualified_id4780 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_identifier_in_qualified_id4782 = new BitSet(new long[]{0x4000000000000202L});
+ public static final BitSet FOLLOW_LEFT_SQUARE_in_qualified_id4791 = new BitSet(new long[]{0x8000000000000000L});
+ public static final BitSet FOLLOW_RIGHT_SQUARE_in_qualified_id4793 = new BitSet(new long[]{0x4000000000000002L});
+ public static final BitSet FOLLOW_identifier_in_dotted_name4827 = new BitSet(new long[]{0x4000000000000202L});
+ public static final BitSet FOLLOW_DOT_in_dotted_name4833 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_identifier_in_dotted_name4837 = new BitSet(new long[]{0x4000000000000202L});
+ public static final BitSet FOLLOW_LEFT_SQUARE_in_dotted_name4846 = new BitSet(new long[]{0x8000000000000000L});
+ public static final BitSet FOLLOW_RIGHT_SQUARE_in_dotted_name4848 = new BitSet(new long[]{0x4000000000000002L});
+ public static final BitSet FOLLOW_accessor_element_in_accessor_path4882 = new BitSet(new long[]{0x0000000000000202L});
+ public static final BitSet FOLLOW_DOT_in_accessor_path4888 = new BitSet(new long[]{0x02F9E083028FC5F0L,0x0000000000000001L});
+ public static final BitSet FOLLOW_accessor_element_in_accessor_path4892 = new BitSet(new long[]{0x0000000000000202L});
+ public static final BitSet FOLLOW_identifier_in_accessor_element4930 = new BitSet(new long[]{0x4000000000000002L});
+ public static final BitSet FOLLOW_square_chunk_in_accessor_element4937 = new BitSet(new long[]{0x4000000000000002L});
+ public static final BitSet FOLLOW_THEN_in_rhs_chunk4958 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000001FFFFFL});
+ public static final BitSet FOLLOW_set_in_rhs_chunk4966 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x00000000001FFFFFL});
+ public static final BitSet FOLLOW_END_in_rhs_chunk4990 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
+ public static final BitSet FOLLOW_opt_semicolon_in_rhs_chunk4992 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ID_in_name5026 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_STRING_in_name5034 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_identifier0 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EXISTS_in_synpred11972 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NOT_in_synpred21990 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EVAL_in_synpred32009 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FORALL_in_synpred42028 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LEFT_PAREN_in_synpred52047 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred63017 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LEFT_PAREN_in_synpred73050 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_DOUBLE_PIPE_in_synpred83745 = new BitSet(new long[]{0x01FC020000000800L,0x00000000000FC000L});
- public static final BitSet FOLLOW_and_restr_connective_in_synpred83756 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_DOUBLE_AMPER_in_synpred93808 = new BitSet(new long[]{0x01FC020000000800L,0x00000000000FC000L});
- public static final BitSet FOLLOW_constraint_expression_in_synpred93819 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_FROM_in_synpred62153 = new BitSet(new long[]{0x0004000000000000L});
+ public static final BitSet FOLLOW_ENTRY_POINT_in_synpred62155 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred93094 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LEFT_PAREN_in_synpred103127 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_DOUBLE_PIPE_in_synpred113872 = new BitSet(new long[]{0x03F8020000000800L,0x00000000001F8000L});
+ public static final BitSet FOLLOW_and_restr_connective_in_synpred113883 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_DOUBLE_AMPER_in_synpred123935 = new BitSet(new long[]{0x03F8020000000800L,0x00000000001F8000L});
+ public static final BitSet FOLLOW_constraint_expression_in_synpred123946 = new BitSet(new long[]{0x0000000000000002L});
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/Location.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/Location.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/Location.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -52,6 +52,7 @@
public static final int LOCATION_LHS_FROM_ACCUMULATE_REVERSE_INSIDE = 308;
public static final int LOCATION_LHS_FROM_ACCUMULATE_RESULT = 309;
public static final int LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE = 310;
+ public static final int LOCATION_LHS_FROM_ENTRY_POINT = 311;
public static final int LOCATION_RHS = 1000;
public static final int LOCATION_RULE_HEADER = 2000;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -64,4 +64,8 @@
public FieldTemplateDescr createFieldTemplate() {
return new FieldTemplateDescr();
}
+
+ public EntryPointDescr createEntryPoint() {
+ return new EntryPointDescr();
+ }
}
Copied: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/EntryPointDescr.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-compiler/src/main/java/org/drools/lang/descr/EntryPointDescr.java)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/EntryPointDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/EntryPointDescr.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 13, 2007
+ */
+package org.drools.lang.descr;
+
+/**
+ * An entry point descriptor for facts. This is part of the
+ * support to multi-stream concurrent event assertion.
+ *
+ * @author etirelli
+ */
+public class EntryPointDescr extends PatternSourceDescr {
+
+ private static final long serialVersionUID = 1765353532342L;
+
+ public EntryPointDescr() {
+ }
+
+ public EntryPointDescr( String id ) {
+ this.setText( id );
+ }
+
+ public void setEntryId( String id ) {
+ this.setText( id );
+ }
+
+ public String getEntryId() {
+ return this.getText();
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/EntryPointBuilder.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-compiler/src/main/java/org/drools/rule/builder/EntryPointBuilder.java)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/EntryPointBuilder.java (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/EntryPointBuilder.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,34 @@
+package org.drools.rule.builder;
+
+import org.drools.lang.descr.BaseDescr;
+import org.drools.lang.descr.EntryPointDescr;
+import org.drools.rule.EntryPoint;
+import org.drools.rule.Pattern;
+import org.drools.rule.RuleConditionElement;
+
+/**
+ * A class capable of building entry point instances
+ *
+ * @author etirelli
+ *
+ */
+public class EntryPointBuilder
+ implements
+ RuleConditionBuilder {
+
+ public RuleConditionElement build(RuleBuildContext context,
+ BaseDescr descr) {
+ return build( context,
+ descr,
+ null );
+ }
+
+ public RuleConditionElement build(RuleBuildContext context,
+ BaseDescr descr,
+ Pattern prefixPattern) {
+ final EntryPointDescr entryDescr = (EntryPointDescr) descr;
+
+ return new EntryPoint( entryDescr.getEntryId() );
+ }
+
+}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -29,6 +29,7 @@
import org.drools.lang.descr.AndDescr;
import org.drools.lang.descr.BaseDescr;
import org.drools.lang.descr.CollectDescr;
+import org.drools.lang.descr.EntryPointDescr;
import org.drools.lang.descr.EvalDescr;
import org.drools.lang.descr.ExistsDescr;
import org.drools.lang.descr.ForallDescr;
@@ -40,6 +41,7 @@
import org.drools.lang.descr.ProcessDescr;
import org.drools.lang.descr.QueryDescr;
import org.drools.lang.descr.RuleDescr;
+import org.drools.rule.EntryPoint;
import org.drools.rule.LineMappings;
import org.drools.rule.Package;
import org.drools.rule.Rule;
@@ -47,6 +49,7 @@
import org.drools.rule.builder.ActionBuilder;
import org.drools.rule.builder.CollectBuilder;
import org.drools.rule.builder.ConsequenceBuilder;
+import org.drools.rule.builder.EntryPointBuilder;
import org.drools.rule.builder.ForallBuilder;
import org.drools.rule.builder.FromBuilder;
import org.drools.rule.builder.FunctionBuilder;
@@ -93,6 +96,7 @@
private final JavaFunctionBuilder function = new JavaFunctionBuilder();
private final CollectBuilder collect = new CollectBuilder();
private final ForallBuilder forall = new ForallBuilder();
+ private final EntryPointBuilder entrypoint = new EntryPointBuilder();
//
private KnowledgeHelperFixer knowledgeHelperFixer;
@@ -178,6 +182,9 @@
this.builders.put( EvalDescr.class,
getEvalBuilder() );
+
+ this.builders.put( EntryPointDescr.class,
+ getEntryPointBuilder() );
}
public Map getBuilders() {
@@ -348,6 +355,10 @@
return this.from;
}
+ public EntryPointBuilder getEntryPointBuilder() {
+ return this.entrypoint;
+ }
+
/**
* This actually triggers the compiling of all the resources.
* Errors are mapped back to the element that originally generated the semantic
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -24,6 +24,7 @@
import org.drools.lang.descr.AndDescr;
import org.drools.lang.descr.BaseDescr;
import org.drools.lang.descr.CollectDescr;
+import org.drools.lang.descr.EntryPointDescr;
import org.drools.lang.descr.EvalDescr;
import org.drools.lang.descr.ExistsDescr;
import org.drools.lang.descr.ForallDescr;
@@ -42,6 +43,7 @@
import org.drools.rule.builder.ActionBuilder;
import org.drools.rule.builder.CollectBuilder;
import org.drools.rule.builder.ConsequenceBuilder;
+import org.drools.rule.builder.EntryPointBuilder;
import org.drools.rule.builder.ForallBuilder;
import org.drools.rule.builder.FromBuilder;
import org.drools.rule.builder.GroupElementBuilder;
@@ -72,7 +74,7 @@
implements
Dialect {
- public final static String ID = "mvel";
+ public final static String ID = "mvel";
private final static String EXPRESSION_DIALECT_NAME = "MVEL";
@@ -87,17 +89,18 @@
private final MVELActionBuilder actionBuilder = new MVELActionBuilder();
private final MVELReturnValueEvaluatorBuilder returnValueEvaluatorBuilder = new MVELReturnValueEvaluatorBuilder();
//private final JavaRuleClassBuilder rule = new JavaRuleClassBuilder();
- private final MVELFromBuilder from = new MVELFromBuilder();
- private final JavaFunctionBuilder function = new JavaFunctionBuilder();
- private final CollectBuilder collect = new CollectBuilder();
- private final ForallBuilder forall = new ForallBuilder();
+ private final MVELFromBuilder from = new MVELFromBuilder();
+ private final JavaFunctionBuilder function = new JavaFunctionBuilder();
+ private final CollectBuilder collect = new CollectBuilder();
+ private final ForallBuilder forall = new ForallBuilder();
+ private final EntryPointBuilder entrypoint = new EntryPointBuilder();
- private Map interceptors;
+ private Map interceptors;
- private List results;
+ private List results;
//private final JavaFunctionBuilder function = new JavaFunctionBuilder();
- private MemoryResourceReader src;
+ private MemoryResourceReader src;
private Package pkg;
private MVELDialectConfiguration configuration;
@@ -209,6 +212,9 @@
this.builders.put( FunctionDescr.class,
this.function );
+
+ this.builders.put( EntryPointDescr.class,
+ this.entrypoint );
}
public void init(Package pkg) {
@@ -523,6 +529,10 @@
return this.from;
}
+ public EntryPointBuilder getEntryPointBuilder() {
+ return this.entrypoint;
+ }
+
public PredicateBuilder getPredicateBuilder() {
return this.predicate;
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/META-INF/drools.default.packagebuilder.conf
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/META-INF/drools.default.packagebuilder.conf 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/META-INF/drools.default.packagebuilder.conf 2007-12-16 12:25:57 UTC (rev 17267)
@@ -11,9 +11,21 @@
drools.accumulate.function.count = org.drools.base.accumulators.CountAccumulateFunction
drools.accumulate.function.sum = org.drools.base.accumulators.SumAccumulateFunction
+drools.evaluator.coincides = org.drools.base.evaluators.CoincidesEvaluatorDefinition
+drools.evaluator.before = org.drools.base.evaluators.BeforeEvaluatorDefinition
drools.evaluator.after = org.drools.base.evaluators.AfterEvaluatorDefinition
+drools.evaluator.meets = org.drools.base.evaluators.MeetsEvaluatorDefinition
+drools.evaluator.metby = org.drools.base.evaluators.MetByEvaluatorDefinition
+drools.evaluator.overlaps = org.drools.base.evaluators.OverlapsEvaluatorDefinition
+drools.evaluator.overlappedby = org.drools.base.evaluators.OverlappedByEvaluatorDefinition
+drools.evaluator.during = org.drools.base.evaluators.DuringEvaluatorDefinition
+drools.evaluator.includes = org.drools.base.evaluators.IncludesEvaluatorDefinition
+drools.evaluator.starts = org.drools.base.evaluators.StartsEvaluatorDefinition
+drools.evaluator.startedby = org.drools.base.evaluators.StartedByEvaluatorDefinition
+drools.evaluator.finishes = org.drools.base.evaluators.FinishesEvaluatorDefinition
+drools.evaluator.finishedby = org.drools.base.evaluators.FinishedByEvaluatorDefinition
drools.evaluator.equality = org.drools.base.evaluators.EqualityEvaluatorsDefinition
drools.evaluator.comparable = org.drools.base.evaluators.ComparableEvaluatorsDefinition
drools.evaluator.set = org.drools.base.evaluators.SetEvaluatorsDefinition
drools.evaluator.matches = org.drools.base.evaluators.MatchesEvaluatorsDefinition
-drools.evaluator.soundslike = org.drools.base.evaluators.SoundslikeEvaluatorsDefinition
+drools.evaluator.soundslike = org.drools.base.evaluators.SoundslikeEvaluatorsDefinition
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g 2007-12-16 12:25:57 UTC (rev 17267)
@@ -833,14 +833,19 @@
:
u=lhs_pattern { $d = $u.d; }
(
+ // THIS IS SIMPLY DUMB IMO, but it was the only way I could make it work... :( not sure if it is an
+ // ANTLR bug or if I'm doing something wrong.
+ ( (FROM ENTRY_POINT) => FROM ep=entrypoint_statement { if( $d != null ) ((PatternDescr)$d).setSource((PatternSourceDescr) $ep.d); })
+ |
FROM
{
location.setType(Location.LOCATION_LHS_FROM);
location.setProperty(Location.LOCATION_FROM_CONTENT, "");
}
- ( options { k=1; } :
- ( ac=accumulate_statement { if( $d != null ) ((PatternDescr)$d).setSource((PatternSourceDescr) $ac.d); })
+ ( options { k=1; backtrack=true;} :
+ ( ac=accumulate_statement { if( $d != null ) ((PatternDescr)$d).setSource((PatternSourceDescr) $ac.d); })
| ( cs=collect_statement { if( $d != null ) ((PatternDescr)$d).setSource((PatternSourceDescr) $cs.d); })
+ //| ( ep=entrypoint_statement { if( $d != null ) ((PatternDescr)$d).setSource((PatternSourceDescr) $ep.d); })
| ( fm=from_statement { if( $d != null ) ((PatternDescr)$d).setSource((PatternSourceDescr) $fm.d); })
)
)?
@@ -1043,7 +1048,9 @@
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
d.setEndCharacter( ((CommonToken)$RIGHT_PAREN).getStopIndex() );
}
- ; from_source[FromDescr from] returns [DeclarativeInvokerDescr ds]
+ ;
+
+from_source[FromDescr from] returns [DeclarativeInvokerDescr ds]
@init {
$ds = null;
AccessorDescr ad = null;
@@ -1090,9 +1097,6 @@
}
}
-
-
-
expression_chain[FromDescr from, AccessorDescr as]
@init {
FieldAccessDescr fa = null;
@@ -1154,6 +1158,25 @@
}
;
+entrypoint_statement returns [EntryPointDescr d]
+ @init {
+ $d = factory.createEntryPoint();
+ }
+ :
+ ENTRY_POINT
+ {
+ $d.setLocation( offset($ENTRY_POINT.line), $ENTRY_POINT.pos );
+ $d.setStartCharacter( ((CommonToken)$ENTRY_POINT).getStartIndex() );
+ location.setType( Location.LOCATION_LHS_FROM_ENTRY_POINT );
+ }
+ id=name
+ {
+ $d.setEntryId( $id.name );
+ $d.setEndCharacter( ((CommonToken)$id.stop).getStopIndex() );
+ location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
+ }
+ ;
+
fact_binding returns [BaseDescr d]
@init {
$d=null;
@@ -1409,8 +1432,8 @@
:
and_restr_connective[or]
(
- options {backtrack=true;}
- : DOUBLE_PIPE
+ options {backtrack=true;} :
+ DOUBLE_PIPE
{
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
}
@@ -1831,6 +1854,8 @@
COLLECT : 'collect';
+ENTRY_POINT : 'entry-point';
+
OR : 'or';
AND : 'and';
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -27,6 +27,7 @@
import org.drools.rule.builder.AccumulateBuilder;
import org.drools.rule.builder.ActionBuilder;
import org.drools.rule.builder.ConsequenceBuilder;
+import org.drools.rule.builder.EntryPointBuilder;
import org.drools.rule.builder.FromBuilder;
import org.drools.rule.builder.GroupElementBuilder;
import org.drools.rule.builder.PackageBuildContext;
@@ -429,6 +430,11 @@
// TODO Auto-generated method stub
}
+
+ public EntryPointBuilder getEntryPointBuilder() {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
public static class MockEvalBuilder
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -119,10 +119,24 @@
final SessionPseudoClock clock = wm.getSessionClock();
clock.setStartupTime( 1000 );
- final List results = new ArrayList();
+ final List results_coincides = new ArrayList();
+ final List results_before = new ArrayList();
+ final List results_after = new ArrayList();
+ final List results_meets = new ArrayList();
+ final List results_met_by = new ArrayList();
+ final List results_overlaps = new ArrayList();
+ final List results_overlapped_by = new ArrayList();
- wm.setGlobal( "results",
- results );
+ wm.setGlobal( "results_coincides",
+ results_coincides );
+ wm.setGlobal( "results_before",
+ results_before );
+ wm.setGlobal( "results_after",
+ results_after );
+ wm.setGlobal( "results_meets",
+ results_meets );
+ wm.setGlobal( "results_met_by",
+ results_met_by );
StockTick tick1 = new StockTick( 1,
"DROO",
@@ -140,6 +154,10 @@
"DROO",
50,
System.currentTimeMillis() );
+ StockTick tick5 = new StockTick( 5,
+ "ACME",
+ 10,
+ System.currentTimeMillis() );
InternalFactHandle handle1 = (InternalFactHandle) wm.insert( tick1 );
clock.advanceTime( 4 );
@@ -148,24 +166,53 @@
InternalFactHandle handle3 = (InternalFactHandle) wm.insert( tick3 );
clock.advanceTime( 4 );
InternalFactHandle handle4 = (InternalFactHandle) wm.insert( tick4 );
+ InternalFactHandle handle5 = (InternalFactHandle) wm.insert( tick5 );
assertNotNull( handle1 );
assertNotNull( handle2 );
assertNotNull( handle3 );
assertNotNull( handle4 );
+ assertNotNull( handle5 );
assertTrue( handle1.isEvent() );
assertTrue( handle2.isEvent() );
assertTrue( handle3.isEvent() );
assertTrue( handle4.isEvent() );
+ assertTrue( handle5.isEvent() );
wm.fireAllRules();
assertEquals( 1,
- results.size() );
+ results_coincides.size() );
+ assertEquals( tick5,
+ results_coincides.get( 0 ) );
+
+ assertEquals( 1,
+ results_before.size() );
+ assertEquals( tick2,
+ results_before.get( 0 ) );
+
+ assertEquals( 1,
+ results_after.size() );
assertEquals( tick3,
- results.get( 0 ) );
-
+ results_after.get( 0 ) );
+
+ assertEquals( 2,
+ results_meets.size() );
+ assertEquals( tick5,
+ results_meets.get( 0 ) );
+ assertEquals( tick3,
+ results_meets.get( 1 ) );
+
+ assertEquals( 1,
+ results_met_by.size() );
+ assertEquals( tick2,
+ results_met_by.get( 0 ) );
+
+ assertEquals( 1,
+ results_met_by.size() );
+ assertEquals( tick2,
+ results_met_by.get( 0 ) );
}
public void testSimpleTimeWindow() throws Exception {
Copied: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,188 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 14, 2007
+ */
+package org.drools.integrationtests;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.ClockType;
+import org.drools.EntryPointInterface;
+import org.drools.RuleBase;
+import org.drools.RuleBaseConfiguration;
+import org.drools.RuleBaseFactory;
+import org.drools.StockTick;
+import org.drools.WorkingMemory;
+import org.drools.common.InternalFactHandle;
+import org.drools.compiler.DrlParser;
+import org.drools.compiler.DroolsParserException;
+import org.drools.compiler.PackageBuilder;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.rule.Package;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+/**
+ * Tests related to the stream support features
+ *
+ * @author etirelli
+ */
+public class StreamsTest extends TestCase {
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ protected RuleBase getRuleBase() throws Exception {
+
+ return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
+ null );
+ }
+
+ protected RuleBase getRuleBase(final RuleBaseConfiguration config) throws Exception {
+
+ return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
+ config );
+ }
+
+ private RuleBase loadRuleBase(final Reader reader) throws IOException,
+ DroolsParserException,
+ Exception {
+ final DrlParser parser = new DrlParser();
+ final PackageDescr packageDescr = parser.parse( reader );
+ if ( parser.hasErrors() ) {
+ System.out.println( parser.getErrors() );
+ Assert.fail( "Error messages in parser, need to sort this our (or else collect error messages)" );
+ }
+ // pre build the package
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackage( packageDescr );
+ final Package pkg = builder.getPackage();
+
+ // add the package to a rulebase
+ final RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+ // load up the rulebase
+ return ruleBase;
+ }
+
+ public void testEventAssertion() throws Exception {
+ // read in the source
+ final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_EntryPoint.drl" ) );
+ final RuleBase ruleBase = loadRuleBase( reader );
+
+ final WorkingMemory wm = ruleBase.newTemporalSession( ClockType.PSEUDO_CLOCK );
+ final List results = new ArrayList();
+
+ wm.setGlobal( "results",
+ results );
+
+ StockTick tick1 = new StockTick( 1,
+ "DROO",
+ 50,
+ System.currentTimeMillis() );
+ StockTick tick2 = new StockTick( 2,
+ "ACME",
+ 10,
+ System.currentTimeMillis() );
+ StockTick tick3 = new StockTick( 3,
+ "ACME",
+ 10,
+ System.currentTimeMillis() );
+ StockTick tick4 = new StockTick( 4,
+ "DROO",
+ 50,
+ System.currentTimeMillis() );
+
+ InternalFactHandle handle1 = (InternalFactHandle) wm.insert( tick1 );
+ InternalFactHandle handle2 = (InternalFactHandle) wm.insert( tick2 );
+ InternalFactHandle handle3 = (InternalFactHandle) wm.insert( tick3 );
+ InternalFactHandle handle4 = (InternalFactHandle) wm.insert( tick4 );
+
+ assertNotNull( handle1 );
+ assertNotNull( handle2 );
+ assertNotNull( handle3 );
+ assertNotNull( handle4 );
+
+ assertTrue( handle1.isEvent() );
+ assertTrue( handle2.isEvent() );
+ assertTrue( handle3.isEvent() );
+ assertTrue( handle4.isEvent() );
+
+ wm.fireAllRules();
+
+ assertEquals( 0,
+ results.size() );
+
+ StockTick tick5 = new StockTick( 5,
+ "DROO",
+ 50,
+ System.currentTimeMillis() );
+ StockTick tick6 = new StockTick( 6,
+ "ACME",
+ 10,
+ System.currentTimeMillis() );
+ StockTick tick7 = new StockTick( 7,
+ "ACME",
+ 15,
+ System.currentTimeMillis() );
+ StockTick tick8 = new StockTick( 8,
+ "DROO",
+ 50,
+ System.currentTimeMillis() );
+
+ EntryPointInterface entry = wm.getEntryPoint( "StockStream" );
+
+ InternalFactHandle handle5 = (InternalFactHandle) entry.insert( tick5 );
+ InternalFactHandle handle6 = (InternalFactHandle) entry.insert( tick6 );
+ InternalFactHandle handle7 = (InternalFactHandle) entry.insert( tick7 );
+ InternalFactHandle handle8 = (InternalFactHandle) entry.insert( tick8 );
+
+ assertNotNull( handle5 );
+ assertNotNull( handle6 );
+ assertNotNull( handle7 );
+ assertNotNull( handle8 );
+
+ assertTrue( handle5.isEvent() );
+ assertTrue( handle6.isEvent() );
+ assertTrue( handle7.isEvent() );
+ assertTrue( handle8.isEvent() );
+
+ wm.fireAllRules();
+
+ assertEquals( 1,
+ results.size() );
+ assertSame( tick7,
+ results.get( 0 ) );
+
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -41,6 +41,7 @@
import org.drools.lang.descr.AndDescr;
import org.drools.lang.descr.AttributeDescr;
import org.drools.lang.descr.CollectDescr;
+import org.drools.lang.descr.EntryPointDescr;
import org.drools.lang.descr.EvalDescr;
import org.drools.lang.descr.ExistsDescr;
import org.drools.lang.descr.FactTemplateDescr;
@@ -3026,7 +3027,7 @@
public void testRestrictionConnectives() throws Exception {
- // the bellow expression must generate the following tree:
+ // the expression bellow must generate the following tree:
//
// AND
// |
@@ -3746,6 +3747,28 @@
}
+ public void testEntryPoint() throws Exception {
+ final String text = "StockTick( symbol==\"ACME\") from entry-point StreamA";
+ final CharStream charStream = new ANTLRStringStream( text );
+ final DRLLexer lexer = new DRLLexer( charStream );
+ final TokenStream tokenStream = new CommonTokenStream( lexer );
+ final DRLParser parser = new DRLParser( tokenStream );
+
+ PatternDescr pattern = (PatternDescr) parser.pattern_source();
+ assertFalse( parser.getErrorMessages().toString(),
+ parser.hasErrors() );
+
+ assertEquals( 1,
+ pattern.getDescrs().size() );
+ FieldConstraintDescr fcd = (FieldConstraintDescr) pattern.getDescrs().get( 0 );
+ assertEquals( "symbol",
+ fcd.getFieldName() );
+
+ assertNotNull( pattern.getSource() );
+ EntryPointDescr entry = (EntryPointDescr) pattern.getSource();
+ assertEquals( "StreamA", entry.getEntryId() );
+ }
+
private DRLParser parse(final String text) throws Exception {
this.parser = newParser( newTokenStream( newLexer( newCharStream( text ) ) ) );
return this.parser;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -9,6 +9,7 @@
import java.util.concurrent.locks.Lock;
import org.drools.Agenda;
+import org.drools.EntryPointInterface;
import org.drools.FactException;
import org.drools.FactHandle;
import org.drools.ObjectFilter;
@@ -28,6 +29,7 @@
import org.drools.event.WorkingMemoryEventSupport;
import org.drools.reteoo.LIANodePropagation;
import org.drools.reteoo.ObjectTypeConf;
+import org.drools.rule.EntryPoint;
import org.drools.rule.Rule;
import org.drools.rule.TimeMachine;
import org.drools.ruleflow.common.instance.ProcessInstance;
@@ -424,4 +426,20 @@
return null;
}
+ public ObjectTypeConf getObjectTypeConf(EntryPoint entryPoint,
+ Object object) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Map<Object, ObjectTypeConf> getObjectTypeConfMap(EntryPoint entryPoint) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public EntryPointInterface getEntryPoint(String id) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_TimeRelationalOperators.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_TimeRelationalOperators.drl 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_TimeRelationalOperators.drl 2007-12-16 12:25:57 UTC (rev 17267)
@@ -2,12 +2,121 @@
import event org.drools.StockTick;
-global java.util.List results;
+global java.util.List results_coincides;
+global java.util.List results_after;
+global java.util.List results_before;
+global java.util.List results_meets;
+global java.util.List results_met_by;
+/*global java.util.List results_overlaps;
+global java.util.List results_overlapped_by;
+global java.util.List results_during;
+global java.util.List results_includes;
+global java.util.List results_starts;
+global java.util.List results_started_by;
+global java.util.List results_finishes;
+global java.util.List results_finished_by;*/
+rule "coincides operator"
+when
+ $a : StockTick( company == "DROO" )
+ $b : StockTick( company == "ACME", this ~coincides[2] $a )
+then
+ results_coincides.add( $b );
+end
+
+rule "before operator"
+when
+ $a : StockTick( company == "DROO" )
+ $b : StockTick( company == "ACME", this ~before[5,10] $a )
+then
+ results_before.add( $b );
+end
+
rule "after operator"
when
$a : StockTick( company == "DROO" )
$b : StockTick( company == "ACME", this ~after[5,10] $a )
then
- results.add( $b );
-end
\ No newline at end of file
+ results_after.add( $b );
+end
+
+rule "meets operator"
+when
+ $a : StockTick( company == "DROO" )
+ $b : StockTick( company == "ACME", this ~meets[4] $a )
+then
+ results_meets.add( $b );
+end
+
+rule "met-by operator"
+when
+ $a : StockTick( company == "DROO" )
+ $b : StockTick( company == "ACME", this ~metby[4] $a )
+then
+ results_met_by.add( $b );
+end
+
+/*
+rule "overlaps operator"
+when
+ $a : StockTick( company == "ACME" )
+ $b : StockTick( company == "DROO", this ~overlaps[4] $a )
+then
+ results_overlaps.add( $b );
+end
+
+rule "overlapped-by operator"
+when
+ $a : StockTick( company == "DROO" )
+ $b : StockTick( company == "ACME", this ~overlappedby[4] $a )
+then
+ results_overlapped_by.add( $b );
+end
+
+rule "during operator"
+when
+ $a : StockTick( company == "DROO" )
+ $b : StockTick( company == "ACME", this ~during[2,0] $a )
+then
+ results_during.add( $b );
+end
+
+rule "includes operator"
+when
+ $a : StockTick( company == "ACME" )
+ $b : StockTick( company == "DROO", this ~includes[2,0] $a )
+then
+ results_includes.add( $b );
+end
+
+rule "starts operator"
+when
+ $a : StockTick( company == "DROO" )
+ $b : StockTick( company == "ACME", this ~starts[2,0,1] $a )
+then
+ results_starts.add( $b );
+end
+
+rule "started-by operator"
+when
+ $a : StockTick( company == "ACME" )
+ $b : StockTick( company == "DROO", this ~startedby[2,0,1] $a )
+then
+ results_started_by.add( $b );
+end
+
+rule "finishes operator"
+when
+ $a : StockTick( company == "DROO" )
+ $b : StockTick( company == "ACME", this ~finishes[2] $a )
+then
+ results_finishes.add( $b );
+end
+
+rule "finished-by operator"
+when
+ $a : StockTick( company == "ACME" )
+ $b : StockTick( company == "DROO", this ~finishedby[2] $a )
+then
+ results_finished_by.add( $b );
+end*/
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EntryPoint.drl (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-compiler/src/test/resources/org/drools/integrationtests/test_EntryPoint.drl)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EntryPoint.drl (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EntryPoint.drl 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,12 @@
+package org.drools;
+
+import event org.drools.StockTick;
+
+global java.util.List results;
+
+rule "Test entry point"
+when
+ $st : StockTick( company == "ACME", price > 10 ) from entry-point StockStream
+then
+ results.add( $st );
+end
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/EntryPointInterface.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/EntryPointInterface.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/EntryPointInterface.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/EntryPointInterface.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 14, 2007
+ */
+package org.drools;
+
+import java.io.Serializable;
+
+/**
+ * An interface for instances that allow handling of entry-point-scoped
+ * facts
+ *
+ * @author etirelli
+ */
+public interface EntryPointInterface
+ extends
+ Serializable {
+
+ /**
+ * Assert a fact.
+ *
+ * @param object
+ * The fact object.
+ *
+ * @return The new fact-handle associated with the object.
+ *
+ * @throws FactException
+ * If a RuntimeException error occurs.
+ */
+ FactHandle insert(Object object) throws FactException;
+
+ /**
+ * Insert a fact registering JavaBean <code>PropertyChangeListeners</code>
+ * on the Object to automatically trigger <code>update</code> calls
+ * if <code>dynamic</code> is <code>true</code>.
+ *
+ * @param object
+ * The fact object.
+ * @param dynamic
+ * true if Drools should add JavaBean
+ * <code>PropertyChangeListeners</code> to the object.
+ *
+ * @return The new fact-handle associated with the object.
+ *
+ * @throws FactException
+ * If a RuntimeException error occurs.
+ */
+ FactHandle insert(Object object,
+ boolean dynamic) throws FactException;
+
+ /**
+ * Retract a fact.
+ *
+ * @param handle
+ * The fact-handle associated with the fact to retract.
+ *
+ * @throws FactException
+ * If a RuntimeException error occurs.
+ */
+ void retract(FactHandle handle) throws FactException;
+
+ /**
+ * Inform the WorkingMemory that a Fact has been modified and that it
+ * should now update the network.
+ *
+ * @param handle
+ * The fact-handle associated with the fact to modify.
+ * @param object
+ * The new value of the fact.
+ *
+ * @throws FactException
+ * If a RuntimeException error occurs.
+ */
+ void update(FactHandle handle,
+ Object object) throws FactException;
+
+ /**
+ *
+ * @param factHandle
+ */
+ public void modifyRetract(final FactHandle factHandle);
+
+ /**
+ *
+ * @param factHandle
+ * @param object
+ */
+ public void modifyInsert(final FactHandle factHandle,
+ final Object object);
+
+
+
+}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -361,4 +361,13 @@
*/
public void halt();
+ /**
+ * Returns the interface instance for a given entry point, so
+ * that the application can manage entry-point-scoped facts.
+ *
+ * @param id the id of the entry point, as defined in the rules file
+ * @return
+ */
+ public EntryPointInterface getEntryPoint( String id );
+
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/AfterEvaluatorDefinition.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/AfterEvaluatorDefinition.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/AfterEvaluatorDefinition.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -87,15 +87,9 @@
String key = isNegated + ":" + parameterText;
Evaluator eval = this.cache.get( key );
if ( eval == null ) {
- if ( isNegated ) {
- eval = new NotAfterEvaluator( type,
- isNegated,
- parameterText );
- } else {
- eval = new AfterEvaluator( type,
- isNegated,
- parameterText );
- }
+ eval = new AfterEvaluator( type,
+ isNegated,
+ parameterText );
this.cache.put( key,
eval );
}
@@ -168,7 +162,7 @@
return false;
}
long dist = ((EventFactHandle) ((ObjectVariableContextEntry) context).right).getStartTimestamp() - ((EventFactHandle) left).getEndTimestamp();
- return dist >= this.initRange && dist <= this.finalRange;
+ return this.getOperator().isNegated() ^ ( dist >= this.initRange && dist <= this.finalRange );
}
public boolean evaluateCachedLeft(InternalWorkingMemory workingMemory,
@@ -180,7 +174,7 @@
}
long dist = ((EventFactHandle) right).getStartTimestamp() - ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getEndTimestamp();
- return dist >= this.initRange && dist <= this.finalRange;
+ return this.getOperator().isNegated() ^ ( dist >= this.initRange && dist <= this.finalRange );
}
public boolean evaluate(InternalWorkingMemory workingMemory,
@@ -193,11 +187,11 @@
return false;
}
long dist = ((EventFactHandle) object1).getStartTimestamp() - ((EventFactHandle) object2).getEndTimestamp();
- return dist >= this.initRange && dist <= this.finalRange;
+ return this.getOperator().isNegated() ^ ( dist >= this.initRange && dist <= this.finalRange );
}
public String toString() {
- return "after[" + initRange + ", " + finalRange + "]";
+ return this.getOperator().toString()+ "[" + initRange + ", " + finalRange + "]";
}
/* (non-Javadoc)
@@ -259,131 +253,4 @@
}
- /**
- * Implements the 'after' evaluator itself
- */
- public static class NotAfterEvaluator extends BaseEvaluator {
- private static final long serialVersionUID = -4833205637340977934L;
-
- private long initRange;
- private long finalRange;
-
- public NotAfterEvaluator(final ValueType type,
- final boolean isNegated,
- final String parameters) {
- super( type,
- isNegated ? NOT_AFTER : AFTER );
- this.parseParameters( parameters );
- }
-
- @Override
- public Object prepareObject(InternalFactHandle handle) {
- return handle;
- }
-
- public boolean evaluate(InternalWorkingMemory workingMemory,
- final Extractor extractor,
- final Object object1,
- final FieldValue object2) {
- throw new RuntimeDroolsException( "The 'after' operator can only be used to compare one event to another, and never to compare to literal constraints." );
- }
-
- public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
- final VariableContextEntry context,
- final Object left) {
- if ( context.rightNull ) {
- return false;
- }
- long dist = ((EventFactHandle) ((ObjectVariableContextEntry) context).right).getStartTimestamp() - ((EventFactHandle) left).getEndTimestamp();
- return dist < this.initRange || dist > this.finalRange;
- }
-
- public boolean evaluateCachedLeft(InternalWorkingMemory workingMemory,
- final VariableContextEntry context,
- final Object right) {
- if ( context.extractor.isNullValue( workingMemory,
- right ) ) {
- return false;
- }
- long dist = ((EventFactHandle) right).getStartTimestamp() - ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getEndTimestamp();
-
- return dist < this.initRange || dist > this.finalRange;
- }
-
- public boolean evaluate(InternalWorkingMemory workingMemory,
- final Extractor extractor1,
- final Object object1,
- final Extractor extractor2,
- final Object object2) {
- if ( extractor1.isNullValue( workingMemory,
- object1 ) ) {
- return false;
- }
- long dist = ((EventFactHandle) object1).getStartTimestamp() - ((EventFactHandle) object2).getEndTimestamp();
- return dist < this.initRange || dist > this.finalRange;
- }
-
- public String toString() {
- return "not after[" + initRange + ", " + finalRange + "]";
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- @Override
- public int hashCode() {
- final int PRIME = 31;
- int result = super.hashCode();
- result = PRIME * result + (int) (finalRange ^ (finalRange >>> 32));
- result = PRIME * result + (int) (initRange ^ (initRange >>> 32));
- return result;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- @Override
- public boolean equals(Object obj) {
- if ( this == obj ) return true;
- if ( !super.equals( obj ) ) return false;
- if ( getClass() != obj.getClass() ) return false;
- final NotAfterEvaluator other = (NotAfterEvaluator) obj;
- return finalRange == other.finalRange && initRange == other.initRange;
- }
-
- /**
- * This methods tries to parse the string of parameters to customize
- * the evaluator.
- *
- * @param parameters
- */
- private void parseParameters(String parameters) {
- if ( parameters == null || parameters.trim().length() == 0 ) {
- // open bounded range
- this.initRange = 1;
- this.finalRange = Long.MAX_VALUE;
- return;
- }
-
- try {
- String[] ranges = parameters.split( "," );
- if ( ranges.length == 1 ) {
- // deterministic point in time
- this.initRange = Long.parseLong( ranges[0] );
- this.finalRange = this.initRange;
- } else if ( ranges.length == 2 ) {
- // regular range
- this.initRange = Long.parseLong( ranges[0] );
- this.finalRange = Long.parseLong( ranges[1] );
- } else {
- throw new RuntimeDroolsException( "[Not After Evaluator]: Not possible to parse parameters: '" + parameters + "'" );
- }
- } catch ( NumberFormatException e ) {
- throw new RuntimeDroolsException( "[Not After Evaluator]: Not possible to parse parameters: '" + parameters + "'",
- e );
- }
- }
-
- }
-
}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BeforeEvaluatorDefinition.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/base/evaluators/BeforeEvaluatorDefinition.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BeforeEvaluatorDefinition.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BeforeEvaluatorDefinition.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,258 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 6, 2007
+ */
+package org.drools.base.evaluators;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.RuntimeDroolsException;
+import org.drools.base.BaseEvaluator;
+import org.drools.base.ValueType;
+import org.drools.common.EventFactHandle;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
+import org.drools.rule.VariableRestriction.VariableContextEntry;
+import org.drools.spi.Evaluator;
+import org.drools.spi.Extractor;
+import org.drools.spi.FieldValue;
+
+/**
+ * The implementation of the 'before' evaluator definition
+ *
+ * @author mgroch
+ */
+public class BeforeEvaluatorDefinition
+ implements
+ EvaluatorDefinition {
+
+ public static final Operator BEFORE = Operator.addOperatorToRegistry( "before",
+ false );
+ public static final Operator NOT_BEFORE = Operator.addOperatorToRegistry( "before",
+ true );
+
+ private static final String[] SUPPORTED_IDS = { BEFORE.getOperatorString() };
+
+ private Map<String, BeforeEvaluator> cache = Collections.emptyMap();
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ null );
+ }
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator,
+ String parameterText) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ parameterText );
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public Evaluator getEvaluator(final ValueType type,
+ final String operatorId,
+ final boolean isNegated,
+ final String parameterText) {
+ if ( this.cache == Collections.EMPTY_MAP ) {
+ this.cache = new HashMap<String, BeforeEvaluator>();
+ }
+ String key = isNegated + ":" + parameterText;
+ BeforeEvaluator eval = this.cache.get( key );
+ if ( eval == null ) {
+ eval = new BeforeEvaluator( type,
+ isNegated,
+ parameterText );
+ this.cache.put( key,
+ eval );
+ }
+ return eval;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public String[] getEvaluatorIds() {
+ return SUPPORTED_IDS;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean isNegatable() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean operatesOnFactHandles() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean supportsType(ValueType type) {
+ // supports all types, since it operates over fact handles
+ // Note: should we change this interface to allow checking of event classes only?
+ return true;
+ }
+
+ /**
+ * Implements the 'before' evaluator itself
+ */
+ public static class BeforeEvaluator extends BaseEvaluator {
+ private static final long serialVersionUID = -4778826341073034320L;
+
+ private long initRange;
+ private long finalRange;
+
+ public BeforeEvaluator(final ValueType type,
+ final boolean isNegated,
+ final String parameters) {
+ super( type,
+ isNegated ? NOT_BEFORE : BEFORE );
+ this.parseParameters( parameters );
+ }
+
+ @Override
+ public Object prepareObject(InternalFactHandle handle) {
+ return handle;
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor,
+ final Object object1,
+ final FieldValue object2) {
+ throw new RuntimeDroolsException( "The 'before' operator can only be used to compare one event to another, and never to compare to literal constraints." );
+ }
+
+ public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object left) {
+ if ( context.rightNull ) {
+ return false;
+ }
+ long dist = ((EventFactHandle) left ).getStartTimestamp() -
+ ((EventFactHandle)((ObjectVariableContextEntry) context).right).getEndTimestamp();
+ return this.getOperator().isNegated() ^ (dist >= this.initRange && dist <= this.finalRange);
+ }
+
+ public boolean evaluateCachedLeft(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object right) {
+ if ( context.extractor.isNullValue( workingMemory,
+ right ) ) {
+ return false;
+ }
+ long dist = ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getStartTimestamp() -
+ ((EventFactHandle) right ).getEndTimestamp();
+
+ return this.getOperator().isNegated() ^ ( dist >= this.initRange && dist <= this.finalRange );
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor1,
+ final Object object1,
+ final Extractor extractor2,
+ final Object object2) {
+ if ( extractor1.isNullValue( workingMemory,
+ object1 ) ) {
+ return false;
+ }
+ long dist = ((EventFactHandle) object2 ).getStartTimestamp() - ((EventFactHandle) object1 ).getEndTimestamp();
+ return this.getOperator().isNegated() ^ ( dist >= this.initRange && dist <= this.finalRange ) ;
+ }
+
+ public String toString() {
+ return this.getOperator().toString() + "[" + initRange + ", " + finalRange + "]";
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = super.hashCode();
+ result = PRIME * result + (int) (finalRange ^ (finalRange >>> 32));
+ result = PRIME * result + (int) (initRange ^ (initRange >>> 32));
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( !super.equals( obj ) ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final BeforeEvaluator other = (BeforeEvaluator) obj;
+ return finalRange == other.finalRange && initRange == other.initRange;
+ }
+
+ /**
+ * This methods tries to parse the string of parameters to customize
+ * the evaluator.
+ *
+ * @param parameters
+ */
+ private void parseParameters(String parameters) {
+ if ( parameters == null || parameters.trim().length() == 0 ) {
+ // open bounded range
+ this.initRange = 1;
+ this.finalRange = Long.MAX_VALUE;
+ return;
+ }
+
+ try {
+ String[] ranges = parameters.split( "," );
+ if ( ranges.length == 1 ) {
+ // deterministic point in time
+ this.initRange = Long.parseLong( ranges[0] );
+ this.finalRange = this.initRange;
+ } else if ( ranges.length == 2 ) {
+ // regular range
+ this.initRange = Long.parseLong( ranges[0] );
+ this.finalRange = Long.parseLong( ranges[1] );
+ } else {
+ throw new RuntimeDroolsException( "[Before Evaluator]: Not possible to parse parameters: '" + parameters + "'" );
+ }
+ } catch ( NumberFormatException e ) {
+ throw new RuntimeDroolsException( "[Before Evaluator]: Not possible to parse parameters: '" + parameters + "'",
+ e );
+ }
+ }
+
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/CoincidesEvaluatorDefinition.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/base/evaluators/CoincidesEvaluatorDefinition.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/CoincidesEvaluatorDefinition.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/CoincidesEvaluatorDefinition.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,262 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 6, 2007
+ */
+package org.drools.base.evaluators;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.RuntimeDroolsException;
+import org.drools.base.BaseEvaluator;
+import org.drools.base.ValueType;
+import org.drools.common.EventFactHandle;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
+import org.drools.rule.VariableRestriction.VariableContextEntry;
+import org.drools.spi.Evaluator;
+import org.drools.spi.Extractor;
+import org.drools.spi.FieldValue;
+
+/**
+ * The implementation of the 'coincides' evaluator definition
+ *
+ * @author mgroch
+ */
+public class CoincidesEvaluatorDefinition
+ implements
+ EvaluatorDefinition {
+
+ public static final Operator COINCIDES = Operator.addOperatorToRegistry( "coincides",
+ false );
+ public static final Operator COINCIDES_NOT = Operator.addOperatorToRegistry( "coincides",
+ true );
+
+ private static final String[] SUPPORTED_IDS = { COINCIDES.getOperatorString() };
+
+ private Map<String, CoincidesEvaluator> cache = Collections.emptyMap();
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ null );
+ }
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator,
+ String parameterText) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ parameterText );
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public Evaluator getEvaluator(final ValueType type,
+ final String operatorId,
+ final boolean isNegated,
+ final String parameterText) {
+ if ( this.cache == Collections.EMPTY_MAP ) {
+ this.cache = new HashMap<String, CoincidesEvaluator>();
+ }
+ String key = isNegated + ":" + parameterText;
+ CoincidesEvaluator eval = this.cache.get( key );
+ if ( eval == null ) {
+ eval = new CoincidesEvaluator( type,
+ isNegated,
+ parameterText );
+ this.cache.put( key,
+ eval );
+ }
+ return eval;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public String[] getEvaluatorIds() {
+ return SUPPORTED_IDS;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean isNegatable() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean operatesOnFactHandles() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean supportsType(ValueType type) {
+ // supports all types, since it operates over fact handles
+ // Note: should we change this interface to allow checking of event classes only?
+ return true;
+ }
+
+ /**
+ * Implements the 'coincides' evaluator itself
+ */
+ public static class CoincidesEvaluator extends BaseEvaluator {
+ private static final long serialVersionUID = 6031520837249122183L;
+
+ private long startDev;
+ private long endDev;
+
+ public CoincidesEvaluator(final ValueType type,
+ final boolean isNegated,
+ final String parameters) {
+ super( type,
+ isNegated ? COINCIDES_NOT : COINCIDES );
+ this.parseParameters( parameters );
+ }
+
+ @Override
+ public Object prepareObject(InternalFactHandle handle) {
+ return handle;
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor,
+ final Object object1,
+ final FieldValue object2) {
+ throw new RuntimeDroolsException( "The 'coincides' operator can only be used to compare one event to another, and never to compare to literal constraints." );
+ }
+
+ public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object left) {
+ if ( context.rightNull ) {
+ return false;
+ }
+ long distStart = Math.abs(((EventFactHandle)((ObjectVariableContextEntry) context).right).getStartTimestamp() -
+ ((EventFactHandle) left ).getStartTimestamp());
+ long distEnd = Math.abs(((EventFactHandle)((ObjectVariableContextEntry) context).right).getEndTimestamp() -
+ ((EventFactHandle) left ).getEndTimestamp());
+ return this.getOperator().isNegated() ^ ( distStart <= this.startDev && distEnd <= this.endDev);
+ }
+
+ public boolean evaluateCachedLeft(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object right) {
+ if ( context.extractor.isNullValue( workingMemory,
+ right ) ) {
+ return false;
+ }
+ long distStart = Math.abs(((EventFactHandle) right ).getStartTimestamp() -
+ ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getStartTimestamp());
+ long distEnd = Math.abs(((EventFactHandle) right ).getEndTimestamp() -
+ ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getEndTimestamp());
+ return this.getOperator().isNegated() ^ ( distStart <= this.startDev && distEnd <= this.endDev );
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor1,
+ final Object object1,
+ final Extractor extractor2,
+ final Object object2) {
+ if ( extractor1.isNullValue( workingMemory,
+ object1 ) ) {
+ return false;
+ }
+ long distStart = Math.abs(((EventFactHandle) object1 ).getStartTimestamp() - ((EventFactHandle) object2 ).getStartTimestamp());
+ long distEnd = Math.abs(((EventFactHandle) object1 ).getEndTimestamp() - ((EventFactHandle) object2 ).getEndTimestamp());
+ return this.getOperator().isNegated() ^ ( distStart <= this.startDev && distEnd <= this.endDev );
+ }
+
+ public String toString() {
+ return "coincides[" + startDev + ", " + endDev + "]";
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = super.hashCode();
+ result = PRIME * result + (int) (endDev ^ (endDev >>> 32));
+ result = PRIME * result + (int) (startDev ^ (startDev >>> 32));
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( !super.equals( obj ) ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final CoincidesEvaluator other = (CoincidesEvaluator) obj;
+ return endDev == other.endDev && startDev == other.startDev;
+ }
+
+ /**
+ * This methods tries to parse the string of parameters to customize
+ * the evaluator.
+ *
+ * @param parameters
+ */
+ private void parseParameters(String parameters) {
+ if ( parameters == null || parameters.trim().length() == 0 ) {
+ // exact matching
+ this.startDev = 0;
+ this.endDev = 0;
+ return;
+ }
+
+ try {
+ String[] ranges = parameters.split( "," );
+ if ( ranges.length == 1 ) {
+ // same max. deviation at start and end of interval
+ this.startDev = Long.parseLong( ranges[0] );
+ this.endDev = this.startDev;
+ } else if ( ranges.length == 2 ) {
+ // different max. deviation at start and end of interval
+ this.startDev = Long.parseLong( ranges[0] );
+ this.endDev = Long.parseLong( ranges[1] );
+ } else {
+ throw new RuntimeDroolsException( "[Coincides Evaluator]: Not possible to parse parameters: '" + parameters + "'" );
+ }
+ } catch ( NumberFormatException e ) {
+ throw new RuntimeDroolsException( "[Coincides Evaluator]: Not possible to parse parameters: '" + parameters + "'",
+ e );
+ }
+ }
+
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DuringEvaluatorDefinition.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/base/evaluators/DuringEvaluatorDefinition.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DuringEvaluatorDefinition.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DuringEvaluatorDefinition.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,277 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 6, 2007
+ */
+package org.drools.base.evaluators;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.RuntimeDroolsException;
+import org.drools.base.BaseEvaluator;
+import org.drools.base.ValueType;
+import org.drools.common.EventFactHandle;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
+import org.drools.rule.VariableRestriction.VariableContextEntry;
+import org.drools.spi.Evaluator;
+import org.drools.spi.Extractor;
+import org.drools.spi.FieldValue;
+
+/**
+ * The implementation of the 'during' evaluator definition
+ *
+ * @author mgroch
+ */
+public class DuringEvaluatorDefinition
+ implements
+ EvaluatorDefinition {
+
+ public static final Operator DURING = Operator.addOperatorToRegistry( "during",
+ false );
+ public static final Operator NOT_DURING = Operator.addOperatorToRegistry( "during",
+ true );
+
+ private static final String[] SUPPORTED_IDS = { DURING.getOperatorString() };
+
+ private Map<String, DuringEvaluator> cache = Collections.emptyMap();
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ null );
+ }
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator,
+ String parameterText) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ parameterText );
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public Evaluator getEvaluator(final ValueType type,
+ final String operatorId,
+ final boolean isNegated,
+ final String parameterText) {
+ if ( this.cache == Collections.EMPTY_MAP ) {
+ this.cache = new HashMap<String, DuringEvaluator>();
+ }
+ String key = isNegated + ":" + parameterText;
+ DuringEvaluator eval = this.cache.get( key );
+ if ( eval == null ) {
+ eval = new DuringEvaluator( type,
+ isNegated,
+ parameterText );
+ this.cache.put( key,
+ eval );
+ }
+ return eval;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public String[] getEvaluatorIds() {
+ return SUPPORTED_IDS;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean isNegatable() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean operatesOnFactHandles() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean supportsType(ValueType type) {
+ // supports all types, since it operates over fact handles
+ // Note: should we change this interface to allow checking of event classes only?
+ return true;
+ }
+
+ /**
+ * Implements the 'during' evaluator itself
+ */
+ public static class DuringEvaluator extends BaseEvaluator {
+ private static final long serialVersionUID = -5856043346192967722L;
+
+ private long startMinDev, startMaxDev;
+ private long endMinDev, endMaxDev;
+
+ public DuringEvaluator(final ValueType type,
+ final boolean isNegated,
+ final String parameters) {
+ super( type,
+ isNegated ? NOT_DURING : DURING );
+ this.parseParameters( parameters );
+ }
+
+ @Override
+ public Object prepareObject(InternalFactHandle handle) {
+ return handle;
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor,
+ final Object object1,
+ final FieldValue object2) {
+ throw new RuntimeDroolsException( "The 'during' operator can only be used to compare one event to another, and never to compare to literal constraints." );
+ }
+
+ public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object left) {
+
+ if ( context.rightNull ) {
+ return false;
+ }
+ long distStart = ((EventFactHandle)((ObjectVariableContextEntry) context).right).getStartTimestamp() - ((EventFactHandle) left ).getStartTimestamp();
+ long distEnd = ((EventFactHandle) left ).getEndTimestamp() - ((EventFactHandle)((ObjectVariableContextEntry) context).right).getEndTimestamp();
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev );
+ }
+
+ public boolean evaluateCachedLeft(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object right) {
+ if ( context.extractor.isNullValue( workingMemory,
+ right ) ) {
+ return false;
+ }
+ long distStart = ((EventFactHandle) right ).getStartTimestamp() - ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getStartTimestamp();
+ long distEnd = ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getEndTimestamp() - ((EventFactHandle) right ).getEndTimestamp();
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev );
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor1,
+ final Object object1,
+ final Extractor extractor2,
+ final Object object2) {
+ if ( extractor1.isNullValue( workingMemory,
+ object1 ) ) {
+ return false;
+ }
+ long distStart = ((EventFactHandle) object1 ).getStartTimestamp() - ((EventFactHandle) object2 ).getStartTimestamp();
+ long distEnd = ((EventFactHandle) object2 ).getEndTimestamp() - ((EventFactHandle) object1 ).getEndTimestamp();
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev );
+ }
+
+ public String toString() {
+ return "during[" + startMinDev + ", " + startMaxDev + ", " + endMinDev + ", " + endMaxDev + "]";
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = super.hashCode();
+ result = PRIME * result + (int) (endMaxDev ^ (endMaxDev >>> 32));
+ result = PRIME * result + (int) (endMinDev ^ (endMinDev >>> 32));
+ result = PRIME * result + (int) (startMaxDev ^ (startMaxDev >>> 32));
+ result = PRIME * result + (int) (startMinDev ^ (startMinDev >>> 32));
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( !super.equals( obj ) ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final DuringEvaluator other = (DuringEvaluator) obj;
+ return endMaxDev == other.endMaxDev && endMinDev == other.endMinDev
+ && startMaxDev == other.startMaxDev && startMinDev == other.startMinDev;
+ }
+
+ /**
+ * This methods tries to parse the string of parameters to customize
+ * the evaluator.
+ *
+ * @param parameters
+ */
+ private void parseParameters(String parameters) {
+ if ( parameters == null || parameters.trim().length() == 0 ) {
+ // open bounded ranges
+ this.startMinDev = 1;
+ this.startMaxDev = Long.MAX_VALUE;
+ this.endMinDev = 1;
+ this.endMaxDev = Long.MAX_VALUE;
+ return;
+ }
+
+ try {
+ String[] ranges = parameters.split( "," );
+ if ( ranges.length == 1 ) {
+ // deterministic point in time for deviation of the starts of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = this.startMinDev;
+ this.endMinDev = this.startMinDev;
+ this.endMaxDev = this.startMinDev;
+ } else if ( ranges.length == 2 ) {
+ // deterministic points in time for deviations of the starts and the ends of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = this.startMinDev;
+ this.endMinDev = Long.parseLong( ranges[1] );
+ this.endMaxDev = this.endMinDev;
+ } else if ( ranges.length == 4 ) {
+ // ranges for deviations of the starts and the ends of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = Long.parseLong( ranges[1] );
+ this.endMinDev = Long.parseLong( ranges[2] );
+ this.endMaxDev = Long.parseLong( ranges[3] );
+ } else {
+ throw new RuntimeDroolsException( "[During Evaluator]: Not possible to parse parameters: '" + parameters + "'" );
+ }
+ } catch ( NumberFormatException e ) {
+ throw new RuntimeDroolsException( "[During Evaluator]: Not possible to parse parameters: '" + parameters + "'",
+ e );
+ }
+ }
+
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FinishedByEvaluatorDefinition.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/base/evaluators/FinishedByEvaluatorDefinition.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FinishedByEvaluatorDefinition.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FinishedByEvaluatorDefinition.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,274 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 6, 2007
+ */
+package org.drools.base.evaluators;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.RuntimeDroolsException;
+import org.drools.base.BaseEvaluator;
+import org.drools.base.ValueType;
+import org.drools.common.EventFactHandle;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
+import org.drools.rule.VariableRestriction.VariableContextEntry;
+import org.drools.spi.Evaluator;
+import org.drools.spi.Extractor;
+import org.drools.spi.FieldValue;
+
+/**
+ * The implementation of the 'finishedby' evaluator definition
+ *
+ * @author mgroch
+ */
+public class FinishedByEvaluatorDefinition
+ implements
+ EvaluatorDefinition {
+
+ public static final Operator FINISHED_BY = Operator.addOperatorToRegistry( "finishedby",
+ false );
+ public static final Operator NOT_FINISHED_BY = Operator.addOperatorToRegistry( "finishedby",
+ true );
+
+ private static final String[] SUPPORTED_IDS = { FINISHED_BY.getOperatorString() };
+
+ private Map<String, FinishedByEvaluator> cache = Collections.emptyMap();
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ null );
+ }
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator,
+ String parameterText) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ parameterText );
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public Evaluator getEvaluator(final ValueType type,
+ final String operatorId,
+ final boolean isNegated,
+ final String parameterText) {
+ if ( this.cache == Collections.EMPTY_MAP ) {
+ this.cache = new HashMap<String, FinishedByEvaluator>();
+ }
+ String key = isNegated + ":" + parameterText;
+ FinishedByEvaluator eval = this.cache.get( key );
+ if ( eval == null ) {
+ eval = new FinishedByEvaluator( type,
+ isNegated,
+ parameterText );
+ this.cache.put( key,
+ eval );
+ }
+ return eval;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public String[] getEvaluatorIds() {
+ return SUPPORTED_IDS;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean isNegatable() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean operatesOnFactHandles() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean supportsType(ValueType type) {
+ // supports all types, since it operates over fact handles
+ // Note: should we change this interface to allow checking of event classes only?
+ return true;
+ }
+
+ /**
+ * Implements the 'finishedby' evaluator itself
+ */
+ public static class FinishedByEvaluator extends BaseEvaluator {
+ private static final long serialVersionUID = -5156972073099070733L;
+
+ private long startMinDev, startMaxDev;
+ private long endDev;
+
+ public FinishedByEvaluator(final ValueType type,
+ final boolean isNegated,
+ final String parameters) {
+ super( type,
+ isNegated ? NOT_FINISHED_BY : FINISHED_BY );
+ this.parseParameters( parameters );
+ }
+
+ @Override
+ public Object prepareObject(InternalFactHandle handle) {
+ return handle;
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor,
+ final Object object1,
+ final FieldValue object2) {
+ throw new RuntimeDroolsException( "The 'finishedby' operator can only be used to compare one event to another, and never to compare to literal constraints." );
+ }
+
+ public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object left) {
+
+ if ( context.rightNull ) {
+ return false;
+ }
+ long distStart = ((EventFactHandle) left ).getStartTimestamp() - ((EventFactHandle)((ObjectVariableContextEntry) context).right).getStartTimestamp();
+ long distEnd = Math.abs(((EventFactHandle) left ).getEndTimestamp() - ((EventFactHandle)((ObjectVariableContextEntry) context).right).getEndTimestamp());
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd <= this.endDev );
+ }
+
+ public boolean evaluateCachedLeft(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object right) {
+ if ( context.extractor.isNullValue( workingMemory,
+ right ) ) {
+ return false;
+ }
+ long distStart = ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getStartTimestamp() - ((EventFactHandle) right ).getStartTimestamp();
+ long distEnd = Math.abs(((EventFactHandle) ((ObjectVariableContextEntry) context).left).getEndTimestamp() - ((EventFactHandle) right ).getEndTimestamp());
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd <= this.endDev );
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor1,
+ final Object object1,
+ final Extractor extractor2,
+ final Object object2) {
+ if ( extractor1.isNullValue( workingMemory,
+ object1 ) ) {
+ return false;
+ }
+ long distStart = ((EventFactHandle) object2 ).getStartTimestamp() - ((EventFactHandle) object1 ).getStartTimestamp();
+ long distEnd = Math.abs(((EventFactHandle) object2 ).getEndTimestamp() - ((EventFactHandle) object1 ).getEndTimestamp());
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd <= this.endDev );
+ }
+
+ public String toString() {
+ return "finishedby[" + startMinDev + ", " + startMaxDev + ", " + endDev + "]";
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = super.hashCode();
+ result = PRIME * result + (int) (endDev ^ (endDev >>> 32));
+ result = PRIME * result + (int) (startMaxDev ^ (startMaxDev >>> 32));
+ result = PRIME * result + (int) (startMinDev ^ (startMinDev >>> 32));
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( !super.equals( obj ) ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final FinishedByEvaluator other = (FinishedByEvaluator) obj;
+ return endDev == other.endDev && startMaxDev == other.startMaxDev && startMinDev == other.startMinDev;
+ }
+
+ /**
+ * This methods tries to parse the string of parameters to customize
+ * the evaluator.
+ *
+ * @param parameters
+ */
+ private void parseParameters(String parameters) {
+ if ( parameters == null || parameters.trim().length() == 0 ) {
+ // exact matching at the end of the intervals, open bounded range for the starts
+ this.startMinDev = 1;
+ this.startMaxDev = Long.MAX_VALUE;
+ this.endDev = 0;
+ return;
+ }
+
+ try {
+ String[] ranges = parameters.split( "," );
+ if ( ranges.length == 1 ) {
+ // exact matching at the end of the intervals
+ // deterministic point in time for deviations of the starts of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = this.startMinDev;
+ this.endDev = 0;
+ } else if ( ranges.length == 2 ) {
+ // exact matching at the end of the intervals
+ // range for deviations of the starts of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = Long.parseLong( ranges[1] );
+ this.endDev = 0;
+ } else if ( ranges.length == 3 ) {
+ // max. deviation at the ends of the intervals
+ // range for deviations of the starts of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = Long.parseLong( ranges[1] );
+ this.endDev = Long.parseLong( ranges[2] );
+ } else {
+ throw new RuntimeDroolsException( "[FinishedBy Evaluator]: Not possible to parse parameters: '" + parameters + "'" );
+ }
+ } catch ( NumberFormatException e ) {
+ throw new RuntimeDroolsException( "[FinishedBy Evaluator]: Not possible to parse parameters: '" + parameters + "'",
+ e );
+ }
+ }
+
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FinishesEvaluatorDefinition.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/base/evaluators/FinishesEvaluatorDefinition.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FinishesEvaluatorDefinition.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FinishesEvaluatorDefinition.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,274 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 6, 2007
+ */
+package org.drools.base.evaluators;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.RuntimeDroolsException;
+import org.drools.base.BaseEvaluator;
+import org.drools.base.ValueType;
+import org.drools.common.EventFactHandle;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
+import org.drools.rule.VariableRestriction.VariableContextEntry;
+import org.drools.spi.Evaluator;
+import org.drools.spi.Extractor;
+import org.drools.spi.FieldValue;
+
+/**
+ * The implementation of the 'finishes' evaluator definition
+ *
+ * @author mgroch
+ */
+public class FinishesEvaluatorDefinition
+ implements
+ EvaluatorDefinition {
+
+ public static final Operator FINISHES = Operator.addOperatorToRegistry( "finishes",
+ false );
+ public static final Operator FINISHES_NOT = Operator.addOperatorToRegistry( "finishes",
+ true );
+
+ private static final String[] SUPPORTED_IDS = { FINISHES.getOperatorString() };
+
+ private Map<String, FinishesEvaluator> cache = Collections.emptyMap();
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ null );
+ }
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator,
+ String parameterText) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ parameterText );
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public Evaluator getEvaluator(final ValueType type,
+ final String operatorId,
+ final boolean isNegated,
+ final String parameterText) {
+ if ( this.cache == Collections.EMPTY_MAP ) {
+ this.cache = new HashMap<String, FinishesEvaluator>();
+ }
+ String key = isNegated + ":" + parameterText;
+ FinishesEvaluator eval = this.cache.get( key );
+ if ( eval == null ) {
+ eval = new FinishesEvaluator( type,
+ isNegated,
+ parameterText );
+ this.cache.put( key,
+ eval );
+ }
+ return eval;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public String[] getEvaluatorIds() {
+ return SUPPORTED_IDS;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean isNegatable() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean operatesOnFactHandles() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean supportsType(ValueType type) {
+ // supports all types, since it operates over fact handles
+ // Note: should we change this interface to allow checking of event classes only?
+ return true;
+ }
+
+ /**
+ * Implements the 'finishes' evaluator itself
+ */
+ public static class FinishesEvaluator extends BaseEvaluator {
+ private static final long serialVersionUID = 6232789044144077522L;
+
+ private long startMinDev, startMaxDev;
+ private long endDev;
+
+ public FinishesEvaluator(final ValueType type,
+ final boolean isNegated,
+ final String parameters) {
+ super( type,
+ isNegated ? FINISHES_NOT : FINISHES );
+ this.parseParameters( parameters );
+ }
+
+ @Override
+ public Object prepareObject(InternalFactHandle handle) {
+ return handle;
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor,
+ final Object object1,
+ final FieldValue object2) {
+ throw new RuntimeDroolsException( "The 'finishes' operator can only be used to compare one event to another, and never to compare to literal constraints." );
+ }
+
+ public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object left) {
+
+ if ( context.rightNull ) {
+ return false;
+ }
+ long distStart = ((EventFactHandle)((ObjectVariableContextEntry) context).right).getStartTimestamp() - ((EventFactHandle) left ).getStartTimestamp();
+ long distEnd = Math.abs(((EventFactHandle) left ).getEndTimestamp() - ((EventFactHandle)((ObjectVariableContextEntry) context).right).getEndTimestamp());
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd <= this.endDev );
+ }
+
+ public boolean evaluateCachedLeft(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object right) {
+ if ( context.extractor.isNullValue( workingMemory,
+ right ) ) {
+ return false;
+ }
+ long distStart = ((EventFactHandle) right ).getStartTimestamp() - ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getStartTimestamp();
+ long distEnd = Math.abs(((EventFactHandle) ((ObjectVariableContextEntry) context).left).getEndTimestamp() - ((EventFactHandle) right ).getEndTimestamp());
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd <= this.endDev );
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor1,
+ final Object object1,
+ final Extractor extractor2,
+ final Object object2) {
+ if ( extractor1.isNullValue( workingMemory,
+ object1 ) ) {
+ return false;
+ }
+ long distStart = ((EventFactHandle) object1 ).getStartTimestamp() - ((EventFactHandle) object2 ).getStartTimestamp();
+ long distEnd = Math.abs(((EventFactHandle) object2 ).getEndTimestamp() - ((EventFactHandle) object1 ).getEndTimestamp());
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd <= this.endDev );
+ }
+
+ public String toString() {
+ return "finishes[" + startMinDev + ", " + startMaxDev + ", " + endDev + "]";
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = super.hashCode();
+ result = PRIME * result + (int) (endDev ^ (endDev >>> 32));
+ result = PRIME * result + (int) (startMaxDev ^ (startMaxDev >>> 32));
+ result = PRIME * result + (int) (startMinDev ^ (startMinDev >>> 32));
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( !super.equals( obj ) ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final FinishesEvaluator other = (FinishesEvaluator) obj;
+ return endDev == other.endDev && startMaxDev == other.startMaxDev && startMinDev == other.startMinDev;
+ }
+
+ /**
+ * This methods tries to parse the string of parameters to customize
+ * the evaluator.
+ *
+ * @param parameters
+ */
+ private void parseParameters(String parameters) {
+ if ( parameters == null || parameters.trim().length() == 0 ) {
+ // exact matching at the end of the intervals, open bounded range for the starts
+ this.startMinDev = 1;
+ this.startMaxDev = Long.MAX_VALUE;
+ this.endDev = 0;
+ return;
+ }
+
+ try {
+ String[] ranges = parameters.split( "," );
+ if ( ranges.length == 1 ) {
+ // exact matching at the end of the intervals
+ // deterministic point in time for deviations of the starts of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = this.startMinDev;
+ this.endDev = 0;
+ } else if ( ranges.length == 2 ) {
+ // exact matching at the end of the intervals
+ // range for deviations of the starts of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = Long.parseLong( ranges[1] );
+ this.endDev = 0;
+ } else if ( ranges.length == 3 ) {
+ // max. deviation at the ends of the intervals
+ // range for deviations of the starts of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = Long.parseLong( ranges[1] );
+ this.endDev = Long.parseLong( ranges[2] );
+ } else {
+ throw new RuntimeDroolsException( "[Finishes Evaluator]: Not possible to parse parameters: '" + parameters + "'" );
+ }
+ } catch ( NumberFormatException e ) {
+ throw new RuntimeDroolsException( "[Finishes Evaluator]: Not possible to parse parameters: '" + parameters + "'",
+ e );
+ }
+ }
+
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/IncludesEvaluatorDefinition.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/base/evaluators/IncludesEvaluatorDefinition.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/IncludesEvaluatorDefinition.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/IncludesEvaluatorDefinition.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,277 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 6, 2007
+ */
+package org.drools.base.evaluators;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.RuntimeDroolsException;
+import org.drools.base.BaseEvaluator;
+import org.drools.base.ValueType;
+import org.drools.common.EventFactHandle;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
+import org.drools.rule.VariableRestriction.VariableContextEntry;
+import org.drools.spi.Evaluator;
+import org.drools.spi.Extractor;
+import org.drools.spi.FieldValue;
+
+/**
+ * The implementation of the 'includes' evaluator definition
+ *
+ * @author mgroch
+ */
+public class IncludesEvaluatorDefinition
+ implements
+ EvaluatorDefinition {
+
+ public static final Operator INCLUDES = Operator.addOperatorToRegistry( "includes",
+ false );
+ public static final Operator INCLUDES_NOT = Operator.addOperatorToRegistry( "includes",
+ true );
+
+ private static final String[] SUPPORTED_IDS = { INCLUDES.getOperatorString() };
+
+ private Map<String, IncludesEvaluator> cache = Collections.emptyMap();
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ null );
+ }
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator,
+ String parameterText) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ parameterText );
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public Evaluator getEvaluator(final ValueType type,
+ final String operatorId,
+ final boolean isNegated,
+ final String parameterText) {
+ if ( this.cache == Collections.EMPTY_MAP ) {
+ this.cache = new HashMap<String, IncludesEvaluator>();
+ }
+ String key = isNegated + ":" + parameterText;
+ IncludesEvaluator eval = this.cache.get( key );
+ if ( eval == null ) {
+ eval = new IncludesEvaluator( type,
+ isNegated,
+ parameterText );
+ this.cache.put( key,
+ eval );
+ }
+ return eval;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public String[] getEvaluatorIds() {
+ return SUPPORTED_IDS;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean isNegatable() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean operatesOnFactHandles() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean supportsType(ValueType type) {
+ // supports all types, since it operates over fact handles
+ // Note: should we change this interface to allow checking of event classes only?
+ return true;
+ }
+
+ /**
+ * Implements the 'includes' evaluator itself
+ */
+ public static class IncludesEvaluator extends BaseEvaluator {
+ private static final long serialVersionUID = -5947397607962049251L;
+
+ private long startMinDev, startMaxDev;
+ private long endMinDev, endMaxDev;
+
+ public IncludesEvaluator(final ValueType type,
+ final boolean isNegated,
+ final String parameters) {
+ super( type,
+ isNegated ? INCLUDES_NOT : INCLUDES );
+ this.parseParameters( parameters );
+ }
+
+ @Override
+ public Object prepareObject(InternalFactHandle handle) {
+ return handle;
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor,
+ final Object object1,
+ final FieldValue object2) {
+ throw new RuntimeDroolsException( "The 'includes' operator can only be used to compare one event to another, and never to compare to literal constraints." );
+ }
+
+ public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object left) {
+
+ if ( context.rightNull ) {
+ return false;
+ }
+ long distStart = ((EventFactHandle) left ).getStartTimestamp() - ((EventFactHandle)((ObjectVariableContextEntry) context).right).getStartTimestamp();
+ long distEnd = ((EventFactHandle)((ObjectVariableContextEntry) context).right).getEndTimestamp() - ((EventFactHandle) left ).getEndTimestamp();
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev );
+ }
+
+ public boolean evaluateCachedLeft(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object right) {
+ if ( context.extractor.isNullValue( workingMemory,
+ right ) ) {
+ return false;
+ }
+ long distStart = ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getStartTimestamp() - ((EventFactHandle) right ).getStartTimestamp();
+ long distEnd = ((EventFactHandle) right ).getEndTimestamp() - ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getEndTimestamp();
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev );
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor1,
+ final Object object1,
+ final Extractor extractor2,
+ final Object object2) {
+ if ( extractor1.isNullValue( workingMemory,
+ object1 ) ) {
+ return false;
+ }
+ long distStart = ((EventFactHandle) object2 ).getStartTimestamp() - ((EventFactHandle) object1 ).getStartTimestamp();
+ long distEnd = ((EventFactHandle) object1 ).getEndTimestamp() - ((EventFactHandle) object2 ).getEndTimestamp();
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev );
+ }
+
+ public String toString() {
+ return "includes[" + startMinDev + ", " + startMaxDev + ", " + endMinDev + ", " + endMaxDev + "]";
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = super.hashCode();
+ result = PRIME * result + (int) (endMaxDev ^ (endMaxDev >>> 32));
+ result = PRIME * result + (int) (endMinDev ^ (endMinDev >>> 32));
+ result = PRIME * result + (int) (startMaxDev ^ (startMaxDev >>> 32));
+ result = PRIME * result + (int) (startMinDev ^ (startMinDev >>> 32));
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( !super.equals( obj ) ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final IncludesEvaluator other = (IncludesEvaluator) obj;
+ return endMaxDev == other.endMaxDev && endMinDev == other.endMinDev
+ && startMaxDev == other.startMaxDev && startMinDev == other.startMinDev;
+ }
+
+ /**
+ * This methods tries to parse the string of parameters to customize
+ * the evaluator.
+ *
+ * @param parameters
+ */
+ private void parseParameters(String parameters) {
+ if ( parameters == null || parameters.trim().length() == 0 ) {
+ // open bounded ranges
+ this.startMinDev = 1;
+ this.startMaxDev = Long.MAX_VALUE;
+ this.endMinDev = 1;
+ this.endMaxDev = Long.MAX_VALUE;
+ return;
+ }
+
+ try {
+ String[] ranges = parameters.split( "," );
+ if ( ranges.length == 1 ) {
+ // deterministic point in time for deviation of the starts of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = this.startMinDev;
+ this.endMinDev = this.startMinDev;
+ this.endMaxDev = this.startMinDev;
+ } else if ( ranges.length == 2 ) {
+ // deterministic points in time for deviations of the starts and the ends of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = this.startMinDev;
+ this.endMinDev = Long.parseLong( ranges[1] );
+ this.endMaxDev = this.endMinDev;
+ } else if ( ranges.length == 4 ) {
+ // ranges for deviations of the starts and the ends of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = Long.parseLong( ranges[1] );
+ this.endMinDev = Long.parseLong( ranges[2] );
+ this.endMaxDev = Long.parseLong( ranges[3] );
+ } else {
+ throw new RuntimeDroolsException( "[Includes Evaluator]: Not possible to parse parameters: '" + parameters + "'" );
+ }
+ } catch ( NumberFormatException e ) {
+ throw new RuntimeDroolsException( "[Includes Evaluator]: Not possible to parse parameters: '" + parameters + "'",
+ e );
+ }
+ }
+
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/MeetsEvaluatorDefinition.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/base/evaluators/MeetsEvaluatorDefinition.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/MeetsEvaluatorDefinition.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/MeetsEvaluatorDefinition.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,252 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 6, 2007
+ */
+package org.drools.base.evaluators;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.RuntimeDroolsException;
+import org.drools.base.BaseEvaluator;
+import org.drools.base.ValueType;
+import org.drools.common.EventFactHandle;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
+import org.drools.rule.VariableRestriction.VariableContextEntry;
+import org.drools.spi.Evaluator;
+import org.drools.spi.Extractor;
+import org.drools.spi.FieldValue;
+
+/**
+ * The implementation of the 'meets' evaluator definition
+ *
+ * @author mgroch
+ */
+public class MeetsEvaluatorDefinition
+ implements
+ EvaluatorDefinition {
+
+ public static final Operator MEETS = Operator.addOperatorToRegistry( "meets",
+ false );
+ public static final Operator MEETS_NOT = Operator.addOperatorToRegistry( "meets",
+ true );
+
+ private static final String[] SUPPORTED_IDS = { MEETS.getOperatorString() };
+
+ private Map<String, MeetsEvaluator> cache = Collections.emptyMap();
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ null );
+ }
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator,
+ String parameterText) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ parameterText );
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public Evaluator getEvaluator(final ValueType type,
+ final String operatorId,
+ final boolean isNegated,
+ final String parameterText) {
+ if ( this.cache == Collections.EMPTY_MAP ) {
+ this.cache = new HashMap<String, MeetsEvaluator>();
+ }
+ String key = isNegated + ":" + parameterText;
+ MeetsEvaluator eval = this.cache.get( key );
+ if ( eval == null ) {
+ eval = new MeetsEvaluator( type,
+ isNegated,
+ parameterText );
+ this.cache.put( key,
+ eval );
+ }
+ return eval;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public String[] getEvaluatorIds() {
+ return SUPPORTED_IDS;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean isNegatable() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean operatesOnFactHandles() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean supportsType(ValueType type) {
+ // supports all types, since it operates over fact handles
+ // Note: should we change this interface to allow checking of event classes only?
+ return true;
+ }
+
+ /**
+ * Implements the 'meets' evaluator itself
+ */
+ public static class MeetsEvaluator extends BaseEvaluator {
+ private static final long serialVersionUID = 9091548399308812447L;
+
+ private long finalRange;
+
+ public MeetsEvaluator(final ValueType type,
+ final boolean isNegated,
+ final String parameters) {
+ super( type,
+ isNegated ? MEETS_NOT : MEETS );
+ this.parseParameters( parameters );
+ }
+
+ @Override
+ public Object prepareObject(InternalFactHandle handle) {
+ return handle;
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor,
+ final Object object1,
+ final FieldValue object2) {
+ throw new RuntimeDroolsException( "The 'meets' operator can only be used to compare one event to another, and never to compare to literal constraints." );
+ }
+
+ public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object left) {
+ if ( context.rightNull ) {
+ return false;
+ }
+ long leftStartTS = ((EventFactHandle) left ).getStartTimestamp();
+ long dist = Math.abs(leftStartTS -
+ ((EventFactHandle)((ObjectVariableContextEntry) context).right).getEndTimestamp());
+ return this.getOperator().isNegated() ^ ( ((EventFactHandle)((ObjectVariableContextEntry) context).right).getStartTimestamp() <= leftStartTS
+ && dist <= this.finalRange );
+ }
+
+ public boolean evaluateCachedLeft(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object right) {
+ if ( context.extractor.isNullValue( workingMemory,
+ right ) ) {
+ return false;
+ }
+ long leftStartTS = ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getStartTimestamp();
+ long dist = Math.abs(leftStartTS - ((EventFactHandle) right ).getEndTimestamp());
+ return this.getOperator().isNegated() ^ ( ((EventFactHandle) right ).getStartTimestamp() <= leftStartTS && dist <= this.finalRange);
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor1,
+ final Object object1,
+ final Extractor extractor2,
+ final Object object2) {
+ if ( extractor1.isNullValue( workingMemory,
+ object1 ) ) {
+ return false;
+ }
+ long obj2StartTS = ((EventFactHandle) object2 ).getStartTimestamp();
+ long dist = Math.abs(obj2StartTS - ((EventFactHandle) object1 ).getEndTimestamp());
+ return this.getOperator().isNegated() ^ ( ((EventFactHandle) object1 ).getStartTimestamp() <= obj2StartTS && dist <= this.finalRange);
+ }
+
+ public String toString() {
+ return "meets[" + finalRange + "]";
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = super.hashCode();
+ result = PRIME * result + (int) (finalRange ^ (finalRange >>> 32));
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( !super.equals( obj ) ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final MeetsEvaluator other = (MeetsEvaluator) obj;
+ return finalRange == other.finalRange;
+ }
+
+ /**
+ * This methods tries to parse the string of parameters to customize
+ * the evaluator.
+ *
+ * @param parameters
+ */
+ private void parseParameters(String parameters) {
+ if ( parameters == null || parameters.trim().length() == 0 ) {
+ // exact meet
+ this.finalRange = 0;
+ return;
+ }
+
+ try {
+ String[] ranges = parameters.split( "," );
+ if ( ranges.length == 1 ) {
+ // limit of tolerance for overlap or gap, respectively
+ this.finalRange = Long.parseLong( ranges[0] );
+ } else {
+ throw new RuntimeDroolsException( "[Meets Evaluator]: Not possible to parse parameters: '" + parameters + "'" );
+ }
+ } catch ( NumberFormatException e ) {
+ throw new RuntimeDroolsException( "[Meets Evaluator]: Not possible to parse parameters: '" + parameters + "'",
+ e );
+ }
+ }
+
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/MetByEvaluatorDefinition.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/base/evaluators/MetByEvaluatorDefinition.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/MetByEvaluatorDefinition.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/MetByEvaluatorDefinition.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,252 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 6, 2007
+ */
+package org.drools.base.evaluators;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.RuntimeDroolsException;
+import org.drools.base.BaseEvaluator;
+import org.drools.base.ValueType;
+import org.drools.common.EventFactHandle;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
+import org.drools.rule.VariableRestriction.VariableContextEntry;
+import org.drools.spi.Evaluator;
+import org.drools.spi.Extractor;
+import org.drools.spi.FieldValue;
+
+/**
+ * The implementation of the 'metby' evaluator definition
+ *
+ * @author mgroch
+ */
+public class MetByEvaluatorDefinition
+ implements
+ EvaluatorDefinition {
+
+ public static final Operator MET_BY = Operator.addOperatorToRegistry( "metby",
+ false );
+ public static final Operator NOT_MET_BY = Operator.addOperatorToRegistry( "metby",
+ true );
+
+ private static final String[] SUPPORTED_IDS = { MET_BY.getOperatorString() };
+
+ private Map<String, MetByEvaluator> cache = Collections.emptyMap();
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ null );
+ }
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator,
+ String parameterText) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ parameterText );
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public Evaluator getEvaluator(final ValueType type,
+ final String operatorId,
+ final boolean isNegated,
+ final String parameterText) {
+ if ( this.cache == Collections.EMPTY_MAP ) {
+ this.cache = new HashMap<String, MetByEvaluator>();
+ }
+ String key = isNegated + ":" + parameterText;
+ MetByEvaluator eval = this.cache.get( key );
+ if ( eval == null ) {
+ eval = new MetByEvaluator( type,
+ isNegated,
+ parameterText );
+ this.cache.put( key,
+ eval );
+ }
+ return eval;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public String[] getEvaluatorIds() {
+ return SUPPORTED_IDS;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean isNegatable() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean operatesOnFactHandles() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean supportsType(ValueType type) {
+ // supports all types, since it operates over fact handles
+ // Note: should we change this interface to allow checking of event classes only?
+ return true;
+ }
+
+ /**
+ * Implements the 'metby' evaluator itself
+ */
+ public static class MetByEvaluator extends BaseEvaluator {
+ private static final long serialVersionUID = 7907908401657594347L;
+
+ private long finalRange;
+
+ public MetByEvaluator(final ValueType type,
+ final boolean isNegated,
+ final String parameters) {
+ super( type,
+ isNegated ? NOT_MET_BY : MET_BY );
+ this.parseParameters( parameters );
+ }
+
+ @Override
+ public Object prepareObject(InternalFactHandle handle) {
+ return handle;
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor,
+ final Object object1,
+ final FieldValue object2) {
+ throw new RuntimeDroolsException( "The 'metby' operator can only be used to compare one event to another, and never to compare to literal constraints." );
+ }
+
+ public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object left) {
+ if ( context.rightNull ) {
+ return false;
+ }
+ long rightStartTS = ((EventFactHandle)((ObjectVariableContextEntry) context).right).getStartTimestamp();
+ long dist = Math.abs(rightStartTS - ((EventFactHandle) left ).getEndTimestamp());
+ return this.getOperator().isNegated() ^ ( ((EventFactHandle) left ).getStartTimestamp() < rightStartTS && dist <= this.finalRange );
+ }
+
+ public boolean evaluateCachedLeft(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object right) {
+ if ( context.extractor.isNullValue( workingMemory,
+ right ) ) {
+ return false;
+ }
+ long rightStartTS = ((EventFactHandle) right ).getStartTimestamp();
+ long dist = Math.abs(rightStartTS - ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getEndTimestamp());
+
+ return this.getOperator().isNegated() ^ ( ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getStartTimestamp() <= rightStartTS &&
+ dist <= this.finalRange );
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor1,
+ final Object object1,
+ final Extractor extractor2,
+ final Object object2) {
+ if ( extractor1.isNullValue( workingMemory,
+ object1 ) ) {
+ return false;
+ }
+ long obj1StartTS = ((EventFactHandle) object1 ).getStartTimestamp();
+ long dist = Math.abs(obj1StartTS - ((EventFactHandle) object2 ).getEndTimestamp());
+ return this.getOperator().isNegated() ^ ( ((EventFactHandle) object2 ).getStartTimestamp() <= obj1StartTS && dist <= this.finalRange );
+ }
+
+ public String toString() {
+ return "metby[" + finalRange + "]";
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = super.hashCode();
+ result = PRIME * result + (int) (finalRange ^ (finalRange >>> 32));
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( !super.equals( obj ) ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final MetByEvaluator other = (MetByEvaluator) obj;
+ return finalRange == other.finalRange;
+ }
+
+ /**
+ * This methods tries to parse the string of parameters to customize
+ * the evaluator.
+ *
+ * @param parameters
+ */
+ private void parseParameters(String parameters) {
+ if ( parameters == null || parameters.trim().length() == 0 ) {
+ // exact metby
+ this.finalRange = 0;
+ return;
+ }
+
+ try {
+ String[] ranges = parameters.split( "," );
+ if ( ranges.length == 1 ) {
+ // limit of tolerance for overlap or gap, respectively
+ this.finalRange = Long.parseLong( ranges[0] );
+ } else {
+ throw new RuntimeDroolsException( "[Metby Evaluator]: Not possible to parse parameters: '" + parameters + "'" );
+ }
+ } catch ( NumberFormatException e ) {
+ throw new RuntimeDroolsException( "[Metby Evaluator]: Not possible to parse parameters: '" + parameters + "'",
+ e );
+ }
+ }
+
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/OverlappedByEvaluatorDefinition.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/base/evaluators/OverlappedByEvaluatorDefinition.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/OverlappedByEvaluatorDefinition.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/OverlappedByEvaluatorDefinition.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,282 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 6, 2007
+ */
+package org.drools.base.evaluators;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.RuntimeDroolsException;
+import org.drools.base.BaseEvaluator;
+import org.drools.base.ValueType;
+import org.drools.common.EventFactHandle;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
+import org.drools.rule.VariableRestriction.VariableContextEntry;
+import org.drools.spi.Evaluator;
+import org.drools.spi.Extractor;
+import org.drools.spi.FieldValue;
+
+/**
+ * The implementation of the 'overlappedby' evaluator definition
+ *
+ * @author mgroch
+ */
+public class OverlappedByEvaluatorDefinition
+ implements
+ EvaluatorDefinition {
+
+ public static final Operator OVERLAPPED_BY = Operator.addOperatorToRegistry( "overlappedby",
+ false );
+ public static final Operator NOT_OVERLAPPED_BY = Operator.addOperatorToRegistry( "overlappedby",
+ true );
+
+ private static final String[] SUPPORTED_IDS = { OVERLAPPED_BY.getOperatorString() };
+
+ private Map<String, OverlappedByEvaluator> cache = Collections.emptyMap();
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ null );
+ }
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator,
+ String parameterText) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ parameterText );
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public Evaluator getEvaluator(final ValueType type,
+ final String operatorId,
+ final boolean isNegated,
+ final String parameterText) {
+ if ( this.cache == Collections.EMPTY_MAP ) {
+ this.cache = new HashMap<String, OverlappedByEvaluator>();
+ }
+ String key = isNegated + ":" + parameterText;
+ OverlappedByEvaluator eval = this.cache.get( key );
+ if ( eval == null ) {
+ eval = new OverlappedByEvaluator( type,
+ isNegated,
+ parameterText );
+ this.cache.put( key,
+ eval );
+ }
+ return eval;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public String[] getEvaluatorIds() {
+ return SUPPORTED_IDS;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean isNegatable() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean operatesOnFactHandles() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean supportsType(ValueType type) {
+ // supports all types, since it operates over fact handles
+ // Note: should we change this interface to allow checking of event classes only?
+ return true;
+ }
+
+ /**
+ * Implements the 'overlappedby' evaluator itself
+ */
+ public static class OverlappedByEvaluator extends BaseEvaluator {
+ private static final long serialVersionUID = -2768899194494247889L;
+
+ private long startMinDev, startMaxDev;
+ private long endMinDev, endMaxDev;
+
+ public OverlappedByEvaluator(final ValueType type,
+ final boolean isNegated,
+ final String parameters) {
+ super( type,
+ isNegated ? NOT_OVERLAPPED_BY : OVERLAPPED_BY );
+ this.parseParameters( parameters );
+ }
+
+ @Override
+ public Object prepareObject(InternalFactHandle handle) {
+ return handle;
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor,
+ final Object object1,
+ final FieldValue object2) {
+ throw new RuntimeDroolsException( "The 'overlappedby' operator can only be used to compare one event to another, and never to compare to literal constraints." );
+ }
+
+ public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object left) {
+ if ( context.rightNull ) {
+ return false;
+ }
+ long rightStartTS = ((EventFactHandle)((ObjectVariableContextEntry) context).right).getStartTimestamp();
+ long leftEndTS = ((EventFactHandle) left ).getEndTimestamp();
+ long distStart = rightStartTS - ((EventFactHandle) left ).getStartTimestamp();
+ long distEnd = ((EventFactHandle)((ObjectVariableContextEntry) context).right).getEndTimestamp() - leftEndTS;
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev && rightStartTS < leftEndTS );
+ }
+
+ public boolean evaluateCachedLeft(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object right) {
+ if ( context.extractor.isNullValue( workingMemory,
+ right ) ) {
+ return false;
+ }
+ long leftEndTS = ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getEndTimestamp();
+ long rightStartTS = ((EventFactHandle) right ).getStartTimestamp();
+ long distStart = rightStartTS - ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getStartTimestamp();
+ long distEnd = ((EventFactHandle) right ).getEndTimestamp() - leftEndTS;
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev && rightStartTS < leftEndTS );
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor1,
+ final Object object1,
+ final Extractor extractor2,
+ final Object object2) {
+ if ( extractor1.isNullValue( workingMemory,
+ object1 ) ) {
+ return false;
+ }
+ long o1startTS = ((EventFactHandle) object1 ).getStartTimestamp();
+ long o2endTS = ((EventFactHandle) object2 ).getEndTimestamp();
+ long distStart = o1startTS - ((EventFactHandle) object2 ).getStartTimestamp();
+ long distEnd = ((EventFactHandle) object1 ).getEndTimestamp() - o2endTS;
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev && o1startTS < o2endTS );
+ }
+
+ public String toString() {
+ return "overlappedby[" + startMinDev + ", " + startMaxDev + ", " + endMinDev + ", " + endMaxDev + "]";
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = super.hashCode();
+ result = PRIME * result + (int) (endMaxDev ^ (endMaxDev >>> 32));
+ result = PRIME * result + (int) (endMinDev ^ (endMinDev >>> 32));
+ result = PRIME * result + (int) (startMaxDev ^ (startMaxDev >>> 32));
+ result = PRIME * result + (int) (startMinDev ^ (startMinDev >>> 32));
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( !super.equals( obj ) ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final OverlappedByEvaluator other = (OverlappedByEvaluator) obj;
+ return endMaxDev == other.endMaxDev && endMinDev == other.endMinDev
+ && startMaxDev == other.startMaxDev && startMinDev == other.startMinDev;
+ }
+
+ /**
+ * This methods tries to parse the string of parameters to customize
+ * the evaluator.
+ *
+ * @param parameters
+ */
+ private void parseParameters(String parameters) {
+ if ( parameters == null || parameters.trim().length() == 0 ) {
+ // open bounded ranges
+ this.startMinDev = 1;
+ this.startMaxDev = Long.MAX_VALUE;
+ this.endMinDev = 1;
+ this.endMaxDev = Long.MAX_VALUE;
+ return;
+ }
+
+ try {
+ String[] ranges = parameters.split( "," );
+ if ( ranges.length == 1 ) {
+ // deterministic point in time for deviation of the starts of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = this.startMinDev;
+ this.endMinDev = this.startMinDev;
+ this.endMaxDev = this.startMinDev;
+ } else if ( ranges.length == 2 ) {
+ // deterministic points in time for deviations of the starts and the ends of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = this.startMinDev;
+ this.endMinDev = Long.parseLong( ranges[1] );
+ this.endMaxDev = this.endMinDev;
+ } else if ( ranges.length == 4 ) {
+ // ranges for deviations of the starts and the ends of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = Long.parseLong( ranges[1] );
+ this.endMinDev = Long.parseLong( ranges[2] );
+ this.endMaxDev = Long.parseLong( ranges[3] );
+ } else {
+ throw new RuntimeDroolsException( "[Overlappedby Evaluator]: Not possible to parse parameters: '" + parameters + "'" );
+ }
+ } catch ( NumberFormatException e ) {
+ throw new RuntimeDroolsException( "[Overlappedby Evaluator]: Not possible to parse parameters: '" + parameters + "'",
+ e );
+ }
+ }
+
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/OverlapsEvaluatorDefinition.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/base/evaluators/OverlapsEvaluatorDefinition.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/OverlapsEvaluatorDefinition.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/OverlapsEvaluatorDefinition.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,283 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 6, 2007
+ */
+package org.drools.base.evaluators;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.RuntimeDroolsException;
+import org.drools.base.BaseEvaluator;
+import org.drools.base.ValueType;
+import org.drools.common.EventFactHandle;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
+import org.drools.rule.VariableRestriction.VariableContextEntry;
+import org.drools.spi.Evaluator;
+import org.drools.spi.Extractor;
+import org.drools.spi.FieldValue;
+
+/**
+ * The implementation of the 'overlaps' evaluator definition
+ *
+ * @author mgroch
+ */
+public class OverlapsEvaluatorDefinition
+ implements
+ EvaluatorDefinition {
+
+ public static final Operator OVERLAPS = Operator.addOperatorToRegistry( "overlaps",
+ false );
+ public static final Operator OVERLAPS_NOT = Operator.addOperatorToRegistry( "overlaps",
+ true );
+
+ private static final String[] SUPPORTED_IDS = { OVERLAPS.getOperatorString() };
+
+ private Map<String, OverlapsEvaluator> cache = Collections.emptyMap();
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ null );
+ }
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator,
+ String parameterText) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ parameterText );
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public Evaluator getEvaluator(final ValueType type,
+ final String operatorId,
+ final boolean isNegated,
+ final String parameterText) {
+ if ( this.cache == Collections.EMPTY_MAP ) {
+ this.cache = new HashMap<String, OverlapsEvaluator>();
+ }
+ String key = isNegated + ":" + parameterText;
+ OverlapsEvaluator eval = this.cache.get( key );
+ if ( eval == null ) {
+ eval = new OverlapsEvaluator( type,
+ isNegated,
+ parameterText );
+ this.cache.put( key,
+ eval );
+ }
+ return eval;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public String[] getEvaluatorIds() {
+ return SUPPORTED_IDS;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean isNegatable() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean operatesOnFactHandles() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean supportsType(ValueType type) {
+ // supports all types, since it operates over fact handles
+ // Note: should we change this interface to allow checking of event classes only?
+ return true;
+ }
+
+ /**
+ * Implements the 'overlaps' evaluator itself
+ */
+ public static class OverlapsEvaluator extends BaseEvaluator {
+ private static final long serialVersionUID = -5108524288774833244L;
+
+ private long startMinDev, startMaxDev;
+ private long endMinDev, endMaxDev;
+
+ public OverlapsEvaluator(final ValueType type,
+ final boolean isNegated,
+ final String parameters) {
+ super( type,
+ isNegated ? OVERLAPS_NOT : OVERLAPS );
+ this.parseParameters( parameters );
+ }
+
+ @Override
+ public Object prepareObject(InternalFactHandle handle) {
+ return handle;
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor,
+ final Object object1,
+ final FieldValue object2) {
+ throw new RuntimeDroolsException( "The 'overlaps' operator can only be used to compare one event to another, and never to compare to literal constraints." );
+ }
+
+ public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object left) {
+
+ if ( context.rightNull ) {
+ return false;
+ }
+ long leftStartTS = ((EventFactHandle) left ).getStartTimestamp();
+ long rightEndTS = ((EventFactHandle)((ObjectVariableContextEntry) context).right).getEndTimestamp();
+ long distStart = leftStartTS - ((EventFactHandle)((ObjectVariableContextEntry) context).right).getStartTimestamp();
+ long distEnd = ((EventFactHandle) left ).getEndTimestamp()- rightEndTS;
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev && leftStartTS < rightEndTS );
+ }
+
+ public boolean evaluateCachedLeft(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object right) {
+ if ( context.extractor.isNullValue( workingMemory,
+ right ) ) {
+ return false;
+ }
+ long leftStartTS = ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getStartTimestamp();
+ long rightEndTS = ((EventFactHandle) right ).getEndTimestamp();
+ long distStart = leftStartTS - ((EventFactHandle) right ).getStartTimestamp();
+ long distEnd = ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getEndTimestamp() - rightEndTS;
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev && leftStartTS < rightEndTS );
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor1,
+ final Object object1,
+ final Extractor extractor2,
+ final Object object2) {
+ if ( extractor1.isNullValue( workingMemory,
+ object1 ) ) {
+ return false;
+ }
+ long o2startTS = ((EventFactHandle) object2 ).getStartTimestamp();
+ long o1endTS = ((EventFactHandle) object1 ).getEndTimestamp();
+ long distStart = o2startTS - ((EventFactHandle) object1 ).getStartTimestamp();
+ long distEnd = ((EventFactHandle) object2 ).getEndTimestamp() - o1endTS;
+ return this.getOperator().isNegated() ^ ( distStart >= this.startMinDev && distStart <= this.startMaxDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev && o2startTS < o1endTS );
+ }
+
+ public String toString() {
+ return "overlaps[" + startMinDev + ", " + startMaxDev + ", " + endMinDev + ", " + endMaxDev + "]";
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = super.hashCode();
+ result = PRIME * result + (int) (endMaxDev ^ (endMaxDev >>> 32));
+ result = PRIME * result + (int) (endMinDev ^ (endMinDev >>> 32));
+ result = PRIME * result + (int) (startMaxDev ^ (startMaxDev >>> 32));
+ result = PRIME * result + (int) (startMinDev ^ (startMinDev >>> 32));
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( !super.equals( obj ) ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final OverlapsEvaluator other = (OverlapsEvaluator) obj;
+ return endMaxDev == other.endMaxDev && endMinDev == other.endMinDev
+ && startMaxDev == other.startMaxDev && startMinDev == other.startMinDev;
+ }
+
+ /**
+ * This methods tries to parse the string of parameters to customize
+ * the evaluator.
+ *
+ * @param parameters
+ */
+ private void parseParameters(String parameters) {
+ if ( parameters == null || parameters.trim().length() == 0 ) {
+ // open bounded ranges
+ this.startMinDev = 1;
+ this.startMaxDev = Long.MAX_VALUE;
+ this.endMinDev = 1;
+ this.endMaxDev = Long.MAX_VALUE;
+ return;
+ }
+
+ try {
+ String[] ranges = parameters.split( "," );
+ if ( ranges.length == 1 ) {
+ // deterministic point in time for deviation of the starts of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = this.startMinDev;
+ this.endMinDev = this.startMinDev;
+ this.endMaxDev = this.startMinDev;
+ } else if ( ranges.length == 2 ) {
+ // deterministic points in time for deviations of the starts and the ends of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = this.startMinDev;
+ this.endMinDev = Long.parseLong( ranges[1] );
+ this.endMaxDev = this.endMinDev;
+ } else if ( ranges.length == 4 ) {
+ // ranges for deviations of the starts and the ends of the intervals
+ this.startMinDev = Long.parseLong( ranges[0] );
+ this.startMaxDev = Long.parseLong( ranges[1] );
+ this.endMinDev = Long.parseLong( ranges[2] );
+ this.endMaxDev = Long.parseLong( ranges[3] );
+ } else {
+ throw new RuntimeDroolsException( "[Overlaps Evaluator]: Not possible to parse parameters: '" + parameters + "'" );
+ }
+ } catch ( NumberFormatException e ) {
+ throw new RuntimeDroolsException( "[Overlaps Evaluator]: Not possible to parse parameters: '" + parameters + "'",
+ e );
+ }
+ }
+
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StartedByEvaluatorDefinition.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/base/evaluators/StartedByEvaluatorDefinition.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StartedByEvaluatorDefinition.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StartedByEvaluatorDefinition.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,274 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 6, 2007
+ */
+package org.drools.base.evaluators;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.RuntimeDroolsException;
+import org.drools.base.BaseEvaluator;
+import org.drools.base.ValueType;
+import org.drools.common.EventFactHandle;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
+import org.drools.rule.VariableRestriction.VariableContextEntry;
+import org.drools.spi.Evaluator;
+import org.drools.spi.Extractor;
+import org.drools.spi.FieldValue;
+
+/**
+ * The implementation of the 'startedby' evaluator definition
+ *
+ * @author mgroch
+ */
+public class StartedByEvaluatorDefinition
+ implements
+ EvaluatorDefinition {
+
+ public static final Operator STARTED_BY = Operator.addOperatorToRegistry( "startedby",
+ false );
+ public static final Operator NOT_STARTED_BY = Operator.addOperatorToRegistry( "startedby",
+ true );
+
+ private static final String[] SUPPORTED_IDS = { STARTED_BY.getOperatorString() };
+
+ private Map<String, StartedByEvaluator> cache = Collections.emptyMap();
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ null );
+ }
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator,
+ String parameterText) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ parameterText );
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public Evaluator getEvaluator(final ValueType type,
+ final String operatorId,
+ final boolean isNegated,
+ final String parameterText) {
+ if ( this.cache == Collections.EMPTY_MAP ) {
+ this.cache = new HashMap<String, StartedByEvaluator>();
+ }
+ String key = isNegated + ":" + parameterText;
+ StartedByEvaluator eval = this.cache.get( key );
+ if ( eval == null ) {
+ eval = new StartedByEvaluator( type,
+ isNegated,
+ parameterText );
+ this.cache.put( key,
+ eval );
+ }
+ return eval;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public String[] getEvaluatorIds() {
+ return SUPPORTED_IDS;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean isNegatable() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean operatesOnFactHandles() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean supportsType(ValueType type) {
+ // supports all types, since it operates over fact handles
+ // Note: should we change this interface to allow checking of event classes only?
+ return true;
+ }
+
+ /**
+ * Implements the 'startedby' evaluator itself
+ */
+ public static class StartedByEvaluator extends BaseEvaluator {
+ private static final long serialVersionUID = -2655549435451501420L;
+
+ private long startDev;
+ private long endMinDev, endMaxDev;
+
+ public StartedByEvaluator(final ValueType type,
+ final boolean isNegated,
+ final String parameters) {
+ super( type,
+ isNegated ? NOT_STARTED_BY : STARTED_BY );
+ this.parseParameters( parameters );
+ }
+
+ @Override
+ public Object prepareObject(InternalFactHandle handle) {
+ return handle;
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor,
+ final Object object1,
+ final FieldValue object2) {
+ throw new RuntimeDroolsException( "The 'startedby' operator can only be used to compare one event to another, and never to compare to literal constraints." );
+ }
+
+ public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object left) {
+
+ if ( context.rightNull ) {
+ return false;
+ }
+ long distStart = Math.abs(((EventFactHandle)((ObjectVariableContextEntry) context).right).getStartTimestamp() - ((EventFactHandle) left ).getStartTimestamp());
+ long distEnd = ((EventFactHandle)((ObjectVariableContextEntry) context).right).getEndTimestamp() - ((EventFactHandle) left ).getEndTimestamp();
+ return this.getOperator().isNegated() ^ ( distStart <= this.startDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev );
+ }
+
+ public boolean evaluateCachedLeft(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object right) {
+ if ( context.extractor.isNullValue( workingMemory,
+ right ) ) {
+ return false;
+ }
+ long distStart = Math.abs(((EventFactHandle) right ).getStartTimestamp() - ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getStartTimestamp());
+ long distEnd = ((EventFactHandle) right ).getEndTimestamp() - ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getEndTimestamp();
+ return this.getOperator().isNegated() ^ ( distStart <= this.startDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev );
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor1,
+ final Object object1,
+ final Extractor extractor2,
+ final Object object2) {
+ if ( extractor1.isNullValue( workingMemory,
+ object1 ) ) {
+ return false;
+ }
+ long distStart = Math.abs(((EventFactHandle) object1 ).getStartTimestamp() - ((EventFactHandle) object2 ).getStartTimestamp());
+ long distEnd = ((EventFactHandle) object1 ).getEndTimestamp() - ((EventFactHandle) object2 ).getEndTimestamp();
+ return this.getOperator().isNegated() ^ ( distStart <= this.startDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev );
+ }
+
+ public String toString() {
+ return "startedby[" + startDev + ", " + endMinDev + ", " + endMaxDev + "]";
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = super.hashCode();
+ result = PRIME * result + (int) (endMaxDev ^ (endMaxDev >>> 32));
+ result = PRIME * result + (int) (endMinDev ^ (endMinDev >>> 32));
+ result = PRIME * result + (int) (startDev ^ (startDev >>> 32));
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( !super.equals( obj ) ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final StartedByEvaluator other = (StartedByEvaluator) obj;
+ return endMaxDev == other.endMaxDev && endMinDev == other.endMinDev && startDev == other.startDev;
+ }
+
+ /**
+ * This methods tries to parse the string of parameters to customize
+ * the evaluator.
+ *
+ * @param parameters
+ */
+ private void parseParameters(String parameters) {
+ if ( parameters == null || parameters.trim().length() == 0 ) {
+ // exact matching at the beginning of the intervals, open bounded ranges for the ends
+ this.startDev = 0;
+ this.endMinDev = 1;
+ this.endMaxDev = Long.MAX_VALUE;
+ return;
+ }
+
+ try {
+ String[] ranges = parameters.split( "," );
+ if ( ranges.length == 1 ) {
+ // exact matching at the beginning of the intervals
+ // deterministic point in time for deviations of the ends of the intervals
+ this.startDev = 0;
+ this.endMinDev = Long.parseLong( ranges[0] );
+ this.endMaxDev = this.endMinDev;
+ } else if ( ranges.length == 2 ) {
+ // exact matching at the beginning of the intervals
+ // range for deviations of the ends of the intervals
+ this.startDev = 0;
+ this.endMinDev = Long.parseLong( ranges[0] );
+ this.endMaxDev = Long.parseLong( ranges[1] );
+ } else if ( ranges.length == 3 ) {
+ // max. deviation at the starts of the intervals
+ // range for deviations of the ends of the intervals
+ this.startDev = Long.parseLong( ranges[0] );;
+ this.endMinDev = Long.parseLong( ranges[1] );
+ this.endMaxDev = Long.parseLong( ranges[2] );
+ } else {
+ throw new RuntimeDroolsException( "[StartedBy Evaluator]: Not possible to parse parameters: '" + parameters + "'" );
+ }
+ } catch ( NumberFormatException e ) {
+ throw new RuntimeDroolsException( "[StartedBy Evaluator]: Not possible to parse parameters: '" + parameters + "'",
+ e );
+ }
+ }
+
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StartsEvaluatorDefinition.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/base/evaluators/StartsEvaluatorDefinition.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StartsEvaluatorDefinition.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StartsEvaluatorDefinition.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,274 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 6, 2007
+ */
+package org.drools.base.evaluators;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.RuntimeDroolsException;
+import org.drools.base.BaseEvaluator;
+import org.drools.base.ValueType;
+import org.drools.common.EventFactHandle;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
+import org.drools.rule.VariableRestriction.VariableContextEntry;
+import org.drools.spi.Evaluator;
+import org.drools.spi.Extractor;
+import org.drools.spi.FieldValue;
+
+/**
+ * The implementation of the 'starts' evaluator definition
+ *
+ * @author mgroch
+ */
+public class StartsEvaluatorDefinition
+ implements
+ EvaluatorDefinition {
+
+ public static final Operator STARTS = Operator.addOperatorToRegistry( "starts",
+ false );
+ public static final Operator STARTS_NOT = Operator.addOperatorToRegistry( "starts",
+ true );
+
+ private static final String[] SUPPORTED_IDS = { STARTS.getOperatorString() };
+
+ private Map<String, StartsEvaluator> cache = Collections.emptyMap();
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ null );
+ }
+
+ /**
+ * @inheridDoc
+ */
+ public Evaluator getEvaluator(ValueType type,
+ Operator operator,
+ String parameterText) {
+ return this.getEvaluator( type,
+ operator.getOperatorString(),
+ operator.isNegated(),
+ parameterText );
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public Evaluator getEvaluator(final ValueType type,
+ final String operatorId,
+ final boolean isNegated,
+ final String parameterText) {
+ if ( this.cache == Collections.EMPTY_MAP ) {
+ this.cache = new HashMap<String, StartsEvaluator>();
+ }
+ String key = isNegated + ":" + parameterText;
+ StartsEvaluator eval = this.cache.get( key );
+ if ( eval == null ) {
+ eval = new StartsEvaluator( type,
+ isNegated,
+ parameterText );
+ this.cache.put( key,
+ eval );
+ }
+ return eval;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public String[] getEvaluatorIds() {
+ return SUPPORTED_IDS;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean isNegatable() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean operatesOnFactHandles() {
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public boolean supportsType(ValueType type) {
+ // supports all types, since it operates over fact handles
+ // Note: should we change this interface to allow checking of event classes only?
+ return true;
+ }
+
+ /**
+ * Implements the 'starts' evaluator itself
+ */
+ public static class StartsEvaluator extends BaseEvaluator {
+ private static final long serialVersionUID = 5622952247746290865L;
+
+ private long startDev;
+ private long endMinDev, endMaxDev;
+
+ public StartsEvaluator(final ValueType type,
+ final boolean isNegated,
+ final String parameters) {
+ super( type,
+ isNegated ? STARTS_NOT : STARTS );
+ this.parseParameters( parameters );
+ }
+
+ @Override
+ public Object prepareObject(InternalFactHandle handle) {
+ return handle;
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor,
+ final Object object1,
+ final FieldValue object2) {
+ throw new RuntimeDroolsException( "The 'starts' operator can only be used to compare one event to another, and never to compare to literal constraints." );
+ }
+
+ public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object left) {
+
+ if ( context.rightNull ) {
+ return false;
+ }
+ long distStart = Math.abs(((EventFactHandle)((ObjectVariableContextEntry) context).right).getStartTimestamp() - ((EventFactHandle) left ).getStartTimestamp());
+ long distEnd = ((EventFactHandle) left ).getEndTimestamp() - ((EventFactHandle)((ObjectVariableContextEntry) context).right).getEndTimestamp();
+ return this.getOperator().isNegated() ^ ( distStart <= this.startDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev );
+ }
+
+ public boolean evaluateCachedLeft(InternalWorkingMemory workingMemory,
+ final VariableContextEntry context,
+ final Object right) {
+ if ( context.extractor.isNullValue( workingMemory,
+ right ) ) {
+ return false;
+ }
+ long distStart = Math.abs(((EventFactHandle) right ).getStartTimestamp() - ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getStartTimestamp());
+ long distEnd = ((EventFactHandle) ((ObjectVariableContextEntry) context).left).getEndTimestamp() - ((EventFactHandle) right ).getEndTimestamp();
+ return this.getOperator().isNegated() ^ ( distStart <= this.startDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev );
+ }
+
+ public boolean evaluate(InternalWorkingMemory workingMemory,
+ final Extractor extractor1,
+ final Object object1,
+ final Extractor extractor2,
+ final Object object2) {
+ if ( extractor1.isNullValue( workingMemory,
+ object1 ) ) {
+ return false;
+ }
+ long distStart = Math.abs(((EventFactHandle) object1 ).getStartTimestamp() - ((EventFactHandle) object2 ).getStartTimestamp());
+ long distEnd = ((EventFactHandle) object2 ).getEndTimestamp() - ((EventFactHandle) object1 ).getEndTimestamp();
+ return this.getOperator().isNegated() ^ ( distStart <= this.startDev
+ && distEnd >= this.endMinDev && distEnd <= this.endMaxDev );
+ }
+
+ public String toString() {
+ return "starts[" + startDev + ", " + endMinDev + ", " + endMaxDev + "]";
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = super.hashCode();
+ result = PRIME * result + (int) (endMaxDev ^ (endMaxDev >>> 32));
+ result = PRIME * result + (int) (endMinDev ^ (endMinDev >>> 32));
+ result = PRIME * result + (int) (startDev ^ (startDev >>> 32));
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( !super.equals( obj ) ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final StartsEvaluator other = (StartsEvaluator) obj;
+ return endMaxDev == other.endMaxDev && endMinDev == other.endMinDev && startDev == other.startDev;
+ }
+
+ /**
+ * This methods tries to parse the string of parameters to customize
+ * the evaluator.
+ *
+ * @param parameters
+ */
+ private void parseParameters(String parameters) {
+ if ( parameters == null || parameters.trim().length() == 0 ) {
+ // exact matching at the beginning of the intervals, open bounded ranges for the ends
+ this.startDev = 0;
+ this.endMinDev = 1;
+ this.endMaxDev = Long.MAX_VALUE;
+ return;
+ }
+
+ try {
+ String[] ranges = parameters.split( "," );
+ if ( ranges.length == 1 ) {
+ // exact matching at the beginning of the intervals
+ // deterministic point in time for deviations of the ends of the intervals
+ this.startDev = 0;
+ this.endMinDev = Long.parseLong( ranges[0] );
+ this.endMaxDev = this.endMinDev;
+ } else if ( ranges.length == 2 ) {
+ // exact matching at the beginning of the intervals
+ // range for deviations of the ends of the intervals
+ this.startDev = 0;
+ this.endMinDev = Long.parseLong( ranges[0] );
+ this.endMaxDev = Long.parseLong( ranges[1] );
+ } else if ( ranges.length == 3 ) {
+ // max. deviation at the starts of the intervals
+ // range for deviations of the ends of the intervals
+ this.startDev = Long.parseLong( ranges[0] );;
+ this.endMinDev = Long.parseLong( ranges[1] );
+ this.endMaxDev = Long.parseLong( ranges[2] );
+ } else {
+ throw new RuntimeDroolsException( "[Starts Evaluator]: Not possible to parse parameters: '" + parameters + "'" );
+ }
+ } catch ( NumberFormatException e ) {
+ throw new RuntimeDroolsException( "[Starts Evaluator]: Not possible to parse parameters: '" + parameters + "'",
+ e );
+ }
+ }
+
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -33,6 +33,7 @@
import java.util.concurrent.locks.ReentrantLock;
import org.drools.Agenda;
+import org.drools.EntryPointInterface;
import org.drools.FactException;
import org.drools.FactHandle;
import org.drools.ObjectFilter;
@@ -59,6 +60,7 @@
import org.drools.reteoo.LIANodePropagation;
import org.drools.reteoo.ObjectTypeConf;
import org.drools.rule.Declaration;
+import org.drools.rule.EntryPoint;
import org.drools.rule.Rule;
import org.drools.rule.TimeMachine;
import org.drools.ruleflow.common.core.Process;
@@ -95,79 +97,79 @@
// ------------------------------------------------------------
// Constants
// ------------------------------------------------------------
- protected static final Class[] ADD_REMOVE_PROPERTY_CHANGE_LISTENER_ARG_TYPES = new Class[]{PropertyChangeListener.class};
+ protected static final Class[] ADD_REMOVE_PROPERTY_CHANGE_LISTENER_ARG_TYPES = new Class[]{PropertyChangeListener.class};
// ------------------------------------------------------------
// Instance members
// ------------------------------------------------------------
- protected long id;
+ protected long id;
/** The arguments used when adding/removing a property change listener. */
- protected final Object[] addRemovePropertyChangeListenerArgs = new Object[]{this};
+ protected final Object[] addRemovePropertyChangeListenerArgs = new Object[]{this};
/** The actual memory for the <code>JoinNode</code>s. */
- protected final PrimitiveLongMap nodeMemories = new PrimitiveLongMap( 32,
- 8 );
+ protected final PrimitiveLongMap nodeMemories = new PrimitiveLongMap( 32,
+ 8 );
/** Object-to-handle mapping. */
- private final ObjectHashMap assertMap;
- private final ObjectHashMap identityMap;
+ private final ObjectHashMap assertMap;
+ private final ObjectHashMap identityMap;
- protected Map queryResults = Collections.EMPTY_MAP;
+ protected Map queryResults = Collections.EMPTY_MAP;
/** Global values which are associated with this memory. */
- protected GlobalResolver globalResolver;
+ protected GlobalResolver globalResolver;
- protected static final Object NULL = new Serializable() {
- private static final long serialVersionUID = 400L;
- };
+ protected static final Object NULL = new Serializable() {
+ private static final long serialVersionUID = 400L;
+ };
/** The eventSupport */
- protected WorkingMemoryEventSupport workingMemoryEventSupport = new WorkingMemoryEventSupport();
+ protected WorkingMemoryEventSupport workingMemoryEventSupport = new WorkingMemoryEventSupport();
- protected AgendaEventSupport agendaEventSupport = new AgendaEventSupport();
+ protected AgendaEventSupport agendaEventSupport = new AgendaEventSupport();
- protected RuleFlowEventSupport ruleFlowEventSupport = new RuleFlowEventSupport();
+ protected RuleFlowEventSupport ruleFlowEventSupport = new RuleFlowEventSupport();
/** The <code>RuleBase</code> with which this memory is associated. */
- protected transient InternalRuleBase ruleBase;
+ protected transient InternalRuleBase ruleBase;
- protected final FactHandleFactory handleFactory;
+ protected final FactHandleFactory handleFactory;
- protected final TruthMaintenanceSystem tms;
+ protected final TruthMaintenanceSystem tms;
/** Rule-firing agenda. */
- protected DefaultAgenda agenda;
+ protected DefaultAgenda agenda;
- protected final List actionQueue = new ArrayList();
+ protected final List actionQueue = new ArrayList();
- protected final ReentrantLock lock = new ReentrantLock();
+ protected final ReentrantLock lock = new ReentrantLock();
- protected final boolean discardOnLogicalOverride;
+ protected final boolean discardOnLogicalOverride;
- protected long propagationIdCounter;
+ protected long propagationIdCounter;
- private final boolean maintainTms;
+ private final boolean maintainTms;
- private final boolean sequential;
+ private final boolean sequential;
- private List liaPropagations = Collections.EMPTY_LIST;
+ private List liaPropagations = Collections.EMPTY_LIST;
/** Flag to determine if a rule is currently being fired. */
- protected boolean firing;
+ protected boolean firing;
- protected boolean halt;
+ protected boolean halt;
- private Map processInstances = new HashMap();
+ private Map processInstances = new HashMap();
- private int processCounter;
+ private int processCounter;
- private WorkItemManager taskInstanceManager;
+ private WorkItemManager taskInstanceManager;
- private TimeMachine timeMachine = new TimeMachine();
+ private TimeMachine timeMachine = new TimeMachine();
- private Map<Object, ObjectTypeConf> typeConfMap;
+ private Map<EntryPoint, Map<Object, ObjectTypeConf>> typeConfMap;
- private SessionClock sessionClock;
+ private SessionClock sessionClock;
// ------------------------------------------------------------
// Constructors
@@ -216,7 +218,7 @@
this.taskInstanceManager = new WorkItemManager( this );
- this.typeConfMap = new HashMap<Object, ObjectTypeConf>();
+ this.typeConfMap = new HashMap<EntryPoint, Map<Object, ObjectTypeConf>>();
}
// ------------------------------------------------------------
@@ -723,12 +725,28 @@
boolean logical,
final Rule rule,
final Activation activation) throws FactException {
+ return this.insert( EntryPoint.DEFAULT,
+ object,
+ dynamic,
+ logical,
+ rule,
+ activation );
+
+ }
+
+ protected FactHandle insert(final EntryPoint entryPoint,
+ final Object object,
+ final boolean dynamic,
+ boolean logical,
+ final Rule rule,
+ final Activation activation) throws FactException {
if ( object == null ) {
// you cannot assert a null object
return null;
}
- ObjectTypeConf typeConf = getObjectTypeConf( object );
+ ObjectTypeConf typeConf = getObjectTypeConf( entryPoint,
+ object );
InternalFactHandle handle = null;
@@ -737,7 +755,8 @@
typeConf.isEvent(),
this );
addHandleToMaps( handle );
- insert( handle,
+ insert( entryPoint,
+ handle,
object,
rule,
activation );
@@ -893,7 +912,8 @@
addPropertyChangeListener( object );
}
- insert( handle,
+ insert( entryPoint,
+ handle,
object,
rule,
activation );
@@ -904,10 +924,11 @@
return handle;
}
- protected void insert(InternalFactHandle handle,
- Object object,
- Rule rule,
- Activation activation) {
+ protected void insert(final EntryPoint entryPoint,
+ final InternalFactHandle handle,
+ final Object object,
+ final Rule rule,
+ final Activation activation) {
this.ruleBase.executeQueuedActions();
if ( activation != null ) {
@@ -919,7 +940,8 @@
rule,
activation,
this.agenda.getActiveActivations(),
- this.agenda.getDormantActivations() );
+ this.agenda.getDormantActivations(),
+ entryPoint );
doInsert( handle,
object,
@@ -1012,6 +1034,21 @@
final boolean updateEqualsMap,
final Rule rule,
final Activation activation) throws FactException {
+ this.retract( EntryPoint.DEFAULT,
+ factHandle,
+ removeLogical,
+ updateEqualsMap,
+ rule,
+ activation );
+
+ }
+
+ protected void retract(final EntryPoint entryPoint,
+ final FactHandle factHandle,
+ final boolean removeLogical,
+ final boolean updateEqualsMap,
+ final Rule rule,
+ final Activation activation) throws FactException {
try {
this.lock.lock();
this.ruleBase.executeQueuedActions();
@@ -1032,7 +1069,8 @@
rule,
activation,
this.agenda.getActiveActivations(),
- this.agenda.getDormantActivations() );
+ this.agenda.getDormantActivations(),
+ entryPoint );
doRetract( handle,
propagationContext );
@@ -1103,6 +1141,13 @@
public void modifyRetract(final FactHandle factHandle,
final Rule rule,
final Activation activation) {
+
+ }
+
+ protected void modifyRetract(final EntryPoint entryPoint,
+ final FactHandle factHandle,
+ final Rule rule,
+ final Activation activation) {
try {
this.lock.lock();
this.ruleBase.executeQueuedActions();
@@ -1130,7 +1175,8 @@
rule,
activation,
this.agenda.getActiveActivations(),
- this.agenda.getDormantActivations() );
+ this.agenda.getDormantActivations(),
+ entryPoint );
doRetract( handle,
propagationContext );
@@ -1162,6 +1208,18 @@
final Object object,
final Rule rule,
final Activation activation) {
+ this.modifyInsert( EntryPoint.DEFAULT,
+ factHandle,
+ object,
+ rule,
+ activation );
+ }
+
+ protected void modifyInsert(final EntryPoint entryPoint,
+ final FactHandle factHandle,
+ final Object object,
+ final Rule rule,
+ final Activation activation) {
try {
this.lock.lock();
this.ruleBase.executeQueuedActions();
@@ -1197,7 +1255,8 @@
rule,
activation,
this.agenda.getActiveActivations(),
- this.agenda.getDormantActivations() );
+ this.agenda.getDormantActivations(),
+ entryPoint );
doInsert( handle,
object,
@@ -1237,6 +1296,19 @@
final Object object,
final Rule rule,
final Activation activation) throws FactException {
+ this.update( EntryPoint.DEFAULT,
+ factHandle,
+ object,
+ rule,
+ activation );
+
+ }
+
+ protected void update(final EntryPoint entryPoint,
+ final FactHandle factHandle,
+ final Object object,
+ final Rule rule,
+ final Activation activation) throws FactException {
try {
this.lock.lock();
this.ruleBase.executeQueuedActions();
@@ -1265,7 +1337,8 @@
rule,
activation,
this.agenda.getActiveActivations(),
- this.agenda.getDormantActivations() );
+ this.agenda.getDormantActivations(),
+ entryPoint );
doRetract( handle,
propagationContext );
@@ -1533,17 +1606,26 @@
* @param object
* @return
*/
- public ObjectTypeConf getObjectTypeConf(Object object) {
+ public ObjectTypeConf getObjectTypeConf(EntryPoint entrypoint,
+ Object object) {
+ Map<Object, ObjectTypeConf> map = this.typeConfMap.get( entrypoint );
+ if ( map == null ) {
+ map = new HashMap<Object, ObjectTypeConf>();
+ this.typeConfMap.put( entrypoint,
+ map );
+ }
ObjectTypeConf objectTypeConf;
if ( object instanceof Fact ) {
String key = ((Fact) object).getFactTemplate().getName();
- objectTypeConf = (ObjectTypeConf) this.typeConfMap.get( key );
+ objectTypeConf = map.get( key );
if ( objectTypeConf == null ) {
- objectTypeConf = new FactTemplateTypeConf( ((Fact) object).getFactTemplate(),
+ objectTypeConf = new FactTemplateTypeConf( entrypoint,
+ ((Fact) object).getFactTemplate(),
this.ruleBase );
- this.typeConfMap.put( key,
- objectTypeConf );
+ this.addObjectTypeConf( entrypoint,
+ key,
+ objectTypeConf );
}
object = key;
} else {
@@ -1554,23 +1636,118 @@
cls = object.getClass();
}
- objectTypeConf = (ObjectTypeConf) this.typeConfMap.get( cls );
+ objectTypeConf = map.get( cls );
if ( objectTypeConf == null ) {
final boolean isEvent = this.ruleBase.isEvent( cls );
- objectTypeConf = new ClassObjectTypeConf( cls,
+ objectTypeConf = new ClassObjectTypeConf( entrypoint,
+ cls,
isEvent,
this.ruleBase );
- this.typeConfMap.put( cls,
- objectTypeConf );
+ this.addObjectTypeConf( entrypoint,
+ cls,
+ objectTypeConf );
}
}
return objectTypeConf;
}
- public Map<Object, ObjectTypeConf> getObjectTypeConfMap() {
- return this.typeConfMap;
+ public Map<Object, ObjectTypeConf> getObjectTypeConfMap(EntryPoint entryPoint) {
+ Map<Object, ObjectTypeConf> map = this.typeConfMap.get( entryPoint );
+ if ( map == null ) {
+ map = Collections.emptyMap();
+ }
+ return map;
}
+ private void addObjectTypeConf(EntryPoint entryPoint,
+ Object key,
+ ObjectTypeConf conf) {
+ Map<Object, ObjectTypeConf> map = this.typeConfMap.get( entryPoint );
+ if ( map == null ) {
+ map = new HashMap<Object, ObjectTypeConf>();
+ this.typeConfMap.put( entryPoint,
+ map );
+ }
+ map.put( key,
+ conf );
+ }
+
+ public EntryPointInterface getEntryPoint(String id) {
+ EntryPoint ep = new EntryPoint( id );
+ return new EntryPointInterfaceImpl( ep,
+ this );
+ }
+
+ protected static class EntryPointInterfaceImpl
+ implements
+ EntryPointInterface {
+
+ private static final long serialVersionUID = 2917871170743358801L;
+
+ private final EntryPoint entryPoint;
+ private final AbstractWorkingMemory wm;
+
+ public EntryPointInterfaceImpl(EntryPoint entryPoint,
+ AbstractWorkingMemory wm) {
+ this.entryPoint = entryPoint;
+ this.wm = wm;
+ }
+
+ public FactHandle insert(Object object) throws FactException {
+ return wm.insert( this.entryPoint,
+ object, /* Not-Dynamic */
+ false,
+ false,
+ null,
+ null );
+ }
+
+ public FactHandle insert(Object object,
+ boolean dynamic) throws FactException {
+ return wm.insert( this.entryPoint,
+ object, /* Not-Dynamic */
+ dynamic,
+ false,
+ null,
+ null );
+ }
+
+ public void modifyInsert(FactHandle factHandle,
+ Object object) {
+ wm.modifyInsert( this.entryPoint,
+ factHandle,
+ object,
+ null,
+ null );
+ }
+
+ public void modifyRetract(FactHandle factHandle) {
+ wm.modifyRetract( this.entryPoint,
+ factHandle,
+ null,
+ null );
+ }
+
+ public void retract(FactHandle handle) throws FactException {
+ wm.retract( this.entryPoint,
+ handle,
+ true,
+ true,
+ null,
+ null );
+ }
+
+ public void update(FactHandle handle,
+ Object object) throws FactException {
+ wm.update( this.entryPoint,
+ handle,
+ object,
+ null,
+ null );
+ }
+
+ }
+
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EventFactHandle.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EventFactHandle.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EventFactHandle.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -49,7 +49,7 @@
* @param id this event fact handle ID
* @param object the event object encapsulated in this event fact handle
* @param recency the recency of this event fact handle
- * @param timestamp the timestamp of the occurence of this event
+ * @param timestamp the timestamp of the occurrence of this event
* @param duration the duration of this event. May be 0 (zero) in case this is a primitive event.
*/
public EventFactHandle( final long id,
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -11,6 +11,7 @@
import org.drools.event.WorkingMemoryEventSupport;
import org.drools.reteoo.LIANodePropagation;
import org.drools.reteoo.ObjectTypeConf;
+import org.drools.rule.EntryPoint;
import org.drools.rule.Rule;
import org.drools.rule.TimeMachine;
import org.drools.ruleflow.common.instance.ProcessInstance;
@@ -81,7 +82,7 @@
* @param object
* @return
*/
- public ObjectTypeConf getObjectTypeConf(Object object);
+ public ObjectTypeConf getObjectTypeConf(EntryPoint entryPoint, Object object);
/**
* Returns the Map<Object key, ObjectTypeConf conf> of object type
@@ -89,5 +90,5 @@
*
* @return
*/
- public Map<Object, ObjectTypeConf> getObjectTypeConfMap();
+ public Map<Object, ObjectTypeConf> getObjectTypeConfMap(EntryPoint entryPoint);
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/PropagationContextImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/PropagationContextImpl.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/PropagationContextImpl.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -17,29 +17,34 @@
*/
import org.drools.reteoo.ReteTuple;
+import org.drools.rule.EntryPoint;
import org.drools.rule.Rule;
import org.drools.spi.Activation;
import org.drools.spi.PropagationContext;
import org.drools.util.ObjectHashMap;
-import org.drools.util.TupleHashTable;
public class PropagationContextImpl
implements
PropagationContext {
- private final int type;
- private Rule rule;
+ private static final long serialVersionUID = 8400185220119865618L;
- private Activation activation;
+ private final int type;
- private final long propagationNumber;
+ private Rule rule;
- public final int activeActivations;
+ private Activation activation;
- public final int dormantActivations;
+ private final long propagationNumber;
- public ObjectHashMap retracted;
+ public final int activeActivations;
+ public final int dormantActivations;
+
+ public ObjectHashMap retracted;
+
+ private EntryPoint entryPoint;
+
public PropagationContextImpl(final long number,
final int type,
final Rule rule,
@@ -50,6 +55,7 @@
this.propagationNumber = number;
this.activeActivations = 0;
this.dormantActivations = 0;
+ this.entryPoint = EntryPoint.DEFAULT;
}
public PropagationContextImpl(final long number,
@@ -57,13 +63,15 @@
final Rule rule,
final Activation activation,
final int activeActivations,
- final int dormantActivations) {
+ final int dormantActivations,
+ final EntryPoint entryPoint) {
this.type = type;
this.rule = rule;
this.activation = activation;
this.propagationNumber = number;
this.activeActivations = activeActivations;
this.dormantActivations = dormantActivations;
+ this.entryPoint = entryPoint;
}
public long getPropagationNumber() {
@@ -110,27 +118,28 @@
if ( this.retracted == null ) {
this.retracted = new ObjectHashMap();
}
-
- ReteTuple tuple = ( ReteTuple) activation.getTuple();
+ ReteTuple tuple = (ReteTuple) activation.getTuple();
+
ObjectHashMap tuples = (ObjectHashMap) this.retracted.get( rule );
if ( tuples == null ) {
tuples = new ObjectHashMap();
this.retracted.put( rule,
tuples );
}
- tuples.put( tuple, activation );
+ tuples.put( tuple,
+ activation );
}
public Activation removeRetractedTuple(final Rule rule,
- final ReteTuple tuple) {
+ final ReteTuple tuple) {
if ( this.retracted == null ) {
return null;
}
final ObjectHashMap tuples = (ObjectHashMap) this.retracted.get( rule );
- if ( tuples != null ) {
- return ( Activation ) tuples.remove( tuple );
+ if ( tuples != null ) {
+ return (Activation) tuples.remove( tuple );
} else {
return null;
}
@@ -145,4 +154,18 @@
this.retracted = null;
this.rule = null;
}
+
+ /**
+ * @return the entryPoint
+ */
+ public EntryPoint getEntryPoint() {
+ return entryPoint;
+ }
+
+ /**
+ * @param entryPoint the entryPoint to set
+ */
+ public void setEntryPoint(EntryPoint entryPoint) {
+ this.entryPoint = entryPoint;
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -22,7 +22,6 @@
import org.drools.RuleBaseConfiguration;
import org.drools.common.BaseNode;
import org.drools.common.BetaConstraints;
-import org.drools.common.EmptyBetaConstraints;
import org.drools.common.InternalWorkingMemory;
import org.drools.common.NodeMemory;
import org.drools.common.PropagationContextImpl;
@@ -91,7 +90,7 @@
this.constraints = constraints;
if ( this.constraints == null ) {
- throw new RuntimeException( "cannot have null constraints, must atleast be an instanceof EmptyBetaCosntraints" );
+ throw new RuntimeException( "cannot have null constraints, must at least be an instance of EmptyBetaConstraints" );
}
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ClassObjectTypeConf.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ClassObjectTypeConf.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ClassObjectTypeConf.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -38,6 +38,7 @@
import org.drools.objenesis.instantiator.ObjectInstantiator;
import org.drools.reteoo.builder.BuildContext;
import org.drools.reteoo.builder.PatternBuilder;
+import org.drools.rule.EntryPoint;
import org.drools.spi.ObjectType;
import org.drools.util.Iterator;
import org.drools.util.ObjectHashMap.ObjectEntry;
@@ -58,17 +59,23 @@
protected transient ObjectInstantiator instantiator;
private ObjectTypeNode concreteObjectTypeNode;
-
- public ClassObjectTypeConf(final Class clazz, final boolean isEvent,
+ private EntryPoint entryPoint;
+
+ public ClassObjectTypeConf(final EntryPoint entryPoint,
+ final Class clazz,
+ final boolean isEvent,
final InternalRuleBase ruleBase) {
this.cls = clazz;
this.ruleBase = ruleBase;
+ this.entryPoint = entryPoint;
- ObjectType objectType = new ClassObjectType( clazz, isEvent );
- this.concreteObjectTypeNode = (ObjectTypeNode) ruleBase.getRete().getObjectTypeNodes().get( objectType );
+ ObjectType objectType = new ClassObjectType( clazz,
+ isEvent );
+ this.concreteObjectTypeNode = (ObjectTypeNode) ruleBase.getRete().getObjectTypeNodes( entryPoint ).get( objectType );
if ( this.concreteObjectTypeNode == null ) {
BuildContext context = new BuildContext( ruleBase,
((ReteooRuleBase) ruleBase.getRete().getRuleBase()).getReteooBuilder().getIdGenerator() );
+ context.setCurrentEntryPoint( entryPoint );
if ( DroolsQuery.class == clazz ) {
context.setTupleMemoryEnabled( false );
context.setObjectTypeNodeMemoryEnabled( false );
@@ -277,7 +284,7 @@
private ObjectTypeNode[] getMatchingObjectTypes(final Class clazz) throws FactException {
final List cache = new ArrayList();
- final Iterator it = ruleBase.getRete().getObjectTypeNodes().newIterator();
+ final Iterator it = ruleBase.getRete().getObjectTypeNodes( this.entryPoint ).newIterator();
for ( ObjectEntry entry = (ObjectEntry) it.next(); entry != null; entry = (ObjectEntry) it.next() ) {
final ObjectTypeNode node = (ObjectTypeNode) entry.getValue();
if ( node.isAssignableFrom( clazz ) ) {
@@ -291,7 +298,7 @@
public boolean isActive() {
return getConcreteObjectTypeNode().getSinkPropagator().getSinks().length > 0;
}
-
+
public boolean isEvent() {
return this.concreteObjectTypeNode.getObjectType().isEvent();
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -28,11 +28,11 @@
* <code>ExistsNode</code> extends <code>BetaNode</code> to perform tests for
* the existence of a Fact plus one or more conditions. Where existence
* is found the left ReteTuple is copied and propagated. Further to this it
- * maintains the "truth" by cancelling any
+ * maintains the "truth" by canceling any
* <code>Activation<code>s that are no longer
* considered true by the retraction of ReteTuple's or FactHandleImpl.
* Tuples are considered to be asserted from the left input and facts from the right input.
- * The <code>BetaNode</code> provides the BetaMemory to store assserted ReteTuples and
+ * The <code>BetaNode</code> provides the BetaMemory to store asserted ReteTuples and
* <code>FactHandleImpl<code>s. Each fact handle is stored in the right
* memory.
*
@@ -53,14 +53,14 @@
/**
* Construct.
*
- * @paran id
+ * @param id
* The unique id for this node.
* @param leftInput
* The left input <code>TupleSource</code>.
* @param rightInput
* The right input <code>ObjectSource</code>.
* @param joinNodeBinder
- * The constraints to be aplied to the right objects
+ * The constraints to be applied to the right objects
*/
public ExistsNode(final int id,
final TupleSource leftInput,
@@ -84,7 +84,7 @@
* @param context
* The <code>PropagationContext</code>
* @param workingMemory
- * The working memory seesion.
+ * The working memory session.
*/
public void assertTuple(final ReteTuple leftTuple,
final PropagationContext context,
@@ -123,7 +123,7 @@
* @param context
* The <code>PropagationContext</code>
* @param workingMemory
- * The working memory seesion.
+ * The working memory session.
*/
public void assertObject(final InternalFactHandle handle,
final PropagationContext context,
@@ -159,7 +159,7 @@
* @param context
* The <code>PropagationContext</code>
* @param workingMemory
- * The working memory seesion.
+ * The working memory session.
*/
public void retractObject(final InternalFactHandle handle,
final PropagationContext context,
@@ -211,7 +211,7 @@
* @param context
* The <code>PropagationContext</code>
* @param workingMemory
- * The working memory seesion.
+ * The working memory session.
*/
public void retractTuple(final ReteTuple leftTuple,
final PropagationContext context,
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FactTemplateTypeConf.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FactTemplateTypeConf.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FactTemplateTypeConf.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -25,6 +25,7 @@
import org.drools.facttemplates.FactTemplateObjectType;
import org.drools.reteoo.builder.BuildContext;
import org.drools.reteoo.builder.PatternBuilder;
+import org.drools.rule.EntryPoint;
import org.drools.spi.ObjectType;
public class FactTemplateTypeConf
@@ -35,13 +36,17 @@
private FactTemplate factTemplate;
private ObjectTypeNode concreteObjectTypeNode;
private ObjectTypeNode[] cache;
+ private EntryPoint entryPoint;
- public FactTemplateTypeConf(FactTemplate factTemplate,
- InternalRuleBase ruleBase) {
+ public FactTemplateTypeConf(final EntryPoint entryPoint,
+ final FactTemplate factTemplate,
+ final InternalRuleBase ruleBase) {
this.ruleBase = ruleBase;
this.factTemplate = factTemplate;
+ this.entryPoint = entryPoint;
+
ObjectType objectType = new FactTemplateObjectType( factTemplate );
- this.concreteObjectTypeNode = (ObjectTypeNode) ruleBase.getRete().getObjectTypeNodes().get( objectType );
+ this.concreteObjectTypeNode = (ObjectTypeNode) ruleBase.getRete().getObjectTypeNodes( entryPoint ).get( objectType );
if ( this.concreteObjectTypeNode == null ) {
BuildContext context = new BuildContext( ruleBase,
((ReteooRuleBase) ruleBase.getRete().getRuleBase()).getReteooBuilder().getIdGenerator() );
@@ -92,7 +97,7 @@
public boolean isActive() {
return true;
}
-
+
public boolean isEvent() {
return false;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/MemoryVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/MemoryVisitor.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/MemoryVisitor.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -1,18 +1,17 @@
package org.drools.reteoo;
import java.lang.reflect.Field;
+import java.util.Map;
import org.drools.common.InternalWorkingMemory;
import org.drools.reteoo.RuleTerminalNode.TerminalNodeMemory;
+import org.drools.spi.ObjectType;
import org.drools.util.AbstractHashTable;
import org.drools.util.Entry;
-import org.drools.util.FactHashTable;
import org.drools.util.FactHandleIndexHashTable;
-import org.drools.util.Iterator;
-import org.drools.util.ObjectHashMap;
+import org.drools.util.FactHashTable;
import org.drools.util.ReflectiveVisitor;
import org.drools.util.FactHandleIndexHashTable.FieldIndexEntry;
-import org.drools.util.ObjectHashMap.ObjectEntry;
public class MemoryVisitor extends ReflectiveVisitor {
private InternalWorkingMemory workingMemory;
@@ -36,11 +35,10 @@
* Rete visits each of its ObjectTypeNodes.
*/
public void visitRete(final Rete rete) {
- final ObjectHashMap map = rete.getObjectTypeNodes();
+ final Map<ObjectType, ObjectTypeNode> map = rete.getObjectTypeNodes();
- final Iterator it = map.newIterator();
- for ( ObjectEntry entry = (ObjectEntry) it.next(); entry != null; entry = (ObjectEntry) it.next() ) {
- visit( entry.getValue() );
+ for( ObjectTypeNode node : map.values() ) {
+ visit( node );
}
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -26,6 +26,7 @@
import org.drools.common.PropagationContextImpl;
import org.drools.reteoo.builder.BuildContext;
import org.drools.rule.Declaration;
+import org.drools.rule.EntryPoint;
import org.drools.spi.Constraint;
import org.drools.spi.ObjectType;
import org.drools.spi.PropagationContext;
@@ -78,6 +79,8 @@
private boolean objectMemoryEnabled;
+ private final EntryPoint entryPoint;
+
/**
* Construct given a semantic <code>ObjectType</code> and the provided
* unique id. All <code>ObjectTypdeNode</code> have node memory.
@@ -96,6 +99,7 @@
this.rete = (Rete) this.objectSource;
this.objectType = objectType;
setObjectMemoryEnabled( context.isObjectTypeNodeMemoryEnabled() );
+ this.entryPoint = context.getCurrentEntryPoint() == null ? EntryPoint.DEFAULT : context.getCurrentEntryPoint();
}
/**
@@ -144,7 +148,7 @@
return;
}
- if ( this.objectMemoryEnabled) {
+ if ( this.objectMemoryEnabled ) {
final FactHashTable memory = (FactHashTable) workingMemory.getNodeMemory( this );
memory.add( handle,
false );
@@ -210,10 +214,11 @@
// to working memories
for ( int i = 0, length = workingMemories.length; i < length; i++ ) {
final InternalWorkingMemory workingMemory = workingMemories[i];
- final PropagationContext propagationContext = new PropagationContextImpl( workingMemory.getNextPropagationIdCounter(),
- PropagationContext.RULE_ADDITION,
- null,
- null );
+ final PropagationContextImpl propagationContext = new PropagationContextImpl( workingMemory.getNextPropagationIdCounter(),
+ PropagationContext.RULE_ADDITION,
+ null,
+ null );
+ propagationContext.setEntryPoint( this.entryPoint );
this.rete.updateSink( this,
propagationContext,
workingMemory );
@@ -260,14 +265,14 @@
}
public String toString() {
- return "[ObjectTypeNode(" + this.id + ") objectType=" + this.objectType + "]";
+ return "[ObjectTypeNode(" + this.id + ") " + this.entryPoint + " objectType=" + this.objectType + "]";
}
/**
* Uses he hashCode() of the underlying ObjectType implementation.
*/
public int hashCode() {
- return this.objectType.hashCode();
+ return this.objectType.hashCode() ^ this.entryPoint.hashCode();
}
public boolean equals(final Object object) {
@@ -281,7 +286,7 @@
final ObjectTypeNode other = (ObjectTypeNode) object;
- return this.objectType.equals( other.objectType );
+ return this.objectType.equals( other.objectType ) && this.entryPoint.equals( other.entryPoint );
}
/**
@@ -343,4 +348,11 @@
}
return usesDecl;
}
+
+ /**
+ * @return the entryPoint
+ */
+ public EntryPoint getEntryPoint() {
+ return entryPoint;
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -19,6 +19,8 @@
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
import org.drools.base.ShadowProxy;
import org.drools.common.BaseNode;
@@ -27,12 +29,14 @@
import org.drools.common.InternalRuleBase;
import org.drools.common.InternalWorkingMemory;
import org.drools.common.NodeMemory;
+import org.drools.rule.EntryPoint;
import org.drools.spi.ObjectType;
import org.drools.spi.PropagationContext;
import org.drools.util.FactEntry;
import org.drools.util.FactHashTable;
import org.drools.util.Iterator;
import org.drools.util.ObjectHashMap;
+import org.drools.util.ObjectHashMap.ObjectEntry;
/**
* The Rete-OO network.
@@ -64,19 +68,21 @@
/**
*
*/
- private static final long serialVersionUID = 400L;
- /** The <code>Map</code> of <code>ObjectTypeNodes</code>. */
- private final ObjectHashMap objectTypeNodes;
+ private static final long serialVersionUID = 400L;
- private transient InternalRuleBase ruleBase;
+ private final Map<EntryPoint, ObjectHashMap> entryPoints;
+ private transient InternalRuleBase ruleBase;
+
// ------------------------------------------------------------
// Constructors
// ------------------------------------------------------------
public Rete(InternalRuleBase ruleBase) {
super( 0 );
- this.objectTypeNodes = new ObjectHashMap();
+ this.entryPoints = new HashMap<EntryPoint, ObjectHashMap>();
+ this.entryPoints.put( EntryPoint.DEFAULT,
+ new ObjectHashMap() );
this.ruleBase = ruleBase;
}
@@ -106,7 +112,8 @@
final PropagationContext context,
final InternalWorkingMemory workingMemory) {
- ObjectTypeConf objectTypeConf = workingMemory.getObjectTypeConf( handle.getObject() );
+ ObjectTypeConf objectTypeConf = workingMemory.getObjectTypeConf( context.getEntryPoint(),
+ handle.getObject() );
// checks if shadow is enabled
if ( objectTypeConf.isShadowEnabled() ) {
@@ -143,7 +150,8 @@
final InternalWorkingMemory workingMemory) {
final Object object = handle.getObject();
- ObjectTypeConf objectTypeConf = workingMemory.getObjectTypeConf( object );
+ ObjectTypeConf objectTypeConf = workingMemory.getObjectTypeConf( context.getEntryPoint(),
+ object );
ObjectTypeNode[] cachedNodes = objectTypeConf.getObjectTypeNodes();
if ( cachedNodes == null ) {
@@ -159,23 +167,30 @@
}
/**
- * Adds the <code>TupleSink</code> so that it may receive
- * <code>Tuples</code> propagated from this <code>TupleSource</code>.
+ * Adds the <code>ObjectSink</code> so that it may receive
+ * <code>Objects</code> propagated from this <code>ObjectSource</code>.
*
- * @param tupleSink
- * The <code>TupleSink</code> to receive propagated
- * <code>Tuples</code>.
+ * @param objectSink
+ * The <code>ObjectSink</code> to receive propagated
+ * <code>Objects</code>. Rete only accepts <code>ObjectTypeNode</code>s
+ * as parameters to this method, though.
*/
protected void addObjectSink(final ObjectSink objectSink) {
final ObjectTypeNode node = (ObjectTypeNode) objectSink;
- this.objectTypeNodes.put( node.getObjectType(),
- node,
- true );
+ ObjectHashMap map = this.entryPoints.get( node.getEntryPoint() );
+ if ( map == null ) {
+ map = new ObjectHashMap();
+ this.entryPoints.put( node.getEntryPoint(),
+ map );
+ }
+ map.put( node.getObjectType(),
+ node,
+ true );
}
protected void removeObjectSink(final ObjectSink objectSink) {
final ObjectTypeNode node = (ObjectTypeNode) objectSink;
- this.objectTypeNodes.remove( node.getObjectType() );
+ this.entryPoints.get( node.getEntryPoint() ).remove( node.getObjectType() );
}
public void attach() {
@@ -196,16 +211,27 @@
}
}
- public ObjectHashMap getObjectTypeNodes() {
- return this.objectTypeNodes;
+ public Map<ObjectType, ObjectTypeNode> getObjectTypeNodes() {
+ Map<ObjectType, ObjectTypeNode> allNodes = new HashMap<ObjectType, ObjectTypeNode>();
+ for( ObjectHashMap map : this.entryPoints.values() ) {
+ Iterator it = map.iterator();
+ for ( ObjectEntry entry = (ObjectEntry) it.next(); entry != null; entry = (ObjectEntry) it.next() ) {
+ allNodes.put( (ObjectType) entry.getKey(), (ObjectTypeNode) entry.getValue() );
+ }
+ }
+ return allNodes;
}
+ public ObjectHashMap getObjectTypeNodes(EntryPoint entryPoint) {
+ return this.entryPoints.get( entryPoint );
+ }
+
public InternalRuleBase getRuleBase() {
return this.ruleBase;
}
public int hashCode() {
- return this.objectTypeNodes.hashCode();
+ return this.entryPoints.hashCode();
}
public boolean equals(final Object object) {
@@ -218,7 +244,7 @@
}
final Rete other = (Rete) object;
- return this.objectTypeNodes.equals( other.objectTypeNodes );
+ return this.entryPoints.equals( other.entryPoints );
}
public void updateSink(final ObjectSink sink,
@@ -228,7 +254,7 @@
final ObjectTypeNode node = (ObjectTypeNode) sink;
final ObjectType newObjectType = node.getObjectType();
- for ( ObjectTypeConf objectTypeConf : workingMemory.getObjectTypeConfMap().values() ) {
+ for ( ObjectTypeConf objectTypeConf : workingMemory.getObjectTypeConfMap( context.getEntryPoint() ).values() ) {
if ( newObjectType.isAssignableFrom( objectTypeConf.getConcreteObjectTypeNode().getObjectType() ) ) {
objectTypeConf.resetCache();
ObjectTypeNode sourceNode = objectTypeConf.getConcreteObjectTypeNode();
@@ -242,13 +268,13 @@
}
}
}
-
+
public boolean isObjectMemoryEnabled() {
- throw new UnsupportedOperationException("Rete has no Object memory");
+ throw new UnsupportedOperationException( "Rete has no Object memory" );
}
public void setObjectMemoryEnabled(boolean objectMemoryEnabled) {
- throw new UnsupportedOperationException("ORete has no Object memory");
+ throw new UnsupportedOperationException( "ORete has no Object memory" );
}
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -32,6 +32,7 @@
import org.drools.common.PropagationContextImpl;
import org.drools.common.WorkingMemoryAction;
import org.drools.event.RuleBaseEventListener;
+import org.drools.rule.EntryPoint;
import org.drools.rule.Query;
import org.drools.rule.Rule;
import org.drools.spi.Activation;
@@ -84,12 +85,14 @@
public QueryResults getQueryResults(final String query) {
return getQueryResults( query, null );
}
+
public QueryResults getQueryResults(final String query, final Object[] arguments) {
Object object = new DroolsQuery( query, arguments );
InternalFactHandle handle = this.handleFactory.newFactHandle( object, false, this );
- insert( handle,
+ insert( EntryPoint.DEFAULT, // query dummy objects always use default entry point
+ handle,
object,
null,
null );
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildContext.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildContext.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildContext.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -29,6 +29,7 @@
import org.drools.reteoo.ReteooBuilder;
import org.drools.reteoo.ReteooRuleBase;
import org.drools.reteoo.TupleSource;
+import org.drools.rule.EntryPoint;
import org.drools.rule.RuleConditionElement;
/**
@@ -68,6 +69,9 @@
// alpha constraints from the last pattern attached
private List alphaConstraints;
+ // the current entry point
+ private EntryPoint currentEntryPoint;
+
private boolean tupleMemoryEnabled;
private boolean objectTypeNodeMemoryEnabled;
@@ -96,6 +100,8 @@
this.tupleMemoryEnabled = true;
this.objectTypeNodeMemoryEnabled = true;
+
+ this.currentEntryPoint = EntryPoint.DEFAULT;
}
/**
@@ -328,5 +334,19 @@
public boolean isAlphaMemoryAllowed() {
return this.alphaNodeMemoryAllowed;
}
+
+ /**
+ * @return the currentEntryPoint
+ */
+ public EntryPoint getCurrentEntryPoint() {
+ return currentEntryPoint;
+ }
+
+ /**
+ * @param currentEntryPoint the currentEntryPoint to set
+ */
+ public void setCurrentEntryPoint(EntryPoint currentEntryPoint) {
+ this.currentEntryPoint = currentEntryPoint;
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildUtils.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildUtils.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildUtils.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -40,6 +40,7 @@
import org.drools.rule.InvalidPatternException;
import org.drools.rule.RuleConditionElement;
import org.drools.spi.BetaNodeFieldConstraint;
+import org.drools.util.ObjectHashMap;
/**
* Utility functions for reteoo build
@@ -90,9 +91,12 @@
if( candidate instanceof ObjectTypeNode ) {
// object type nodes are always shared
ObjectTypeNode otn = (ObjectTypeNode) candidate;
- otn = (ObjectTypeNode) context.getRuleBase().getRete().getObjectTypeNodes().get( otn.getObjectType() );
- if ( otn != null ) {
- node = otn;
+ ObjectHashMap map = context.getRuleBase().getRete().getObjectTypeNodes( context.getCurrentEntryPoint() );
+ if( map != null ) {
+ otn = (ObjectTypeNode) map.get( otn.getObjectType() );
+ if ( otn != null ) {
+ node = otn;
+ }
}
} else if( isSharingEnabledForNode( context, candidate ) ) {
if ( (context.getTupleSource() != null) && ( candidate instanceof TupleSink ) ) {
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/EntryPointBuilder.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/builder/EntryPointBuilder.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/EntryPointBuilder.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/EntryPointBuilder.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 14, 2007
+ */
+package org.drools.reteoo.builder;
+
+import org.drools.rule.EntryPoint;
+import org.drools.rule.RuleConditionElement;
+
+/**
+ * This is a builder for the entry point pattern
+ * source.
+ *
+ * @author etirelli
+ */
+public class EntryPointBuilder
+ implements
+ ReteooComponentBuilder {
+
+ /* (non-Javadoc)
+ * @see org.drools.reteoo.builder.ReteooComponentBuilder#build(org.drools.reteoo.builder.BuildContext, org.drools.reteoo.builder.BuildUtils, org.drools.rule.RuleConditionElement)
+ */
+ public void build(BuildContext context,
+ BuildUtils utils,
+ RuleConditionElement rce) {
+ final EntryPoint entry = (EntryPoint) rce;
+
+ context.setCurrentEntryPoint( entry );
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.reteoo.builder.ReteooComponentBuilder#requiresLeftActivation(org.drools.reteoo.builder.BuildUtils, org.drools.rule.RuleConditionElement)
+ */
+ public boolean requiresLeftActivation(BuildUtils utils,
+ RuleConditionElement rce) {
+ return true;
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -28,6 +28,7 @@
import org.drools.reteoo.ObjectSource;
import org.drools.reteoo.ObjectTypeNode;
import org.drools.rule.Declaration;
+import org.drools.rule.EntryPoint;
import org.drools.rule.InvalidPatternException;
import org.drools.rule.Pattern;
import org.drools.rule.PatternSource;
@@ -79,15 +80,7 @@
// Create BetaConstraints object
context.setBetaconstraints( betaConstraints );
- if ( pattern.getSource() == null ) {
- // pattern is selected from working memory, so
- // Attach alpha nodes
- attachAlphaNodes( context,
- utils,
- pattern,
- alphaConstraints );
-
- } else {
+ if ( pattern.getSource() != null ) {
context.setAlphaConstraints( alphaConstraints );
final int currentOffset = context.getCurrentPatternOffset();
@@ -100,8 +93,17 @@
source );
// restoring offset
context.setCurrentPatternOffset( currentOffset );
+
}
+ if( pattern.getSource() == null || context.getCurrentEntryPoint() != EntryPoint.DEFAULT ) {
+ attachAlphaNodes( context,
+ utils,
+ pattern,
+ alphaConstraints );
+ context.setCurrentEntryPoint( EntryPoint.DEFAULT );
+ }
+
// last thing to do is increment the offset, since if the pattern has a source,
// offset must be overriden
context.incrementCurrentPatternOffset();
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooRuleBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooRuleBuilder.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooRuleBuilder.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -37,6 +37,7 @@
import org.drools.reteoo.TerminalNode;
import org.drools.rule.Accumulate;
import org.drools.rule.Collect;
+import org.drools.rule.EntryPoint;
import org.drools.rule.Pattern;
import org.drools.rule.EvalCondition;
import org.drools.rule.Forall;
@@ -73,6 +74,8 @@
new AccumulateBuilder() );
this.utils.addBuilder( Forall.class,
new ForallBuilder() );
+ this.utils.addBuilder( EntryPoint.class,
+ new EntryPointBuilder() );
}
/**
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EntryPoint.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/rule/EntryPoint.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EntryPoint.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EntryPoint.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,142 @@
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Created on Dec 14, 2007
+ */
+package org.drools.rule;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * This class defines a Rete "Entry Point".
+ * An entry point is used as a source of facts that
+ * are scoped to a separate alpha network. The alpha
+ * network is not shared among separate entry points
+ * and this allows them to safelly run in parallel
+ * and concurrent modes.
+ *
+ * @author etirelli
+ *
+ */
+public class EntryPoint extends ConditionalElement
+ implements
+ PatternSource {
+
+ public static final EntryPoint DEFAULT = new EntryPoint("DEFAULT");
+
+ private static final long serialVersionUID = 1435985794248365232L;
+
+ private final String entryPointId;
+
+ /**
+ * Constructor.
+ *
+ * @param entryPointId the ID for this entry point
+ */
+ public EntryPoint( final String entryPointId ) {
+ this.entryPointId = entryPointId;
+ }
+
+ /**
+ * There is not reason to clone this object since it is stateless.
+ * So a clone() call will return the instance itself.
+ *
+ * @see org.drools.rule.ConditionalElement#clone()
+ */
+ @Override
+ public Object clone() {
+ return this;
+ }
+
+ /**
+ * It is not possible to declare any new variables, so always
+ * return an Empty Map
+ *
+ * @see org.drools.rule.RuleConditionElement#getInnerDeclarations()
+ */
+ public Map getInnerDeclarations() {
+ return Collections.EMPTY_MAP;
+ }
+
+ /**
+ * It is not possible to nest elements inside an entry point, so
+ * always return an empty list.
+ *
+ * @see org.drools.rule.RuleConditionElement#getNestedElements()
+ */
+ public List getNestedElements() {
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * It is not possible to declare and export any variables,
+ * so always return an empty map
+ *
+ * @see org.drools.rule.RuleConditionElement#getOuterDeclarations()
+ */
+ public Map getOuterDeclarations() {
+ return Collections.EMPTY_MAP;
+ }
+
+ /**
+ * Not possible to resolve any declaration, so always return null.
+ *
+ * @see org.drools.rule.RuleConditionElement#resolveDeclaration(java.lang.String)
+ */
+ public Declaration resolveDeclaration(String identifier) {
+ return null;
+ }
+
+ /**
+ * Returns this entry point ID
+ * @return
+ */
+ public String getEntryPointId() {
+ return this.entryPointId;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = 1;
+ result = PRIME * result + ((entryPointId == null) ? 0 : entryPointId.hashCode());
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( obj == null ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ final EntryPoint other = (EntryPoint) obj;
+ if ( entryPointId == null ) {
+ if ( other.entryPointId != null ) return false;
+ } else if ( !entryPointId.equals( other.entryPointId ) ) return false;
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "EntryPoint::"+this.entryPointId;
+ }
+}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/PropagationContext.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/PropagationContext.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/PropagationContext.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -18,6 +18,7 @@
import java.io.Serializable;
import org.drools.reteoo.ReteTuple;
+import org.drools.rule.EntryPoint;
import org.drools.rule.Rule;
public interface PropagationContext
@@ -51,5 +52,7 @@
public void clearRetractedTuples();
public void releaseResources();
+
+ public EntryPoint getEntryPoint();
}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/TemporalEvaluatorFactoryTest.java (from rev 17264, labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/base/TemporalEvaluatorFactoryTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/TemporalEvaluatorFactoryTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/TemporalEvaluatorFactoryTest.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -0,0 +1,525 @@
+package org.drools.base;
+
+/*
+ * Copyright 2005 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import org.drools.RuntimeDroolsException;
+import org.drools.base.evaluators.EvaluatorDefinition;
+import org.drools.base.evaluators.EvaluatorRegistry;
+import org.drools.common.EventFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.rule.Declaration;
+import org.drools.rule.VariableRestriction.BooleanVariableContextEntry;
+import org.drools.rule.VariableRestriction.CharVariableContextEntry;
+import org.drools.rule.VariableRestriction.DoubleVariableContextEntry;
+import org.drools.rule.VariableRestriction.LongVariableContextEntry;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
+import org.drools.rule.VariableRestriction.VariableContextEntry;
+import org.drools.spi.Evaluator;
+import org.drools.spi.Extractor;
+import org.drools.spi.FieldExtractor;
+import org.drools.spi.FieldValue;
+
+import junit.framework.TestCase;
+
+/**
+ * Test coverage for the temporal evaluators.
+ *
+ * @author Tino Breddin
+ */
+public class TemporalEvaluatorFactoryTest extends TestCase {
+
+ private EvaluatorRegistry registry = new EvaluatorRegistry();
+
+ public void testAfter() {
+ registry
+ .addEvaluatorDefinition("org.drools.base.evaluators.AfterEvaluatorDefinition");
+
+ EventFactHandle foo = new EventFactHandle(1, "foo", 1, 1, 2);
+ EventFactHandle bar = new EventFactHandle(2, "bar", 1, 4, 3);
+ EventFactHandle drool = new EventFactHandle(1, "drool", 1, 5, 2);
+
+ final Object[][] data = { { drool, "after", foo, Boolean.TRUE },
+ { drool, "after", bar, Boolean.FALSE },
+ { bar, "after", foo, Boolean.TRUE },
+ { bar, "after", drool, Boolean.FALSE },
+ { foo, "after", drool, Boolean.FALSE },
+ { foo, "after", bar, Boolean.FALSE },
+ { foo, "not after", bar, Boolean.TRUE },
+ { foo, "not after", drool, Boolean.TRUE },
+ { bar, "not after", drool, Boolean.TRUE },
+ { bar, "not after", foo, Boolean.FALSE },
+ { drool, "not after", foo, Boolean.FALSE },
+ { drool, "not after", bar, Boolean.TRUE },
+ { bar, "after[1]", foo, Boolean.TRUE },
+ { bar, "after[0]", foo, Boolean.FALSE },
+ { bar, "after[-3]", drool, Boolean.TRUE },
+ { bar, "after[-4]", drool, Boolean.FALSE },
+ { drool, "after[2]", foo, Boolean.TRUE },
+ { drool, "after[1]", foo, Boolean.FALSE },
+ { drool, "after[-2]", bar, Boolean.TRUE },
+ { drool, "after[-3]", bar, Boolean.FALSE },
+ { foo, "after[-6]", drool, Boolean.TRUE },
+ { foo, "after[-7]", drool, Boolean.FALSE },
+ { foo, "after[-6]", bar, Boolean.TRUE },
+ { foo, "after[-7]", bar, Boolean.FALSE },
+ { bar, "not after[1]", foo, Boolean.FALSE },
+ { bar, "not after[0]", foo, Boolean.TRUE },
+ { bar, "not after[-3]", drool, Boolean.FALSE },
+ { bar, "not after[-4]", drool, Boolean.TRUE },
+ { drool, "not after[2]", foo, Boolean.FALSE },
+ { drool, "not after[1]", foo, Boolean.TRUE },
+ { drool, "not after[-2]", bar, Boolean.FALSE },
+ { drool, "not after[-3]", bar, Boolean.TRUE },
+ { foo, "not after[-6]", drool, Boolean.FALSE },
+ { foo, "not after[-7]", drool, Boolean.TRUE },
+ { foo, "not after[-6]", bar, Boolean.FALSE },
+ { foo, "not after[-7]", bar, Boolean.TRUE },
+ { drool, "after[1,4]", foo, Boolean.TRUE },
+ { drool, "after[3,6]", foo, Boolean.FALSE },
+ { drool, "after[-3,1]", bar, Boolean.TRUE },
+ { drool, "after[-1,3]", bar, Boolean.FALSE },
+ { bar, "after[1,5]", foo, Boolean.TRUE },
+ { bar, "after[2,5]", foo, Boolean.FALSE },
+ { bar, "after[-3,0]", drool, Boolean.TRUE },
+ { bar, "after[-2,1]", drool, Boolean.FALSE },
+ { foo, "after[-7,-3]", bar, Boolean.TRUE },
+ { foo, "after[-5,-1]", bar, Boolean.FALSE },
+ { foo, "after[-6,-5]", drool, Boolean.TRUE },
+ { foo, "after[-5,-4]", drool, Boolean.FALSE },
+ { drool, "not after[1,4]", foo, Boolean.FALSE },
+ { drool, "not after[3,6]", foo, Boolean.TRUE },
+ { drool, "not after[-3,1]", bar, Boolean.FALSE },
+ { drool, "not after[-1,3]", bar, Boolean.TRUE },
+ { bar, "not after[1,5]", foo, Boolean.FALSE },
+ { bar, "not after[2,5]", foo, Boolean.TRUE },
+ { bar, "not after[-3,0]", drool, Boolean.FALSE },
+ { bar, "not after[-2,1]", drool, Boolean.TRUE },
+ { foo, "not after[-7,-3]", bar, Boolean.FALSE },
+ { foo, "not after[-5,-1]", bar, Boolean.TRUE },
+ { foo, "not after[-6,-5]", drool, Boolean.FALSE },
+ { foo, "not after[-5,-4]", drool, Boolean.TRUE }, };
+
+ runEvaluatorTest(data, ValueType.OBJECT_TYPE);
+ }
+
+ public void testBefore() {
+ registry
+ .addEvaluatorDefinition("org.drools.base.evaluators.BeforeEvaluatorDefinition");
+
+ EventFactHandle foo = new EventFactHandle(1, "foo", 1, 1, 2);
+ EventFactHandle bar = new EventFactHandle(2, "bar", 1, 2, 2);
+ EventFactHandle drool = new EventFactHandle(1, "drool", 1, 5, 3);
+
+ final Object[][] data = {
+ { foo, "before", drool, Boolean.TRUE },
+ { foo, "before", bar, Boolean.FALSE },
+ { drool, "before", foo, Boolean.FALSE },
+ { drool, "before", bar, Boolean.FALSE },
+ { bar, "before", drool, Boolean.TRUE },
+ { bar, "before", foo, Boolean.FALSE },
+ { foo, "not before", drool, Boolean.FALSE },
+ { foo, "not before", bar, Boolean.TRUE },
+ { drool, "not before", foo, Boolean.TRUE },
+ { drool, "not before", bar, Boolean.TRUE },
+ { bar, "not before", drool, Boolean.FALSE },
+ { bar, "not before", foo, Boolean.TRUE },
+ { foo, "before[2]", drool, Boolean.TRUE },
+ { foo, "before[3]", drool, Boolean.FALSE },
+ { foo, "before[-1]", bar, Boolean.TRUE },
+ { foo, "before[-2]", bar, Boolean.FALSE },
+ { bar, "before[1]", drool, Boolean.TRUE },
+ { bar, "before[2]", drool, Boolean.FALSE },
+ { bar, "before[-3]", foo, Boolean.TRUE },
+ { bar, "before[-2]", foo, Boolean.FALSE },
+ { drool, "before[-6]", bar, Boolean.TRUE },
+ { drool, "before[-5]", bar, Boolean.FALSE },
+ { drool, "before[-7]", foo, Boolean.TRUE },
+ { drool, "before[-8]", foo, Boolean.FALSE },
+ { foo, "not before[2]", drool, Boolean.FALSE },
+ { foo, "not before[3]", drool, Boolean.TRUE },
+ { foo, "not before[-1]", bar, Boolean.FALSE },
+ { foo, "not before[-2]", bar, Boolean.TRUE },
+ { bar, "not before[1]", drool, Boolean.FALSE },
+ { bar, "not before[2]", drool, Boolean.TRUE },
+ { bar, "not before[-3]", foo, Boolean.FALSE },
+ { bar, "not before[-2]", foo, Boolean.TRUE },
+ { drool, "not before[-6]", bar, Boolean.FALSE },
+ { drool, "not before[-5]", bar, Boolean.TRUE },
+ { drool, "not before[-7]", foo, Boolean.FALSE },
+ { drool, "not before[-8]", foo, Boolean.TRUE },
+ { foo, "before[2,4]", drool, Boolean.TRUE },
+ { foo, "before[3,4]", drool, Boolean.FALSE },
+ { foo, "before[-1,1]", bar, Boolean.TRUE },
+ { foo, "before[0,-2]", bar, Boolean.FALSE },
+ { bar, "before[0,4]", drool, Boolean.TRUE },
+ { bar, "before[2,4]", drool, Boolean.FALSE },
+ { bar, "before[-4,0]", foo, Boolean.TRUE },
+ { bar, "before[-2,0]", foo, Boolean.FALSE },
+ { drool, "before[-6,-3]", bar, Boolean.TRUE },
+ { drool, "before[-5,-3]", bar, Boolean.FALSE },
+ { drool, "before[-7,-4]", foo, Boolean.TRUE },
+ { drool, "before[-6,-4]", foo, Boolean.FALSE },
+ { foo, "not before[2,4]", drool, Boolean.FALSE },
+ { foo, "not before[3,4]", drool, Boolean.TRUE },
+ { foo, "not before[-1,1]", bar, Boolean.FALSE },
+ { foo, "not before[0,-2]", bar, Boolean.TRUE },
+ { bar, "not before[0,4]", drool, Boolean.FALSE },
+ { bar, "not before[2,4]", drool, Boolean.TRUE },
+ { bar, "not before[-4,0]", foo, Boolean.FALSE },
+ { bar, "not before[-2,0]", foo, Boolean.TRUE },
+ { drool, "not before[-6,-3]", bar, Boolean.FALSE },
+ { drool, "not before[-5,-3]", bar, Boolean.TRUE },
+ { drool, "not before[-7,-4]", foo, Boolean.FALSE },
+ { drool, "not before[-6,-4]", foo, Boolean.TRUE } };
+
+ runEvaluatorTest(data, ValueType.OBJECT_TYPE);
+ }
+
+ public void testCoincides() {
+ registry
+ .addEvaluatorDefinition("org.drools.base.evaluators.CoincidesEvaluatorDefinition");
+
+ EventFactHandle foo = new EventFactHandle(1, "foo", 1, 2, 3);
+ EventFactHandle bar = new EventFactHandle(2, "bar", 1, 2, 3);
+ EventFactHandle drool = new EventFactHandle(1, "drool", 1, 2, 2);
+ EventFactHandle mole = new EventFactHandle(1, "mole", 1, 1, 2);
+
+ final Object[][] data = {
+ { foo, "coincides", bar, Boolean.TRUE },
+ { foo, "coincides", drool, Boolean.FALSE },
+ { foo, "coincides", mole, Boolean.FALSE },
+ { drool, "coincides", mole, Boolean.FALSE },
+ { foo, "not coincides", bar, Boolean.FALSE },
+ { foo, "not coincides", drool, Boolean.TRUE },
+ { foo, "not coincides", mole, Boolean.TRUE },
+ { drool, "not coincides", mole, Boolean.TRUE },
+ { foo, "coincides[1]", bar, Boolean.TRUE },
+ { foo, "coincides[1]", drool, Boolean.TRUE },
+ { foo, "coincides[2]", mole, Boolean.TRUE },
+ { foo, "coincides[1]", mole, Boolean.FALSE },
+ { drool, "coincides[1]", mole, Boolean.TRUE },
+ { foo, "not coincides[1]", bar, Boolean.FALSE },
+ { foo, "not coincides[1]", drool, Boolean.FALSE },
+ { foo, "not coincides[2]", mole, Boolean.FALSE },
+ { foo, "not coincides[1]", mole, Boolean.TRUE },
+ { drool, "not coincides[1]", mole, Boolean.FALSE },
+ { foo, "coincides[1,2]", bar, Boolean.TRUE },
+ { foo, "coincides[0,1]", drool, Boolean.TRUE },
+ { foo, "coincides[1,0]", drool, Boolean.FALSE },
+ { foo, "coincides[1,2]", mole, Boolean.TRUE },
+ { foo, "coincides[1,1]", mole, Boolean.FALSE},
+ { drool, "coincides[1,1]", mole, Boolean.TRUE },
+ { drool, "coincides[0,1]", mole, Boolean.FALSE },
+ { foo, "not coincides[1,2]", bar, Boolean.FALSE },
+ { foo, "not coincides[0,1]", drool, Boolean.FALSE },
+ { foo, "not coincides[1,0]", drool, Boolean.TRUE},
+ { foo, "not coincides[1,2]", mole, Boolean.FALSE },
+ { foo, "not coincides[1,1]", mole, Boolean.TRUE },
+ { drool, "not coincides[1,1]", mole, Boolean.FALSE },
+ { drool, "not coincides[0,1]", mole, Boolean.TRUE }
+ };
+
+ runEvaluatorTest(data, ValueType.OBJECT_TYPE);
+ }
+
+ private void runEvaluatorTest(final Object[][] data,
+ final ValueType valueType) {
+ final Extractor extractor = new MockExtractor();
+ for (int i = 0; i < data.length; i++) {
+ final Object[] row = data[i];
+ boolean isNegated = ((String) row[1]).startsWith("not ");
+ System.out.println((String) row[1]);
+ String evaluatorStr = isNegated ? ((String) row[1]).substring(4)
+ : (String) row[1];
+ boolean isConstrained = evaluatorStr.endsWith("]");
+ String parameters = null;
+ if (isConstrained) {
+ parameters = evaluatorStr.split("\\[")[1];
+ evaluatorStr = evaluatorStr.split("\\[")[0];
+ parameters = parameters.split("\\]")[0];
+ }
+ EvaluatorDefinition evalDef = registry
+ .getEvaluatorDefinition(evaluatorStr);
+ assertNotNull(evalDef);
+ @SuppressWarnings("unused")
+ final Evaluator evaluator = evalDef.getEvaluator(valueType,
+ evaluatorStr, isNegated, parameters);
+ System.out.println(evaluator);
+
+ checkEvaluatorMethodWith2Extractors(valueType, extractor, row,
+ evaluator);
+ checkEvaluatorMethodCachedRight(valueType, extractor, row,
+ evaluator);
+ checkEvaluatorMethodCachedLeft(valueType, extractor, row, evaluator);
+ checkEvaluatorMethodWithFieldValue(valueType, extractor, row, evaluator);
+
+
+ assertEquals(valueType, evaluator.getValueType());
+
+ }
+ }
+
+ private void checkEvaluatorMethodWith2Extractors(final ValueType valueType,
+ final Extractor extractor, final Object[] row,
+ final Evaluator evaluator) {
+ final boolean result = evaluator.evaluate(null, extractor, row[0],
+ extractor, row[2]);
+ final String message = "The evaluator type: [" + valueType
+ + "] with 2 extractors incorrectly returned " + result
+ + " for [" + row[0] + " " + row[1] + " " + row[2]
+ + "]. It was asserted to return " + row[3];
+
+ if (row[3] == Boolean.TRUE) {
+ assertTrue(message, result);
+ } else {
+ assertFalse(message, result);
+ }
+ }
+
+ private void checkEvaluatorMethodCachedRight(final ValueType valueType,
+ final Extractor extractor, final Object[] row,
+ final Evaluator evaluator) {
+ final VariableContextEntry context = this.getContextEntry(evaluator,
+ (FieldExtractor) extractor, valueType, row);
+ final boolean result = evaluator.evaluateCachedRight(null, context,
+ row[2]);
+ final String message = "The evaluator type: [" + valueType
+ + "] with CachedRight incorrectly returned " + result
+ + " for [" + row[0] + " " + row[1] + " " + row[2]
+ + "]. It was asserted to return " + row[3];
+
+ if (row[3] == Boolean.TRUE) {
+ assertTrue(message, result);
+ } else {
+ assertFalse(message, result);
+ }
+ }
+
+ private void checkEvaluatorMethodCachedLeft(final ValueType valueType,
+ final Extractor extractor, final Object[] row,
+ final Evaluator evaluator) {
+ final VariableContextEntry context = this.getContextEntry(evaluator,
+ (FieldExtractor) extractor, valueType, row);
+ final boolean result = evaluator.evaluateCachedLeft(null, context,
+ row[0]);
+ final String message = "The evaluator type: [" + valueType
+ + "] with CachedLeft incorrectly returned " + result + " for ["
+ + row[0] + " " + row[1] + " " + row[2]
+ + "]. It was asserted to return " + row[3];
+
+ if (row[3] == Boolean.TRUE) {
+ assertTrue(message, result);
+ } else {
+ assertFalse(message, result);
+ }
+ }
+
+ private void checkEvaluatorMethodWithFieldValue(final ValueType valueType,
+ final Extractor extractor, final Object[] row,
+ final Evaluator evaluator) {
+ final FieldValue value = FieldFactory.getFieldValue(row[2]);
+ RuntimeDroolsException exc = null;
+ try {
+ final boolean result = evaluator.evaluate(null, extractor, row[0],
+ value);
+ } catch (RuntimeDroolsException e) {
+ exc = e;
+ }
+ assertNotNull(exc);
+ }
+
+ private VariableContextEntry getContextEntry(final Evaluator evaluator,
+ final FieldExtractor extractor, final ValueType valueType,
+ final Object[] row) {
+ final Declaration declaration = new Declaration("test", extractor, null);
+ final ValueType coerced = evaluator.getCoercedValueType();
+
+ if (coerced.isIntegerNumber()) {
+ final LongVariableContextEntry context = new LongVariableContextEntry(
+ extractor, declaration, evaluator);
+
+ if (row[2] == null) {
+ context.leftNull = true;
+ } else {
+ context.left = ((Number) row[2]).longValue();
+ }
+
+ if (row[0] == null) {
+ context.rightNull = true;
+ } else {
+ context.right = ((Number) row[0]).longValue();
+ }
+ return context;
+ } else if (coerced.isChar()) {
+ final CharVariableContextEntry context = new CharVariableContextEntry(
+ extractor, declaration, evaluator);
+
+ if (row[2] == null) {
+ context.leftNull = true;
+ } else {
+ context.left = ((Character) row[2]).charValue();
+ }
+
+ if (row[0] == null) {
+ context.rightNull = true;
+ } else {
+ context.right = ((Character) row[0]).charValue();
+ }
+ return context;
+ } else if (coerced.isBoolean()) {
+ final BooleanVariableContextEntry context = new BooleanVariableContextEntry(
+ extractor, declaration, evaluator);
+
+ if (row[2] == null) {
+ context.leftNull = true;
+ } else {
+ context.left = ((Boolean) row[2]).booleanValue();
+ }
+
+ if (row[0] == null) {
+ context.rightNull = true;
+ } else {
+ context.right = ((Boolean) row[0]).booleanValue();
+ }
+ return context;
+ } else if (coerced.isFloatNumber()) {
+ final DoubleVariableContextEntry context = new DoubleVariableContextEntry(
+ extractor, declaration, evaluator);
+ if (row[2] == null) {
+ context.leftNull = true;
+ } else {
+ context.left = ((Number) row[2]).doubleValue();
+ }
+
+ if (row[0] == null) {
+ context.rightNull = true;
+ } else {
+ context.right = ((Number) row[0]).doubleValue();
+ }
+ return context;
+ } else {
+ final ObjectVariableContextEntry context = new ObjectVariableContextEntry(
+ extractor, declaration, evaluator);
+ if (row[2] == null) {
+ context.leftNull = true;
+ } else {
+ context.left = row[2];
+ }
+
+ if (row[0] == null) {
+ context.rightNull = true;
+ } else {
+ context.right = row[0];
+ }
+ return context;
+ }
+ }
+
+ private static class MockExtractor implements FieldExtractor {
+
+ private static final long serialVersionUID = 400L;
+
+ public boolean getBooleanValue(InternalWorkingMemory workingMemory,
+ final Object object) {
+ return object != null ? ((Boolean) object).booleanValue() : false;
+ }
+
+ public byte getByteValue(InternalWorkingMemory workingMemory,
+ final Object object) {
+ return object != null ? ((Number) object).byteValue() : (byte) 0;
+ }
+
+ public char getCharValue(InternalWorkingMemory workingMemory,
+ final Object object) {
+ return object != null ? ((Character) object).charValue() : '\0';
+ }
+
+ public double getDoubleValue(InternalWorkingMemory workingMemory,
+ final Object object) {
+ return object != null ? ((Number) object).doubleValue() : 0.0;
+ }
+
+ public Class getExtractToClass() {
+ return null;
+ }
+
+ public String getExtractToClassName() {
+ return null;
+ }
+
+ public float getFloatValue(InternalWorkingMemory workingMemory,
+ final Object object) {
+ return object != null ? ((Number) object).floatValue()
+ : (float) 0.0;
+ }
+
+ public int getHashCode(InternalWorkingMemory workingMemory,
+ final Object object) {
+ return 0;
+ }
+
+ public int getIntValue(InternalWorkingMemory workingMemory,
+ final Object object) {
+ return object != null ? ((Number) object).intValue() : 0;
+ }
+
+ public long getLongValue(InternalWorkingMemory workingMemory,
+ final Object object) {
+ return object != null ? ((Number) object).longValue() : 0;
+ }
+
+ public Method getNativeReadMethod() {
+ return null;
+ }
+
+ public short getShortValue(InternalWorkingMemory workingMemory,
+ final Object object) {
+ return object != null ? ((Number) object).shortValue() : (short) 0;
+ }
+
+ public Object getValue(InternalWorkingMemory workingMemory,
+ final Object object) {
+ return object;
+ }
+
+ public boolean isNullValue(InternalWorkingMemory workingMemory,
+ final Object object) {
+ return object == null;
+ }
+
+ public ValueType getValueType() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public int getIndex() {
+ return 0;
+ }
+
+ public boolean isGlobal() {
+ return false;
+ }
+
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -18,6 +18,7 @@
import java.lang.reflect.Field;
import java.util.List;
+import java.util.Map;
import org.drools.Cheese;
import org.drools.DroolsTestCase;
@@ -35,6 +36,7 @@
import org.drools.common.PropagationContextImpl;
import org.drools.reteoo.ReteooBuilder.IdGenerator;
import org.drools.reteoo.builder.BuildContext;
+import org.drools.rule.EntryPoint;
import org.drools.spi.ObjectType;
import org.drools.spi.PropagationContext;
import org.drools.util.FactHashTable;
@@ -64,9 +66,7 @@
assertEquals( id,
objectTypeNode.getId() );
- final Field field = Rete.class.getDeclaredField( "objectTypeNodes" );
- field.setAccessible( true );
- final ObjectHashMap map = (ObjectHashMap) field.get( source );
+ ObjectHashMap map = source.getObjectTypeNodes( EntryPoint.DEFAULT );
assertEquals( 0,
map.size() );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -38,6 +38,7 @@
import org.drools.common.PropagationContextImpl;
import org.drools.reteoo.ReteooBuilder.IdGenerator;
import org.drools.reteoo.builder.BuildContext;
+import org.drools.rule.EntryPoint;
import org.drools.spi.PropagationContext;
import org.drools.util.ObjectHashMap;
@@ -72,9 +73,7 @@
buildContext );
stringTypeNode.attach();
- final Field field = Rete.class.getDeclaredField( "objectTypeNodes" );
- field.setAccessible( true );
- final ObjectHashMap map = (ObjectHashMap) field.get( rete );
+ final Map map = rete.getObjectTypeNodes();
// Check the ObjectTypeNodes are correctly added to Rete
assertEquals( 2,
@@ -134,7 +133,7 @@
null ),
workingMemory );
- final Map map = workingMemory.getObjectTypeConfMap();
+ final Map map = workingMemory.getObjectTypeConfMap( EntryPoint.DEFAULT );
ClassObjectTypeConf conf = (ClassObjectTypeConf) map.get( ArrayList.class );
assertLength( 3,
conf.getObjectTypeNodes() );
@@ -238,7 +237,7 @@
rete.getObjectTypeNodes().get( new ClassObjectType( List.class ) ) );
// ArrayConf should match two ObjectTypenodes for List and ArrayList
- Map memory = workingMemory.getObjectTypeConfMap();
+ Map memory = workingMemory.getObjectTypeConfMap( EntryPoint.DEFAULT );
ObjectTypeConf arrayConf = (ObjectTypeConf) memory.get( ArrayList.class );
final ObjectTypeNode arrayOtn = arrayConf.getConcreteObjectTypeNode();
assertEquals( 2,
Modified: labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java 2007-12-16 11:55:56 UTC (rev 17266)
+++ labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java 2007-12-16 12:25:57 UTC (rev 17267)
@@ -10,6 +10,7 @@
import junit.framework.TestCase;
import org.drools.Agenda;
+import org.drools.EntryPointInterface;
import org.drools.FactException;
import org.drools.FactHandle;
import org.drools.ObjectFilter;
@@ -245,10 +246,6 @@
return null;
}
- public Collection getProcessInstances() {
- return null;
- }
-
public Iterator iterateFactHandles() {
return null;
}
@@ -409,6 +406,15 @@
return null;
}
+ public EntryPointInterface getEntryPoint(String id) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection getProcessInstances() {
+ // TODO Auto-generated method stub
+ return null;
+ }
};
}
}
More information about the jboss-svn-commits
mailing list