[jboss-svn-commits] JBL Code SVN: r20284 - in labs/jbossrules/branches/mattgeis/drools-compiler/src: main/java/org/drools/lang/dsl and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jun 4 02:23:53 EDT 2008
Author: mattgeis
Date: 2008-06-04 02:23:53 -0400 (Wed, 04 Jun 2008)
New Revision: 20284
Added:
labs/jbossrules/branches/mattgeis/drools-compiler/src/test/java/org/drools/lang/dsl/ANTLRDSLTest.java
labs/jbossrules/branches/mattgeis/drools-compiler/src/test/resources/org/drools/lang/dsl/test_antlr.dsl
Modified:
labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/compiler/DrlParser.java
labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/AntlrDSLMappingEntry.java
labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapLexer.java
labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapParser.java
labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapWalker.java
labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLTokenizedMappingFile.java
labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java
labs/jbossrules/branches/mattgeis/drools-compiler/src/test/java/org/drools/lang/dsl/DSLTokenizedMappingFileTest.java
labs/jbossrules/branches/mattgeis/drools-compiler/src/test/java/org/drools/lang/dsl/DefaultExpanderTest.java
Log:
Modified: labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/compiler/DrlParser.java
===================================================================
--- labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/compiler/DrlParser.java 2008-06-04 03:54:14 UTC (rev 20283)
+++ labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/compiler/DrlParser.java 2008-06-04 06:23:53 UTC (rev 20284)
@@ -94,7 +94,6 @@
*/
public PackageDescr parse(final String source,
final Reader dsl) throws DroolsParserException {
-
DefaultExpanderResolver resolver = getDefaultResolver(dsl);
final Expander expander = resolver.get( "*",
@@ -130,7 +129,6 @@
final Expander expander = resolver.get( "*",
null );
final String expanded = expander.expand( source );
-
if ( expander.hasErrors() ) {
String err = "";
for ( Iterator iter = expander.getErrors().iterator(); iter.hasNext(); ) {
Modified: labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/AntlrDSLMappingEntry.java
===================================================================
--- labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/AntlrDSLMappingEntry.java 2008-06-04 03:54:14 UTC (rev 20283)
+++ labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/AntlrDSLMappingEntry.java 2008-06-04 06:23:53 UTC (rev 20284)
@@ -17,10 +17,8 @@
package org.drools.lang.dsl;
import java.util.Collections;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
-import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
@@ -29,7 +27,9 @@
* @author mattgeis
*/
public class AntlrDSLMappingEntry extends AbstractDSLMappingEntry implements DSLMappingEntry {
-
+ private boolean headMatchGroupAdded = false;
+ private boolean tailMatchGroupAdded = false;
+
public AntlrDSLMappingEntry() {
this(DSLMappingEntry.ANY, DSLMappingEntry.EMPTY_METADATA, null, null);
}
@@ -66,6 +66,7 @@
// making it start with a space char or a line start
buf.append("(\\W|^)").append(key);
redistributeVariables();
+ headMatchGroupAdded = true;
}
@@ -75,6 +76,7 @@
buf.append("$");
} else {
buf.append("(\\W|$)");
+ tailMatchGroupAdded = true;
}
// setting the key pattern and making it space insensitive
@@ -110,16 +112,26 @@
}
}
-
/**
* @param value
* the value to set
*/
public void setMappingValue(final String value) {
- this.valuePattern = value;
- this.value = value;
+ StringBuffer valuePatternBuffer = new StringBuffer();
+ StringBuffer valueBuffer = new StringBuffer();
+ if(headMatchGroupAdded){
+ valuePatternBuffer.append("$1");
+ valueBuffer.append("$1");
+ }
+ valuePatternBuffer.append(value);
+ valueBuffer.append(value);
+ if(tailMatchGroupAdded){
+ Integer tailMatchGroupIndex = (Integer) Collections.max(variables.values()) + 1;//get max in variables, plus 1
+ valuePatternBuffer.append("$" + tailMatchGroupIndex);
+ valueBuffer.append("$" + tailMatchGroupIndex);
+ }
+ this.valuePattern = valuePatternBuffer.toString();
+ this.value = valueBuffer.toString();
+
}
-
-
-
}
Modified: labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapLexer.java
===================================================================
--- labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapLexer.java 2008-06-04 03:54:14 UTC (rev 20283)
+++ labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapLexer.java 2008-06-04 06:23:53 UTC (rev 20284)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0.1 DSLMap.g 2008-05-22 16:02:42
+// $ANTLR 3.0.1 DSLMap.g 2008-05-27 14:03:45
package org.drools.lang.dsl;
@@ -54,10 +54,10 @@
public final void mWS() throws RecognitionException {
try {
int _type = WS;
- // DSLMap.g:260:9: ( ( ' ' | '\\t' | '\\f' )+ )
- // DSLMap.g:260:17: ( ' ' | '\\t' | '\\f' )+
+ // DSLMap.g:254:9: ( ( ' ' | '\\t' | '\\f' )+ )
+ // DSLMap.g:254:17: ( ' ' | '\\t' | '\\f' )+
{
- // DSLMap.g:260:17: ( ' ' | '\\t' | '\\f' )+
+ // DSLMap.g:254:17: ( ' ' | '\\t' | '\\f' )+
int cnt1=0;
loop1:
do {
@@ -115,10 +115,10 @@
public final void mEOL() throws RecognitionException {
try {
int _type = EOL;
- // DSLMap.g:267:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
- // DSLMap.g:268:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+ // DSLMap.g:261:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
+ // DSLMap.g:262:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
{
- // DSLMap.g:268:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+ // DSLMap.g:262:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
int alt2=3;
int LA2_0 = input.LA(1);
@@ -137,13 +137,13 @@
else {
if (backtracking>0) {failed=true; return ;}
NoViableAltException nvae =
- new NoViableAltException("268:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 2, 0, input);
+ new NoViableAltException("262:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 2, 0, input);
throw nvae;
}
switch (alt2) {
case 1 :
- // DSLMap.g:268:14: ( '\\r\\n' )=> '\\r\\n'
+ // DSLMap.g:262:14: ( '\\r\\n' )=> '\\r\\n'
{
match("\r\n"); if (failed) return ;
@@ -151,14 +151,14 @@
}
break;
case 2 :
- // DSLMap.g:269:25: '\\r'
+ // DSLMap.g:263:25: '\\r'
{
match('\r'); if (failed) return ;
}
break;
case 3 :
- // DSLMap.g:270:25: '\\n'
+ // DSLMap.g:264:25: '\\n'
{
match('\n'); if (failed) return ;
@@ -180,8 +180,8 @@
// $ANTLR start EscapeSequence
public final void mEscapeSequence() throws RecognitionException {
try {
- // DSLMap.g:276: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' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' | '=' | 'u' | '0' | '#' ) )
- // DSLMap.g:276: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' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' | '=' | 'u' | '0' | '#' )
+ // DSLMap.g:270: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' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' | '=' | 'u' | '0' | '#' ) )
+ // DSLMap.g:270: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' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' | '=' | 'u' | '0' | '#' )
{
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)=='0'||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)<='u')||(input.LA(1)>='w' && input.LA(1)<='x')||(input.LA(1)>='z' && input.LA(1)<='}') ) {
@@ -208,8 +208,8 @@
public final void mLEFT_SQUARE() throws RecognitionException {
try {
int _type = LEFT_SQUARE;
- // DSLMap.g:283:9: ( '[' )
- // DSLMap.g:283:11: '['
+ // DSLMap.g:277:9: ( '[' )
+ // DSLMap.g:277:11: '['
{
match('['); if (failed) return ;
@@ -226,8 +226,8 @@
public final void mRIGHT_SQUARE() throws RecognitionException {
try {
int _type = RIGHT_SQUARE;
- // DSLMap.g:287:9: ( ']' )
- // DSLMap.g:287:11: ']'
+ // DSLMap.g:281:9: ( ']' )
+ // DSLMap.g:281:11: ']'
{
match(']'); if (failed) return ;
@@ -244,8 +244,8 @@
public final void mLEFT_CURLY() throws RecognitionException {
try {
int _type = LEFT_CURLY;
- // DSLMap.g:291:9: ( '{' )
- // DSLMap.g:291:11: '{'
+ // DSLMap.g:285:9: ( '{' )
+ // DSLMap.g:285:11: '{'
{
match('{'); if (failed) return ;
@@ -262,8 +262,8 @@
public final void mRIGHT_CURLY() throws RecognitionException {
try {
int _type = RIGHT_CURLY;
- // DSLMap.g:295:9: ( '}' )
- // DSLMap.g:295:11: '}'
+ // DSLMap.g:289:9: ( '}' )
+ // DSLMap.g:289:11: '}'
{
match('}'); if (failed) return ;
@@ -280,8 +280,8 @@
public final void mEQUALS() throws RecognitionException {
try {
int _type = EQUALS;
- // DSLMap.g:298:8: ( '=' )
- // DSLMap.g:298:10: '='
+ // DSLMap.g:292:8: ( '=' )
+ // DSLMap.g:292:10: '='
{
match('='); if (failed) return ;
@@ -298,8 +298,8 @@
public final void mDOT() throws RecognitionException {
try {
int _type = DOT;
- // DSLMap.g:301:5: ( '.' )
- // DSLMap.g:301:7: '.'
+ // DSLMap.g:295:5: ( '.' )
+ // DSLMap.g:295:7: '.'
{
match('.'); if (failed) return ;
@@ -316,8 +316,8 @@
public final void mPOUND() throws RecognitionException {
try {
int _type = POUND;
- // DSLMap.g:304:9: ( '#' )
- // DSLMap.g:304:11: '#'
+ // DSLMap.g:298:9: ( '#' )
+ // DSLMap.g:298:11: '#'
{
match('#'); if (failed) return ;
@@ -334,8 +334,8 @@
public final void mCOLON() throws RecognitionException {
try {
int _type = COLON;
- // DSLMap.g:307:7: ( ':' )
- // DSLMap.g:307:9: ':'
+ // DSLMap.g:301:7: ( ':' )
+ // DSLMap.g:301:9: ':'
{
match(':'); if (failed) return ;
@@ -352,8 +352,8 @@
public final void mCOMMA() throws RecognitionException {
try {
int _type = COMMA;
- // DSLMap.g:310:7: ( ',' )
- // DSLMap.g:310:9: ','
+ // DSLMap.g:304:7: ( ',' )
+ // DSLMap.g:304:9: ','
{
match(','); if (failed) return ;
@@ -370,11 +370,11 @@
public final void mLINE_COMMENT() throws RecognitionException {
try {
int _type = LINE_COMMENT;
- // DSLMap.g:318:2: ( POUND ( options {greedy=false; } : . )* EOL )
- // DSLMap.g:318:4: POUND ( options {greedy=false; } : . )* EOL
+ // DSLMap.g:312:2: ( POUND ( options {greedy=false; } : . )* EOL )
+ // DSLMap.g:312:4: POUND ( options {greedy=false; } : . )* EOL
{
mPOUND(); if (failed) return ;
- // DSLMap.g:318:10: ( options {greedy=false; } : . )*
+ // DSLMap.g:312:10: ( options {greedy=false; } : . )*
loop3:
do {
int alt3=2;
@@ -393,7 +393,7 @@
switch (alt3) {
case 1 :
- // DSLMap.g:318:37: .
+ // DSLMap.g:312:37: .
{
matchAny(); if (failed) return ;
@@ -420,10 +420,10 @@
public final void mLITERAL() throws RecognitionException {
try {
int _type = LITERAL;
- // DSLMap.g:326:2: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+ )
- // DSLMap.g:326:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+
+ // DSLMap.g:320:2: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+ )
+ // DSLMap.g:320:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+
{
- // DSLMap.g:326:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+
+ // DSLMap.g:320:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+
int cnt4=0;
loop4:
do {
@@ -614,56 +614,56 @@
switch (alt4) {
case 1 :
- // DSLMap.g:326:5: 'a' .. 'z'
+ // DSLMap.g:320:5: 'a' .. 'z'
{
matchRange('a','z'); if (failed) return ;
}
break;
case 2 :
- // DSLMap.g:326:14: 'A' .. 'Z'
+ // DSLMap.g:320:14: 'A' .. 'Z'
{
matchRange('A','Z'); if (failed) return ;
}
break;
case 3 :
- // DSLMap.g:326:23: '_'
+ // DSLMap.g:320:23: '_'
{
match('_'); if (failed) return ;
}
break;
case 4 :
- // DSLMap.g:326:27: '0' .. '9'
+ // DSLMap.g:320:27: '0' .. '9'
{
matchRange('0','9'); if (failed) return ;
}
break;
case 5 :
- // DSLMap.g:326:36: '\\u00c0' .. '\\u00ff'
+ // DSLMap.g:320:36: '\\u00c0' .. '\\u00ff'
{
matchRange('\u00C0','\u00FF'); if (failed) return ;
}
break;
case 6 :
- // DSLMap.g:326:55: MISC
+ // DSLMap.g:320:55: MISC
{
mMISC(); if (failed) return ;
}
break;
case 7 :
- // DSLMap.g:326:60: EscapeSequence
+ // DSLMap.g:320:60: EscapeSequence
{
mEscapeSequence(); if (failed) return ;
}
break;
case 8 :
- // DSLMap.g:326:75: DOT
+ // DSLMap.g:320:75: DOT
{
mDOT(); if (failed) return ;
@@ -693,7 +693,7 @@
// $ANTLR start MISC
public final void mMISC() throws RecognitionException {
try {
- // DSLMap.g:330:7: ( '>' | '<' | '!' | '@' | '$' | '%' | '^' | '*' | '-' | '+' | '?' | '/' | '\\'' | '\"' | '|' | '&' | '(' | ')' | ';' )
+ // DSLMap.g:324:7: ( '>' | '<' | '!' | '@' | '$' | '%' | '^' | '*' | '-' | '+' | '?' | '/' | '\\'' | '\"' | '|' | '&' | '(' | ')' | ';' )
// DSLMap.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)=='|' ) {
@@ -1048,8 +1048,8 @@
// $ANTLR start synpred1
public final void synpred1_fragment() throws RecognitionException {
- // DSLMap.g:268:14: ( '\\r\\n' )
- // DSLMap.g:268:16: '\\r\\n'
+ // DSLMap.g:262:14: ( '\\r\\n' )
+ // DSLMap.g:262:16: '\\r\\n'
{
match("\r\n"); if (failed) return ;
Modified: labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapParser.java
===================================================================
--- labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapParser.java 2008-06-04 03:54:14 UTC (rev 20283)
+++ labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapParser.java 2008-06-04 06:23:53 UTC (rev 20284)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0.1 DSLMap.g 2008-05-22 16:02:41
+// $ANTLR 3.0.1 DSLMap.g 2008-05-27 14:03:44
package org.drools.lang.dsl;
@@ -887,22 +887,22 @@
};
// $ANTLR start key_section
- // DSLMap.g:118:1: key_section : ( key_sentence )+ -> ^( VT_ENTRY_KEY ( key_sentence )+ ) ;
+ // DSLMap.g:118:1: key_section : (ks= key_sentence )+ -> ^( VT_ENTRY_KEY ( key_sentence )+ ) ;
public final key_section_return key_section() throws RecognitionException {
key_section_return retval = new key_section_return();
retval.start = input.LT(1);
Object root_0 = null;
- key_sentence_return key_sentence18 = null;
+ key_sentence_return ks = null;
RewriteRuleSubtreeStream stream_key_sentence=new RewriteRuleSubtreeStream(adaptor,"rule key_sentence");
try {
- // DSLMap.g:119:2: ( ( key_sentence )+ -> ^( VT_ENTRY_KEY ( key_sentence )+ ) )
- // DSLMap.g:119:4: ( key_sentence )+
+ // DSLMap.g:119:2: ( (ks= key_sentence )+ -> ^( VT_ENTRY_KEY ( key_sentence )+ ) )
+ // DSLMap.g:119:4: (ks= key_sentence )+
{
- // DSLMap.g:119:4: ( key_sentence )+
+ // DSLMap.g:119:6: (ks= key_sentence )+
int cnt7=0;
loop7:
do {
@@ -916,13 +916,13 @@
switch (alt7) {
case 1 :
- // DSLMap.g:0:0: key_sentence
+ // DSLMap.g:0:0: ks= key_sentence
{
- pushFollow(FOLLOW_key_sentence_in_key_section490);
- key_sentence18=key_sentence();
+ pushFollow(FOLLOW_key_sentence_in_key_section492);
+ ks=key_sentence();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) stream_key_sentence.add(key_sentence18.getTree());
+ if ( backtracking==0 ) stream_key_sentence.add(ks.getTree());
}
break;
@@ -1006,7 +1006,7 @@
key_chunk_return cb = null;
- variable_definition_return variable_definition19 = null;
+ variable_definition_return variable_definition18 = null;
RewriteRuleSubtreeStream stream_key_chunk=new RewriteRuleSubtreeStream(adaptor,"rule key_chunk");
@@ -1037,18 +1037,18 @@
{
root_0 = (Object)adaptor.nil();
- pushFollow(FOLLOW_variable_definition_in_key_sentence521);
- variable_definition19=variable_definition();
+ pushFollow(FOLLOW_variable_definition_in_key_sentence523);
+ variable_definition18=variable_definition();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, variable_definition19.getTree());
+ if ( backtracking==0 ) adaptor.addChild(root_0, variable_definition18.getTree());
}
break;
case 2 :
// DSLMap.g:128:4: cb= key_chunk
{
- pushFollow(FOLLOW_key_chunk_in_key_sentence528);
+ pushFollow(FOLLOW_key_chunk_in_key_sentence530);
cb=key_chunk();
_fsp--;
if (failed) return retval;
@@ -1110,7 +1110,7 @@
Object root_0 = null;
- literal_return literal20 = null;
+ literal_return literal19 = null;
@@ -1142,11 +1142,11 @@
case 1 :
// DSLMap.g:0:0: literal
{
- pushFollow(FOLLOW_literal_in_key_chunk549);
- literal20=literal();
+ pushFollow(FOLLOW_literal_in_key_chunk551);
+ literal19=literal();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, literal20.getTree());
+ if ( backtracking==0 ) adaptor.addChild(root_0, literal19.getTree());
}
break;
@@ -1194,7 +1194,7 @@
Object root_0 = null;
- value_sentence_return value_sentence21 = null;
+ value_sentence_return value_sentence20 = null;
RewriteRuleSubtreeStream stream_value_sentence=new RewriteRuleSubtreeStream(adaptor,"rule value_sentence");
@@ -1218,11 +1218,11 @@
case 1 :
// DSLMap.g:0:0: value_sentence
{
- pushFollow(FOLLOW_value_sentence_in_value_section564);
- value_sentence21=value_sentence();
+ pushFollow(FOLLOW_value_sentence_in_value_section566);
+ value_sentence20=value_sentence();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) stream_value_sentence.add(value_sentence21.getTree());
+ if ( backtracking==0 ) stream_value_sentence.add(value_sentence20.getTree());
}
break;
@@ -1306,7 +1306,7 @@
value_chunk_return vc = null;
- variable_reference_return variable_reference22 = null;
+ variable_reference_return variable_reference21 = null;
RewriteRuleSubtreeStream stream_value_chunk=new RewriteRuleSubtreeStream(adaptor,"rule value_chunk");
@@ -1337,18 +1337,18 @@
{
root_0 = (Object)adaptor.nil();
- pushFollow(FOLLOW_variable_reference_in_value_sentence595);
- variable_reference22=variable_reference();
+ pushFollow(FOLLOW_variable_reference_in_value_sentence597);
+ variable_reference21=variable_reference();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, variable_reference22.getTree());
+ if ( backtracking==0 ) adaptor.addChild(root_0, variable_reference21.getTree());
}
break;
case 2 :
// DSLMap.g:146:4: vc= value_chunk
{
- pushFollow(FOLLOW_value_chunk_in_value_sentence602);
+ pushFollow(FOLLOW_value_chunk_in_value_sentence604);
vc=value_chunk();
_fsp--;
if (failed) return retval;
@@ -1410,13 +1410,13 @@
Object root_0 = null;
- Token EQUALS24=null;
- Token COMMA25=null;
- literal_return literal23 = null;
+ Token EQUALS23=null;
+ Token COMMA24=null;
+ literal_return literal22 = null;
- Object EQUALS24_tree=null;
- Object COMMA25_tree=null;
+ Object EQUALS23_tree=null;
+ Object COMMA24_tree=null;
try {
// DSLMap.g:151:2: ( ( literal | EQUALS | COMMA )+ )
@@ -1473,22 +1473,22 @@
case 1 :
// DSLMap.g:151:5: literal
{
- pushFollow(FOLLOW_literal_in_value_chunk624);
- literal23=literal();
+ pushFollow(FOLLOW_literal_in_value_chunk626);
+ literal22=literal();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, literal23.getTree());
+ if ( backtracking==0 ) adaptor.addChild(root_0, literal22.getTree());
}
break;
case 2 :
// DSLMap.g:151:13: EQUALS
{
- EQUALS24=(Token)input.LT(1);
- match(input,EQUALS,FOLLOW_EQUALS_in_value_chunk626); if (failed) return retval;
+ EQUALS23=(Token)input.LT(1);
+ match(input,EQUALS,FOLLOW_EQUALS_in_value_chunk628); if (failed) return retval;
if ( backtracking==0 ) {
- EQUALS24_tree = (Object)adaptor.create(EQUALS24);
- adaptor.addChild(root_0, EQUALS24_tree);
+ EQUALS23_tree = (Object)adaptor.create(EQUALS23);
+ adaptor.addChild(root_0, EQUALS23_tree);
}
}
@@ -1496,11 +1496,11 @@
case 3 :
// DSLMap.g:151:20: COMMA
{
- COMMA25=(Token)input.LT(1);
- match(input,COMMA,FOLLOW_COMMA_in_value_chunk628); if (failed) return retval;
+ COMMA24=(Token)input.LT(1);
+ match(input,COMMA,FOLLOW_COMMA_in_value_chunk630); if (failed) return retval;
if ( backtracking==0 ) {
- COMMA25_tree = (Object)adaptor.create(COMMA25);
- adaptor.addChild(root_0, COMMA25_tree);
+ COMMA24_tree = (Object)adaptor.create(COMMA24);
+ adaptor.addChild(root_0, COMMA24_tree);
}
}
@@ -1549,9 +1549,9 @@
Object root_0 = null;
- Token set26=null;
+ Token set25=null;
- Object set26_tree=null;
+ Object set25_tree=null;
try {
// DSLMap.g:156:2: ( ( LITERAL | COLON | LEFT_SQUARE | RIGHT_SQUARE ) )
@@ -1559,17 +1559,17 @@
{
root_0 = (Object)adaptor.nil();
- set26=(Token)input.LT(1);
+ set25=(Token)input.LT(1);
if ( (input.LA(1)>=LEFT_SQUARE && input.LA(1)<=LITERAL)||input.LA(1)==COLON ) {
input.consume();
- if ( backtracking==0 ) adaptor.addChild(root_0, adaptor.create(set26));
+ if ( backtracking==0 ) adaptor.addChild(root_0, adaptor.create(set25));
errorRecovery=false;failed=false;
}
else {
if (backtracking>0) {failed=true; return retval;}
MismatchedSetException mse =
new MismatchedSetException(null,input);
- recoverFromMismatchedSet(input,mse,FOLLOW_set_in_literal646); throw mse;
+ recoverFromMismatchedSet(input,mse,FOLLOW_set_in_literal648); throw mse;
}
@@ -1608,14 +1608,14 @@
Token lc=null;
Token name=null;
Token rc=null;
- Token COLON27=null;
+ Token COLON26=null;
pattern_return pat = null;
Object lc_tree=null;
Object name_tree=null;
Object rc_tree=null;
- Object COLON27_tree=null;
+ Object COLON26_tree=null;
RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON");
RewriteRuleTokenStream stream_RIGHT_CURLY=new RewriteRuleTokenStream(adaptor,"token RIGHT_CURLY");
RewriteRuleTokenStream stream_LITERAL=new RewriteRuleTokenStream(adaptor,"token LITERAL");
@@ -1631,7 +1631,7 @@
// DSLMap.g:166:4: lc= LEFT_CURLY name= LITERAL ( COLON pat= pattern )? rc= RIGHT_CURLY
{
lc=(Token)input.LT(1);
- match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_definition682); if (failed) return retval;
+ match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_definition684); if (failed) return retval;
if ( backtracking==0 ) stream_LEFT_CURLY.add(lc);
if ( backtracking==0 ) {
@@ -1641,7 +1641,7 @@
}
name=(Token)input.LT(1);
- match(input,LITERAL,FOLLOW_LITERAL_in_variable_definition693); if (failed) return retval;
+ match(input,LITERAL,FOLLOW_LITERAL_in_variable_definition695); if (failed) return retval;
if ( backtracking==0 ) stream_LITERAL.add(name);
// DSLMap.g:171:15: ( COLON pat= pattern )?
@@ -1655,11 +1655,11 @@
case 1 :
// DSLMap.g:171:17: COLON pat= pattern
{
- COLON27=(Token)input.LT(1);
- match(input,COLON,FOLLOW_COLON_in_variable_definition697); if (failed) return retval;
- if ( backtracking==0 ) stream_COLON.add(COLON27);
+ COLON26=(Token)input.LT(1);
+ match(input,COLON,FOLLOW_COLON_in_variable_definition699); if (failed) return retval;
+ if ( backtracking==0 ) stream_COLON.add(COLON26);
- pushFollow(FOLLOW_pattern_in_variable_definition701);
+ pushFollow(FOLLOW_pattern_in_variable_definition703);
pat=pattern();
_fsp--;
if (failed) return retval;
@@ -1674,13 +1674,12 @@
}
rc=(Token)input.LT(1);
- match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_definition710); if (failed) return retval;
+ match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_definition712); if (failed) return retval;
if ( backtracking==0 ) stream_RIGHT_CURLY.add(rc);
if ( backtracking==0 ) {
CommonToken rc1 = (CommonToken)input.LT(1);
- //System.out.println("lt1 from rc: " + rc1.getText());
if(!"=".equals(rc1.getText()) && ((CommonToken)rc).getStopIndex() < rc1.getStartIndex() - 1) hasSpaceAfter = true;
}
@@ -1697,10 +1696,10 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 177:2: -> {hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+ // 176:2: -> {hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
if (hasSpaceBefore && !"".equals(text) && !hasSpaceAfter) {
adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
- // DSLMap.g:177:70: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+ // DSLMap.g:176:70: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1712,9 +1711,9 @@
}
}
- else // 178:2: -> {!hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+ else // 177:2: -> {!hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
if (!hasSpaceBefore && !"".equals(text) && !hasSpaceAfter) {
- // DSLMap.g:178:63: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+ // DSLMap.g:177:63: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1726,10 +1725,10 @@
}
}
- else // 179:2: -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name)
+ else // 178:2: -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name)
if (hasSpaceBefore && !hasSpaceAfter) {
adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
- // DSLMap.g:179:51: ^( VT_VAR_DEF $name)
+ // DSLMap.g:178:51: ^( VT_VAR_DEF $name)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1740,9 +1739,9 @@
}
}
- else // 180:2: -> {!hasSpaceBefore && !hasSpaceAfter}? ^( VT_VAR_DEF $name)
+ else // 179:2: -> {!hasSpaceBefore && !hasSpaceAfter}? ^( VT_VAR_DEF $name)
if (!hasSpaceBefore && !hasSpaceAfter) {
- // DSLMap.g:180:44: ^( VT_VAR_DEF $name)
+ // DSLMap.g:179:44: ^( VT_VAR_DEF $name)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1753,10 +1752,10 @@
}
}
- else // 182:2: -> {hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE
+ else // 181:2: -> {hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE
if (hasSpaceBefore && !"".equals(text) && hasSpaceAfter) {
adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
- // DSLMap.g:182:69: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+ // DSLMap.g:181:69: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1769,9 +1768,9 @@
adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
}
- else // 183:2: -> {!hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE
+ else // 182:2: -> {!hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE
if (!hasSpaceBefore && !"".equals(text) && hasSpaceAfter) {
- // DSLMap.g:183:62: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+ // DSLMap.g:182:62: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1784,10 +1783,10 @@
adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
}
- else // 184:2: -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name) VT_SPACE
+ else // 183:2: -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name) VT_SPACE
if (hasSpaceBefore && hasSpaceAfter) {
adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
- // DSLMap.g:184:50: ^( VT_VAR_DEF $name)
+ // DSLMap.g:183:50: ^( VT_VAR_DEF $name)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1799,9 +1798,9 @@
adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
}
- else // 185:2: -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_DEF $name) VT_SPACE
+ else // 184:2: -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_DEF $name) VT_SPACE
if (!hasSpaceBefore && hasSpaceAfter) {
- // DSLMap.g:185:43: ^( VT_VAR_DEF $name)
+ // DSLMap.g:184:43: ^( VT_VAR_DEF $name)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1813,9 +1812,9 @@
adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
}
- else // 186:2: -> ^( VT_VAR_DEF $name)
+ else // 185:2: -> ^( VT_VAR_DEF $name)
{
- // DSLMap.g:186:5: ^( VT_VAR_DEF $name)
+ // DSLMap.g:185:5: ^( VT_VAR_DEF $name)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1854,7 +1853,7 @@
};
// $ANTLR start variable_definition2
- // DSLMap.g:189:1: variable_definition2 : LEFT_CURLY name= LITERAL ( COLON pat= pattern )? RIGHT_CURLY -> {!\"\".equals(text)}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> ^( VT_VAR_DEF $name) ;
+ // DSLMap.g:188:1: variable_definition2 : LEFT_CURLY name= LITERAL ( COLON pat= pattern )? RIGHT_CURLY -> {!\"\".equals(text)}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> ^( VT_VAR_DEF $name) ;
public final variable_definition2_return variable_definition2() throws RecognitionException {
variable_definition2_return retval = new variable_definition2_return();
retval.start = input.LT(1);
@@ -1862,16 +1861,16 @@
Object root_0 = null;
Token name=null;
- Token LEFT_CURLY28=null;
- Token COLON29=null;
- Token RIGHT_CURLY30=null;
+ Token LEFT_CURLY27=null;
+ Token COLON28=null;
+ Token RIGHT_CURLY29=null;
pattern_return pat = null;
Object name_tree=null;
- Object LEFT_CURLY28_tree=null;
- Object COLON29_tree=null;
- Object RIGHT_CURLY30_tree=null;
+ Object LEFT_CURLY27_tree=null;
+ Object COLON28_tree=null;
+ Object RIGHT_CURLY29_tree=null;
RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON");
RewriteRuleTokenStream stream_RIGHT_CURLY=new RewriteRuleTokenStream(adaptor,"token RIGHT_CURLY");
RewriteRuleTokenStream stream_LITERAL=new RewriteRuleTokenStream(adaptor,"token LITERAL");
@@ -1881,18 +1880,18 @@
String text = "";
try {
- // DSLMap.g:193:2: ( LEFT_CURLY name= LITERAL ( COLON pat= pattern )? RIGHT_CURLY -> {!\"\".equals(text)}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> ^( VT_VAR_DEF $name) )
- // DSLMap.g:193:4: LEFT_CURLY name= LITERAL ( COLON pat= pattern )? RIGHT_CURLY
+ // DSLMap.g:192:2: ( LEFT_CURLY name= LITERAL ( COLON pat= pattern )? RIGHT_CURLY -> {!\"\".equals(text)}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> ^( VT_VAR_DEF $name) )
+ // DSLMap.g:192:4: LEFT_CURLY name= LITERAL ( COLON pat= pattern )? RIGHT_CURLY
{
- LEFT_CURLY28=(Token)input.LT(1);
- match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_definition2886); if (failed) return retval;
- if ( backtracking==0 ) stream_LEFT_CURLY.add(LEFT_CURLY28);
+ LEFT_CURLY27=(Token)input.LT(1);
+ match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_definition2888); if (failed) return retval;
+ if ( backtracking==0 ) stream_LEFT_CURLY.add(LEFT_CURLY27);
name=(Token)input.LT(1);
- match(input,LITERAL,FOLLOW_LITERAL_in_variable_definition2890); if (failed) return retval;
+ match(input,LITERAL,FOLLOW_LITERAL_in_variable_definition2892); if (failed) return retval;
if ( backtracking==0 ) stream_LITERAL.add(name);
- // DSLMap.g:193:28: ( COLON pat= pattern )?
+ // DSLMap.g:192:28: ( COLON pat= pattern )?
int alt14=2;
int LA14_0 = input.LA(1);
@@ -1901,13 +1900,13 @@
}
switch (alt14) {
case 1 :
- // DSLMap.g:193:30: COLON pat= pattern
+ // DSLMap.g:192:30: COLON pat= pattern
{
- COLON29=(Token)input.LT(1);
- match(input,COLON,FOLLOW_COLON_in_variable_definition2894); if (failed) return retval;
- if ( backtracking==0 ) stream_COLON.add(COLON29);
+ COLON28=(Token)input.LT(1);
+ match(input,COLON,FOLLOW_COLON_in_variable_definition2896); if (failed) return retval;
+ if ( backtracking==0 ) stream_COLON.add(COLON28);
- pushFollow(FOLLOW_pattern_in_variable_definition2898);
+ pushFollow(FOLLOW_pattern_in_variable_definition2900);
pat=pattern();
_fsp--;
if (failed) return retval;
@@ -1921,9 +1920,9 @@
}
- RIGHT_CURLY30=(Token)input.LT(1);
- match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_definition2905); if (failed) return retval;
- if ( backtracking==0 ) stream_RIGHT_CURLY.add(RIGHT_CURLY30);
+ RIGHT_CURLY29=(Token)input.LT(1);
+ match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_definition2907); if (failed) return retval;
+ if ( backtracking==0 ) stream_RIGHT_CURLY.add(RIGHT_CURLY29);
// AST REWRITE
@@ -1938,9 +1937,9 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 194:2: -> {!\"\".equals(text)}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+ // 193:2: -> {!\"\".equals(text)}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
if (!"".equals(text)) {
- // DSLMap.g:194:25: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+ // DSLMap.g:193:25: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1952,9 +1951,9 @@
}
}
- else // 195:2: -> ^( VT_VAR_DEF $name)
+ else // 194:2: -> ^( VT_VAR_DEF $name)
{
- // DSLMap.g:195:5: ^( VT_VAR_DEF $name)
+ // DSLMap.g:194:5: ^( VT_VAR_DEF $name)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1993,36 +1992,36 @@
};
// $ANTLR start pattern
- // DSLMap.g:199:1: pattern : ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+ ;
+ // DSLMap.g:198:1: pattern : ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+ ;
public final pattern_return pattern() throws RecognitionException {
pattern_return retval = new pattern_return();
retval.start = input.LT(1);
Object root_0 = null;
- Token LEFT_CURLY32=null;
- Token RIGHT_CURLY34=null;
- Token LEFT_SQUARE35=null;
- Token RIGHT_SQUARE37=null;
- literal_return literal31 = null;
+ Token LEFT_CURLY31=null;
+ Token RIGHT_CURLY33=null;
+ Token LEFT_SQUARE34=null;
+ Token RIGHT_SQUARE36=null;
+ literal_return literal30 = null;
- literal_return literal33 = null;
+ literal_return literal32 = null;
- pattern_return pattern36 = null;
+ pattern_return pattern35 = null;
- Object LEFT_CURLY32_tree=null;
- Object RIGHT_CURLY34_tree=null;
- Object LEFT_SQUARE35_tree=null;
- Object RIGHT_SQUARE37_tree=null;
+ Object LEFT_CURLY31_tree=null;
+ Object RIGHT_CURLY33_tree=null;
+ Object LEFT_SQUARE34_tree=null;
+ Object RIGHT_SQUARE36_tree=null;
try {
- // DSLMap.g:200:9: ( ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+ )
- // DSLMap.g:200:11: ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+
+ // DSLMap.g:199:9: ( ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+ )
+ // DSLMap.g:199:11: ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+
{
root_0 = (Object)adaptor.nil();
- // DSLMap.g:200:11: ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+
+ // DSLMap.g:199:11: ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+
int cnt15=0;
loop15:
do {
@@ -2069,58 +2068,58 @@
switch (alt15) {
case 1 :
- // DSLMap.g:200:13: literal
+ // DSLMap.g:199:13: literal
{
- pushFollow(FOLLOW_literal_in_pattern956);
- literal31=literal();
+ pushFollow(FOLLOW_literal_in_pattern958);
+ literal30=literal();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, literal31.getTree());
+ if ( backtracking==0 ) adaptor.addChild(root_0, literal30.getTree());
}
break;
case 2 :
- // DSLMap.g:201:13: LEFT_CURLY literal RIGHT_CURLY
+ // DSLMap.g:200:13: LEFT_CURLY literal RIGHT_CURLY
{
- LEFT_CURLY32=(Token)input.LT(1);
- match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_pattern970); if (failed) return retval;
+ LEFT_CURLY31=(Token)input.LT(1);
+ match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_pattern972); if (failed) return retval;
if ( backtracking==0 ) {
- LEFT_CURLY32_tree = (Object)adaptor.create(LEFT_CURLY32);
- adaptor.addChild(root_0, LEFT_CURLY32_tree);
+ LEFT_CURLY31_tree = (Object)adaptor.create(LEFT_CURLY31);
+ adaptor.addChild(root_0, LEFT_CURLY31_tree);
}
- pushFollow(FOLLOW_literal_in_pattern972);
- literal33=literal();
+ pushFollow(FOLLOW_literal_in_pattern974);
+ literal32=literal();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, literal33.getTree());
- RIGHT_CURLY34=(Token)input.LT(1);
- match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_pattern974); if (failed) return retval;
+ if ( backtracking==0 ) adaptor.addChild(root_0, literal32.getTree());
+ RIGHT_CURLY33=(Token)input.LT(1);
+ match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_pattern976); if (failed) return retval;
if ( backtracking==0 ) {
- RIGHT_CURLY34_tree = (Object)adaptor.create(RIGHT_CURLY34);
- adaptor.addChild(root_0, RIGHT_CURLY34_tree);
+ RIGHT_CURLY33_tree = (Object)adaptor.create(RIGHT_CURLY33);
+ adaptor.addChild(root_0, RIGHT_CURLY33_tree);
}
}
break;
case 3 :
- // DSLMap.g:202:13: LEFT_SQUARE pattern RIGHT_SQUARE
+ // DSLMap.g:201:13: LEFT_SQUARE pattern RIGHT_SQUARE
{
- LEFT_SQUARE35=(Token)input.LT(1);
- match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_pattern988); if (failed) return retval;
+ LEFT_SQUARE34=(Token)input.LT(1);
+ match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_pattern990); if (failed) return retval;
if ( backtracking==0 ) {
- LEFT_SQUARE35_tree = (Object)adaptor.create(LEFT_SQUARE35);
- adaptor.addChild(root_0, LEFT_SQUARE35_tree);
+ LEFT_SQUARE34_tree = (Object)adaptor.create(LEFT_SQUARE34);
+ adaptor.addChild(root_0, LEFT_SQUARE34_tree);
}
- pushFollow(FOLLOW_pattern_in_pattern990);
- pattern36=pattern();
+ pushFollow(FOLLOW_pattern_in_pattern992);
+ pattern35=pattern();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, pattern36.getTree());
- RIGHT_SQUARE37=(Token)input.LT(1);
- match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_pattern992); if (failed) return retval;
+ if ( backtracking==0 ) adaptor.addChild(root_0, pattern35.getTree());
+ RIGHT_SQUARE36=(Token)input.LT(1);
+ match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_pattern994); if (failed) return retval;
if ( backtracking==0 ) {
- RIGHT_SQUARE37_tree = (Object)adaptor.create(RIGHT_SQUARE37);
- adaptor.addChild(root_0, RIGHT_SQUARE37_tree);
+ RIGHT_SQUARE36_tree = (Object)adaptor.create(RIGHT_SQUARE36);
+ adaptor.addChild(root_0, RIGHT_SQUARE36_tree);
}
}
@@ -2162,7 +2161,7 @@
};
// $ANTLR start variable_reference
- // DSLMap.g:207:1: variable_reference : lc= LEFT_CURLY name= LITERAL rc= RIGHT_CURLY -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) VT_SPACE -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_REF $name) VT_SPACE -> ^( VT_VAR_REF $name) ;
+ // DSLMap.g:206:1: variable_reference : lc= LEFT_CURLY name= LITERAL rc= RIGHT_CURLY -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) VT_SPACE -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_REF $name) VT_SPACE -> ^( VT_VAR_REF $name) ;
public final variable_reference_return variable_reference() throws RecognitionException {
variable_reference_return retval = new variable_reference_return();
retval.start = input.LT(1);
@@ -2185,30 +2184,25 @@
boolean hasSpaceAfter = false;
try {
- // DSLMap.g:212:2: (lc= LEFT_CURLY name= LITERAL rc= RIGHT_CURLY -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) VT_SPACE -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_REF $name) VT_SPACE -> ^( VT_VAR_REF $name) )
- // DSLMap.g:212:4: lc= LEFT_CURLY name= LITERAL rc= RIGHT_CURLY
+ // DSLMap.g:211:2: (lc= LEFT_CURLY name= LITERAL rc= RIGHT_CURLY -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) VT_SPACE -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_REF $name) VT_SPACE -> ^( VT_VAR_REF $name) )
+ // DSLMap.g:211:4: lc= LEFT_CURLY name= LITERAL rc= RIGHT_CURLY
{
lc=(Token)input.LT(1);
- match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_reference1027); if (failed) return retval;
+ match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_reference1029); if (failed) return retval;
if ( backtracking==0 ) stream_LEFT_CURLY.add(lc);
if ( backtracking==0 ) {
//try too figure out how to get " {name} " to realize there's a space infron of the { char
- //System.out.println("input is a " + input.getClass().getName());
- //System.out.println("input is: " + input.toString());
- //System.out.println("input LA[1]: " + input.LA(1));
-
- //System.out.println("lc start is: " + ((CommonToken)lc).getStartIndex() );
CommonToken back2 = (CommonToken)input.LT(-2);
if( back2!=null && back2.getStopIndex() < ((CommonToken)lc).getStartIndex() -1 ) hasSpaceBefore = true;
}
name=(Token)input.LT(1);
- match(input,LITERAL,FOLLOW_LITERAL_in_variable_reference1038); if (failed) return retval;
+ match(input,LITERAL,FOLLOW_LITERAL_in_variable_reference1040); if (failed) return retval;
if ( backtracking==0 ) stream_LITERAL.add(name);
rc=(Token)input.LT(1);
- match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_reference1042); if (failed) return retval;
+ match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_reference1044); if (failed) return retval;
if ( backtracking==0 ) stream_RIGHT_CURLY.add(rc);
if ( backtracking==0 ) {
@@ -2227,10 +2221,10 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 224:2: -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) VT_SPACE
+ // 218:2: -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) VT_SPACE
if (hasSpaceBefore && hasSpaceAfter) {
adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
- // DSLMap.g:224:49: ^( VT_VAR_REF $name)
+ // DSLMap.g:218:49: ^( VT_VAR_REF $name)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_REF, "VT_VAR_REF"), root_1);
@@ -2242,10 +2236,10 @@
adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
}
- else // 225:2: -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name)
+ else // 219:2: -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name)
if (hasSpaceBefore && !hasSpaceAfter) {
adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
- // DSLMap.g:225:50: ^( VT_VAR_REF $name)
+ // DSLMap.g:219:50: ^( VT_VAR_REF $name)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_REF, "VT_VAR_REF"), root_1);
@@ -2256,9 +2250,9 @@
}
}
- else // 226:2: -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_REF $name) VT_SPACE
+ else // 220:2: -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_REF $name) VT_SPACE
if (!hasSpaceBefore && hasSpaceAfter) {
- // DSLMap.g:226:42: ^( VT_VAR_REF $name)
+ // DSLMap.g:220:42: ^( VT_VAR_REF $name)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_REF, "VT_VAR_REF"), root_1);
@@ -2270,9 +2264,9 @@
adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
}
- else // 227:2: -> ^( VT_VAR_REF $name)
+ else // 221:2: -> ^( VT_VAR_REF $name)
{
- // DSLMap.g:227:6: ^( VT_VAR_REF $name)
+ // DSLMap.g:221:6: ^( VT_VAR_REF $name)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_REF, "VT_VAR_REF"), root_1);
@@ -2311,7 +2305,7 @@
};
// $ANTLR start variable_reference2
- // DSLMap.g:231:1: variable_reference2 : LEFT_CURLY name= LITERAL RIGHT_CURLY -> ^( VT_VAR_REF $name) ;
+ // DSLMap.g:225:1: variable_reference2 : LEFT_CURLY name= LITERAL RIGHT_CURLY -> ^( VT_VAR_REF $name) ;
public final variable_reference2_return variable_reference2() throws RecognitionException {
variable_reference2_return retval = new variable_reference2_return();
retval.start = input.LT(1);
@@ -2319,31 +2313,31 @@
Object root_0 = null;
Token name=null;
- Token LEFT_CURLY38=null;
- Token RIGHT_CURLY39=null;
+ Token LEFT_CURLY37=null;
+ Token RIGHT_CURLY38=null;
Object name_tree=null;
- Object LEFT_CURLY38_tree=null;
- Object RIGHT_CURLY39_tree=null;
+ Object LEFT_CURLY37_tree=null;
+ Object RIGHT_CURLY38_tree=null;
RewriteRuleTokenStream stream_RIGHT_CURLY=new RewriteRuleTokenStream(adaptor,"token RIGHT_CURLY");
RewriteRuleTokenStream stream_LITERAL=new RewriteRuleTokenStream(adaptor,"token LITERAL");
RewriteRuleTokenStream stream_LEFT_CURLY=new RewriteRuleTokenStream(adaptor,"token LEFT_CURLY");
try {
- // DSLMap.g:232:2: ( LEFT_CURLY name= LITERAL RIGHT_CURLY -> ^( VT_VAR_REF $name) )
- // DSLMap.g:232:4: LEFT_CURLY name= LITERAL RIGHT_CURLY
+ // DSLMap.g:226:2: ( LEFT_CURLY name= LITERAL RIGHT_CURLY -> ^( VT_VAR_REF $name) )
+ // DSLMap.g:226:4: LEFT_CURLY name= LITERAL RIGHT_CURLY
{
- LEFT_CURLY38=(Token)input.LT(1);
- match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_reference21120); if (failed) return retval;
- if ( backtracking==0 ) stream_LEFT_CURLY.add(LEFT_CURLY38);
+ LEFT_CURLY37=(Token)input.LT(1);
+ match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_reference21122); if (failed) return retval;
+ if ( backtracking==0 ) stream_LEFT_CURLY.add(LEFT_CURLY37);
name=(Token)input.LT(1);
- match(input,LITERAL,FOLLOW_LITERAL_in_variable_reference21124); if (failed) return retval;
+ match(input,LITERAL,FOLLOW_LITERAL_in_variable_reference21126); if (failed) return retval;
if ( backtracking==0 ) stream_LITERAL.add(name);
- RIGHT_CURLY39=(Token)input.LT(1);
- match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_reference21126); if (failed) return retval;
- if ( backtracking==0 ) stream_RIGHT_CURLY.add(RIGHT_CURLY39);
+ RIGHT_CURLY38=(Token)input.LT(1);
+ match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_reference21128); if (failed) return retval;
+ if ( backtracking==0 ) stream_RIGHT_CURLY.add(RIGHT_CURLY38);
// AST REWRITE
@@ -2358,9 +2352,9 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 233:2: -> ^( VT_VAR_REF $name)
+ // 227:2: -> ^( VT_VAR_REF $name)
{
- // DSLMap.g:233:5: ^( VT_VAR_REF $name)
+ // DSLMap.g:227:5: ^( VT_VAR_REF $name)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_REF, "VT_VAR_REF"), root_1);
@@ -2399,7 +2393,7 @@
};
// $ANTLR start condition_key
- // DSLMap.g:237:1: condition_key : {...}?value= LITERAL -> VT_CONDITION[$value] ;
+ // DSLMap.g:231:1: condition_key : {...}?value= LITERAL -> VT_CONDITION[$value] ;
public final condition_key_return condition_key() throws RecognitionException {
condition_key_return retval = new condition_key_return();
retval.start = input.LT(1);
@@ -2412,15 +2406,15 @@
RewriteRuleTokenStream stream_LITERAL=new RewriteRuleTokenStream(adaptor,"token LITERAL");
try {
- // DSLMap.g:238:2: ({...}?value= LITERAL -> VT_CONDITION[$value] )
- // DSLMap.g:238:4: {...}?value= LITERAL
+ // DSLMap.g:232:2: ({...}?value= LITERAL -> VT_CONDITION[$value] )
+ // DSLMap.g:232:4: {...}?value= LITERAL
{
if ( !(validateIdentifierKey("condition")||validateIdentifierKey("when")) ) {
if (backtracking>0) {failed=true; return retval;}
throw new FailedPredicateException(input, "condition_key", "validateIdentifierKey(\"condition\")||validateIdentifierKey(\"when\")");
}
value=(Token)input.LT(1);
- match(input,LITERAL,FOLLOW_LITERAL_in_condition_key1155); if (failed) return retval;
+ match(input,LITERAL,FOLLOW_LITERAL_in_condition_key1157); if (failed) return retval;
if ( backtracking==0 ) stream_LITERAL.add(value);
@@ -2435,7 +2429,7 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 239:2: -> VT_CONDITION[$value]
+ // 233:2: -> VT_CONDITION[$value]
{
adaptor.addChild(root_0, adaptor.create(VT_CONDITION, value));
@@ -2468,7 +2462,7 @@
};
// $ANTLR start consequence_key
- // DSLMap.g:242:1: consequence_key : {...}?value= LITERAL -> VT_CONSEQUENCE[$value] ;
+ // DSLMap.g:236:1: consequence_key : {...}?value= LITERAL -> VT_CONSEQUENCE[$value] ;
public final consequence_key_return consequence_key() throws RecognitionException {
consequence_key_return retval = new consequence_key_return();
retval.start = input.LT(1);
@@ -2481,15 +2475,15 @@
RewriteRuleTokenStream stream_LITERAL=new RewriteRuleTokenStream(adaptor,"token LITERAL");
try {
- // DSLMap.g:243:2: ({...}?value= LITERAL -> VT_CONSEQUENCE[$value] )
- // DSLMap.g:243:4: {...}?value= LITERAL
+ // DSLMap.g:237:2: ({...}?value= LITERAL -> VT_CONSEQUENCE[$value] )
+ // DSLMap.g:237:4: {...}?value= LITERAL
{
if ( !(validateIdentifierKey("consequence")||validateIdentifierKey("then")) ) {
if (backtracking>0) {failed=true; return retval;}
throw new FailedPredicateException(input, "consequence_key", "validateIdentifierKey(\"consequence\")||validateIdentifierKey(\"then\")");
}
value=(Token)input.LT(1);
- match(input,LITERAL,FOLLOW_LITERAL_in_consequence_key1178); if (failed) return retval;
+ match(input,LITERAL,FOLLOW_LITERAL_in_consequence_key1180); if (failed) return retval;
if ( backtracking==0 ) stream_LITERAL.add(value);
@@ -2504,7 +2498,7 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 244:2: -> VT_CONSEQUENCE[$value]
+ // 238:2: -> VT_CONSEQUENCE[$value]
{
adaptor.addChild(root_0, adaptor.create(VT_CONSEQUENCE, value));
@@ -2537,7 +2531,7 @@
};
// $ANTLR start keyword_key
- // DSLMap.g:247:1: keyword_key : {...}?value= LITERAL -> VT_KEYWORD[$value] ;
+ // DSLMap.g:241:1: keyword_key : {...}?value= LITERAL -> VT_KEYWORD[$value] ;
public final keyword_key_return keyword_key() throws RecognitionException {
keyword_key_return retval = new keyword_key_return();
retval.start = input.LT(1);
@@ -2550,15 +2544,15 @@
RewriteRuleTokenStream stream_LITERAL=new RewriteRuleTokenStream(adaptor,"token LITERAL");
try {
- // DSLMap.g:248:2: ({...}?value= LITERAL -> VT_KEYWORD[$value] )
- // DSLMap.g:248:4: {...}?value= LITERAL
+ // DSLMap.g:242:2: ({...}?value= LITERAL -> VT_KEYWORD[$value] )
+ // DSLMap.g:242:4: {...}?value= LITERAL
{
if ( !(validateIdentifierKey("keyword")) ) {
if (backtracking>0) {failed=true; return retval;}
throw new FailedPredicateException(input, "keyword_key", "validateIdentifierKey(\"keyword\")");
}
value=(Token)input.LT(1);
- match(input,LITERAL,FOLLOW_LITERAL_in_keyword_key1201); if (failed) return retval;
+ match(input,LITERAL,FOLLOW_LITERAL_in_keyword_key1203); if (failed) return retval;
if ( backtracking==0 ) stream_LITERAL.add(value);
@@ -2573,7 +2567,7 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 249:2: -> VT_KEYWORD[$value]
+ // 243:2: -> VT_KEYWORD[$value]
{
adaptor.addChild(root_0, adaptor.create(VT_KEYWORD, value));
@@ -2606,7 +2600,7 @@
};
// $ANTLR start any_key
- // DSLMap.g:252:1: any_key : {...}?value= LITERAL -> VT_ANY[$value] ;
+ // DSLMap.g:246:1: any_key : {...}?value= LITERAL -> VT_ANY[$value] ;
public final any_key_return any_key() throws RecognitionException {
any_key_return retval = new any_key_return();
retval.start = input.LT(1);
@@ -2619,15 +2613,15 @@
RewriteRuleTokenStream stream_LITERAL=new RewriteRuleTokenStream(adaptor,"token LITERAL");
try {
- // DSLMap.g:253:2: ({...}?value= LITERAL -> VT_ANY[$value] )
- // DSLMap.g:253:4: {...}?value= LITERAL
+ // DSLMap.g:247:2: ({...}?value= LITERAL -> VT_ANY[$value] )
+ // DSLMap.g:247:4: {...}?value= LITERAL
{
if ( !(validateIdentifierKey("*")) ) {
if (backtracking>0) {failed=true; return retval;}
throw new FailedPredicateException(input, "any_key", "validateIdentifierKey(\"*\")");
}
value=(Token)input.LT(1);
- match(input,LITERAL,FOLLOW_LITERAL_in_any_key1224); if (failed) return retval;
+ match(input,LITERAL,FOLLOW_LITERAL_in_any_key1226); if (failed) return retval;
if ( backtracking==0 ) stream_LITERAL.add(value);
@@ -2642,7 +2636,7 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 254:2: -> VT_ANY[$value]
+ // 248:2: -> VT_ANY[$value]
{
adaptor.addChild(root_0, adaptor.create(VT_ANY, value));
@@ -2730,7 +2724,7 @@
// DSLMap.g:133:4: ( literal )
// DSLMap.g:133:4: literal
{
- pushFollow(FOLLOW_literal_in_synpred12549);
+ pushFollow(FOLLOW_literal_in_synpred12551);
literal();
_fsp--;
if (failed) return ;
@@ -2744,7 +2738,7 @@
// DSLMap.g:151:5: ( literal )
// DSLMap.g:151:5: literal
{
- pushFollow(FOLLOW_literal_in_synpred15624);
+ pushFollow(FOLLOW_literal_in_synpred15626);
literal();
_fsp--;
if (failed) return ;
@@ -2758,7 +2752,7 @@
// DSLMap.g:151:13: ( EQUALS )
// DSLMap.g:151:13: EQUALS
{
- match(input,EQUALS,FOLLOW_EQUALS_in_synpred16626); if (failed) return ;
+ match(input,EQUALS,FOLLOW_EQUALS_in_synpred16628); if (failed) return ;
}
}
@@ -2769,7 +2763,7 @@
// DSLMap.g:151:20: ( COMMA )
// DSLMap.g:151:20: COMMA
{
- match(input,COMMA,FOLLOW_COMMA_in_synpred17628); if (failed) return ;
+ match(input,COMMA,FOLLOW_COMMA_in_synpred17630); if (failed) return ;
}
}
@@ -2777,10 +2771,10 @@
// $ANTLR start synpred23
public final void synpred23_fragment() throws RecognitionException {
- // DSLMap.g:200:13: ( literal )
- // DSLMap.g:200:13: literal
+ // DSLMap.g:199:13: ( literal )
+ // DSLMap.g:199:13: literal
{
- pushFollow(FOLLOW_literal_in_synpred23956);
+ pushFollow(FOLLOW_literal_in_synpred23958);
literal();
_fsp--;
if (failed) return ;
@@ -2791,15 +2785,15 @@
// $ANTLR start synpred25
public final void synpred25_fragment() throws RecognitionException {
- // DSLMap.g:202:13: ( LEFT_SQUARE pattern RIGHT_SQUARE )
- // DSLMap.g:202:13: LEFT_SQUARE pattern RIGHT_SQUARE
+ // DSLMap.g:201:13: ( LEFT_SQUARE pattern RIGHT_SQUARE )
+ // DSLMap.g:201:13: LEFT_SQUARE pattern RIGHT_SQUARE
{
- match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred25988); if (failed) return ;
- pushFollow(FOLLOW_pattern_in_synpred25990);
+ match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred25990); if (failed) return ;
+ pushFollow(FOLLOW_pattern_in_synpred25992);
pattern();
_fsp--;
if (failed) return ;
- match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_synpred25992); if (failed) return ;
+ match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_synpred25994); if (failed) return ;
}
}
@@ -2970,55 +2964,55 @@
public static final BitSet FOLLOW_LEFT_SQUARE_in_meta_section463 = new BitSet(new long[]{0x0000000003000000L});
public static final BitSet FOLLOW_LITERAL_in_meta_section465 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_RIGHT_SQUARE_in_meta_section468 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_key_sentence_in_key_section490 = new BitSet(new long[]{0x000000001B800002L});
- public static final BitSet FOLLOW_variable_definition_in_key_sentence521 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_key_chunk_in_key_sentence528 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_literal_in_key_chunk549 = new BitSet(new long[]{0x000000000B800002L});
- public static final BitSet FOLLOW_value_sentence_in_value_section564 = new BitSet(new long[]{0x000000001FC00002L});
- public static final BitSet FOLLOW_variable_reference_in_value_sentence595 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_value_chunk_in_value_sentence602 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_literal_in_value_chunk624 = new BitSet(new long[]{0x000000000FC00002L});
- public static final BitSet FOLLOW_EQUALS_in_value_chunk626 = new BitSet(new long[]{0x000000000FC00002L});
- public static final BitSet FOLLOW_COMMA_in_value_chunk628 = new BitSet(new long[]{0x000000000FC00002L});
- public static final BitSet FOLLOW_set_in_literal646 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LEFT_CURLY_in_variable_definition682 = new BitSet(new long[]{0x0000000002000000L});
- public static final BitSet FOLLOW_LITERAL_in_variable_definition693 = new BitSet(new long[]{0x0000000028000000L});
- public static final BitSet FOLLOW_COLON_in_variable_definition697 = new BitSet(new long[]{0x000000001B800000L});
- public static final BitSet FOLLOW_pattern_in_variable_definition701 = new BitSet(new long[]{0x0000000020000000L});
- public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_definition710 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LEFT_CURLY_in_variable_definition2886 = new BitSet(new long[]{0x0000000002000000L});
- public static final BitSet FOLLOW_LITERAL_in_variable_definition2890 = new BitSet(new long[]{0x0000000028000000L});
- public static final BitSet FOLLOW_COLON_in_variable_definition2894 = new BitSet(new long[]{0x000000001B800000L});
- public static final BitSet FOLLOW_pattern_in_variable_definition2898 = new BitSet(new long[]{0x0000000020000000L});
- public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_definition2905 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_literal_in_pattern956 = new BitSet(new long[]{0x000000001B800002L});
- public static final BitSet FOLLOW_LEFT_CURLY_in_pattern970 = new BitSet(new long[]{0x000000000B800000L});
- public static final BitSet FOLLOW_literal_in_pattern972 = new BitSet(new long[]{0x0000000020000000L});
- public static final BitSet FOLLOW_RIGHT_CURLY_in_pattern974 = new BitSet(new long[]{0x000000001B800002L});
- public static final BitSet FOLLOW_LEFT_SQUARE_in_pattern988 = new BitSet(new long[]{0x000000001B800000L});
- public static final BitSet FOLLOW_pattern_in_pattern990 = new BitSet(new long[]{0x0000000001000000L});
- public static final BitSet FOLLOW_RIGHT_SQUARE_in_pattern992 = new BitSet(new long[]{0x000000001B800002L});
- public static final BitSet FOLLOW_LEFT_CURLY_in_variable_reference1027 = new BitSet(new long[]{0x0000000002000000L});
- public static final BitSet FOLLOW_LITERAL_in_variable_reference1038 = new BitSet(new long[]{0x0000000020000000L});
- public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_reference1042 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LEFT_CURLY_in_variable_reference21120 = new BitSet(new long[]{0x0000000002000000L});
- public static final BitSet FOLLOW_LITERAL_in_variable_reference21124 = new BitSet(new long[]{0x0000000020000000L});
- public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_reference21126 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LITERAL_in_condition_key1155 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LITERAL_in_consequence_key1178 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LITERAL_in_keyword_key1201 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LITERAL_in_any_key1224 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_key_sentence_in_key_section492 = new BitSet(new long[]{0x000000001B800002L});
+ public static final BitSet FOLLOW_variable_definition_in_key_sentence523 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_key_chunk_in_key_sentence530 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_literal_in_key_chunk551 = new BitSet(new long[]{0x000000000B800002L});
+ public static final BitSet FOLLOW_value_sentence_in_value_section566 = new BitSet(new long[]{0x000000001FC00002L});
+ public static final BitSet FOLLOW_variable_reference_in_value_sentence597 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_value_chunk_in_value_sentence604 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_literal_in_value_chunk626 = new BitSet(new long[]{0x000000000FC00002L});
+ public static final BitSet FOLLOW_EQUALS_in_value_chunk628 = new BitSet(new long[]{0x000000000FC00002L});
+ public static final BitSet FOLLOW_COMMA_in_value_chunk630 = new BitSet(new long[]{0x000000000FC00002L});
+ public static final BitSet FOLLOW_set_in_literal648 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LEFT_CURLY_in_variable_definition684 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_LITERAL_in_variable_definition695 = new BitSet(new long[]{0x0000000028000000L});
+ public static final BitSet FOLLOW_COLON_in_variable_definition699 = new BitSet(new long[]{0x000000001B800000L});
+ public static final BitSet FOLLOW_pattern_in_variable_definition703 = new BitSet(new long[]{0x0000000020000000L});
+ public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_definition712 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LEFT_CURLY_in_variable_definition2888 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_LITERAL_in_variable_definition2892 = new BitSet(new long[]{0x0000000028000000L});
+ public static final BitSet FOLLOW_COLON_in_variable_definition2896 = new BitSet(new long[]{0x000000001B800000L});
+ public static final BitSet FOLLOW_pattern_in_variable_definition2900 = new BitSet(new long[]{0x0000000020000000L});
+ public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_definition2907 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_literal_in_pattern958 = new BitSet(new long[]{0x000000001B800002L});
+ public static final BitSet FOLLOW_LEFT_CURLY_in_pattern972 = new BitSet(new long[]{0x000000000B800000L});
+ public static final BitSet FOLLOW_literal_in_pattern974 = new BitSet(new long[]{0x0000000020000000L});
+ public static final BitSet FOLLOW_RIGHT_CURLY_in_pattern976 = new BitSet(new long[]{0x000000001B800002L});
+ public static final BitSet FOLLOW_LEFT_SQUARE_in_pattern990 = new BitSet(new long[]{0x000000001B800000L});
+ public static final BitSet FOLLOW_pattern_in_pattern992 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_RIGHT_SQUARE_in_pattern994 = new BitSet(new long[]{0x000000001B800002L});
+ public static final BitSet FOLLOW_LEFT_CURLY_in_variable_reference1029 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_LITERAL_in_variable_reference1040 = new BitSet(new long[]{0x0000000020000000L});
+ public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_reference1044 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LEFT_CURLY_in_variable_reference21122 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_LITERAL_in_variable_reference21126 = new BitSet(new long[]{0x0000000020000000L});
+ public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_reference21128 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LITERAL_in_condition_key1157 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LITERAL_in_consequence_key1180 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LITERAL_in_keyword_key1203 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LITERAL_in_any_key1226 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_meta_section_in_synpred4341 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_condition_key_in_synpred6392 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_consequence_key_in_synpred7401 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_keyword_key_in_synpred8409 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_literal_in_synpred12549 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_literal_in_synpred15624 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_EQUALS_in_synpred16626 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_COMMA_in_synpred17628 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_literal_in_synpred23956 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred25988 = new BitSet(new long[]{0x000000001B800000L});
- public static final BitSet FOLLOW_pattern_in_synpred25990 = new BitSet(new long[]{0x0000000001000000L});
- public static final BitSet FOLLOW_RIGHT_SQUARE_in_synpred25992 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_literal_in_synpred12551 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_literal_in_synpred15626 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_EQUALS_in_synpred16628 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_COMMA_in_synpred17630 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_literal_in_synpred23958 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred25990 = new BitSet(new long[]{0x000000001B800000L});
+ public static final BitSet FOLLOW_pattern_in_synpred25992 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_RIGHT_SQUARE_in_synpred25994 = new BitSet(new long[]{0x0000000000000002L});
}
\ No newline at end of file
Modified: labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapWalker.java
===================================================================
--- labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapWalker.java 2008-06-04 03:54:14 UTC (rev 20283)
+++ labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapWalker.java 2008-06-04 06:23:53 UTC (rev 20284)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0.1 DSLMapWalker.g 2008-05-22 16:02:42
+// $ANTLR 3.0.1 DSLMapWalker.g 2008-05-27 14:03:46
package org.drools.lang.dsl;
@@ -640,13 +640,13 @@
// DSLMapWalker.g:124:1: value_section : ^( VT_ENTRY_VAL ( value_sentence )+ ) ;
public final void value_section() throws RecognitionException {
try {
- // DSLMapWalker.g:125:2: ( ^( VT_ENTRY_VAL ( value_sentence )+ ) )
- // DSLMapWalker.g:125:4: ^( VT_ENTRY_VAL ( value_sentence )+ )
+ // DSLMapWalker.g:128:2: ( ^( VT_ENTRY_VAL ( value_sentence )+ ) )
+ // DSLMapWalker.g:128:4: ^( VT_ENTRY_VAL ( value_sentence )+ )
{
- match(input,VT_ENTRY_VAL,FOLLOW_VT_ENTRY_VAL_in_value_section269);
+ match(input,VT_ENTRY_VAL,FOLLOW_VT_ENTRY_VAL_in_value_section273);
match(input, Token.DOWN, null);
- // DSLMapWalker.g:125:19: ( value_sentence )+
+ // DSLMapWalker.g:128:19: ( value_sentence )+
int cnt11=0;
loop11:
do {
@@ -660,9 +660,9 @@
switch (alt11) {
case 1 :
- // DSLMapWalker.g:125:19: value_sentence
+ // DSLMapWalker.g:128:19: value_sentence
{
- pushFollow(FOLLOW_value_sentence_in_value_section271);
+ pushFollow(FOLLOW_value_sentence_in_value_section275);
value_sentence();
_fsp--;
@@ -687,6 +687,9 @@
}
+
+ ((entry_scope)entry_stack.peek()).valuebuffer.append(" ");
+
}
catch (RecognitionException re) {
reportError(re);
@@ -700,12 +703,12 @@
// $ANTLR start value_sentence
- // DSLMapWalker.g:131:1: value_sentence : ( variable_reference | vtl= VT_LITERAL | VT_SPACE );
+ // DSLMapWalker.g:134:1: value_sentence : ( variable_reference | vtl= VT_LITERAL | VT_SPACE );
public final void value_sentence() throws RecognitionException {
CommonTree vtl=null;
try {
- // DSLMapWalker.g:132:2: ( variable_reference | vtl= VT_LITERAL | VT_SPACE )
+ // DSLMapWalker.g:135:2: ( variable_reference | vtl= VT_LITERAL | VT_SPACE )
int alt12=3;
switch ( input.LA(1) ) {
case VT_VAR_REF:
@@ -725,16 +728,16 @@
break;
default:
NoViableAltException nvae =
- new NoViableAltException("131:1: value_sentence : ( variable_reference | vtl= VT_LITERAL | VT_SPACE );", 12, 0, input);
+ new NoViableAltException("134:1: value_sentence : ( variable_reference | vtl= VT_LITERAL | VT_SPACE );", 12, 0, input);
throw nvae;
}
switch (alt12) {
case 1 :
- // DSLMapWalker.g:132:4: variable_reference
+ // DSLMapWalker.g:135:4: variable_reference
{
- pushFollow(FOLLOW_variable_reference_in_value_sentence291);
+ pushFollow(FOLLOW_variable_reference_in_value_sentence295);
variable_reference();
_fsp--;
@@ -742,10 +745,10 @@
}
break;
case 2 :
- // DSLMapWalker.g:133:4: vtl= VT_LITERAL
+ // DSLMapWalker.g:136:4: vtl= VT_LITERAL
{
vtl=(CommonTree)input.LT(1);
- match(input,VT_LITERAL,FOLLOW_VT_LITERAL_in_value_sentence298);
+ match(input,VT_LITERAL,FOLLOW_VT_LITERAL_in_value_sentence302);
//System.out.println("in value_sentence, literal is " + vtl.getText());
((entry_scope)entry_stack.peek()).valuebuffer.append(vtl.getText());
@@ -754,9 +757,9 @@
}
break;
case 3 :
- // DSLMapWalker.g:138:4: VT_SPACE
+ // DSLMapWalker.g:141:4: VT_SPACE
{
- match(input,VT_SPACE,FOLLOW_VT_SPACE_in_value_sentence306);
+ match(input,VT_SPACE,FOLLOW_VT_SPACE_in_value_sentence310);
((entry_scope)entry_stack.peek()).valuebuffer.append(" ");
@@ -778,17 +781,19 @@
// $ANTLR start literal
- // DSLMapWalker.g:148:1: literal : theliteral= VT_LITERAL ;
+ // DSLMapWalker.g:151:1: literal : theliteral= VT_LITERAL ;
public final void literal() throws RecognitionException {
CommonTree theliteral=null;
try {
- // DSLMapWalker.g:149:2: (theliteral= VT_LITERAL )
- // DSLMapWalker.g:149:4: theliteral= VT_LITERAL
+ // DSLMapWalker.g:152:2: (theliteral= VT_LITERAL )
+ // DSLMapWalker.g:152:4: theliteral= VT_LITERAL
{
theliteral=(CommonTree)input.LT(1);
- match(input,VT_LITERAL,FOLLOW_VT_LITERAL_in_literal326);
- //System.out.println("theliteral is " + theliteral.getText());
+ match(input,VT_LITERAL,FOLLOW_VT_LITERAL_in_literal330);
+
+ //System.out.println("theliteral is " + theliteral.getText());
+
}
@@ -805,21 +810,21 @@
// $ANTLR start variable_definition
- // DSLMapWalker.g:153:1: variable_definition : ^( VT_VAR_DEF varname= LITERAL (pattern= VT_PATTERN )? ) ;
+ // DSLMapWalker.g:159:1: variable_definition : ^( VT_VAR_DEF varname= LITERAL (pattern= VT_PATTERN )? ) ;
public final void variable_definition() throws RecognitionException {
CommonTree varname=null;
CommonTree pattern=null;
try {
- // DSLMapWalker.g:155:2: ( ^( VT_VAR_DEF varname= LITERAL (pattern= VT_PATTERN )? ) )
- // DSLMapWalker.g:155:6: ^( VT_VAR_DEF varname= LITERAL (pattern= VT_PATTERN )? )
+ // DSLMapWalker.g:161:2: ( ^( VT_VAR_DEF varname= LITERAL (pattern= VT_PATTERN )? ) )
+ // DSLMapWalker.g:161:6: ^( VT_VAR_DEF varname= LITERAL (pattern= VT_PATTERN )? )
{
- match(input,VT_VAR_DEF,FOLLOW_VT_VAR_DEF_in_variable_definition345);
+ match(input,VT_VAR_DEF,FOLLOW_VT_VAR_DEF_in_variable_definition351);
match(input, Token.DOWN, null);
varname=(CommonTree)input.LT(1);
- match(input,LITERAL,FOLLOW_LITERAL_in_variable_definition349);
- // DSLMapWalker.g:155:42: (pattern= VT_PATTERN )?
+ match(input,LITERAL,FOLLOW_LITERAL_in_variable_definition355);
+ // DSLMapWalker.g:161:42: (pattern= VT_PATTERN )?
int alt13=2;
int LA13_0 = input.LA(1);
@@ -828,10 +833,10 @@
}
switch (alt13) {
case 1 :
- // DSLMapWalker.g:155:42: pattern= VT_PATTERN
+ // DSLMapWalker.g:161:42: pattern= VT_PATTERN
{
pattern=(CommonTree)input.LT(1);
- match(input,VT_PATTERN,FOLLOW_VT_PATTERN_in_variable_definition353);
+ match(input,VT_PATTERN,FOLLOW_VT_PATTERN_in_variable_definition359);
}
break;
@@ -862,21 +867,21 @@
// $ANTLR start variable_reference
- // DSLMapWalker.g:165:1: variable_reference : ^(varref= VT_VAR_REF lit= LITERAL ) ;
+ // DSLMapWalker.g:171:1: variable_reference : ^(varref= VT_VAR_REF lit= LITERAL ) ;
public final void variable_reference() throws RecognitionException {
CommonTree varref=null;
CommonTree lit=null;
try {
- // DSLMapWalker.g:166:2: ( ^(varref= VT_VAR_REF lit= LITERAL ) )
- // DSLMapWalker.g:166:4: ^(varref= VT_VAR_REF lit= LITERAL )
+ // DSLMapWalker.g:172:2: ( ^(varref= VT_VAR_REF lit= LITERAL ) )
+ // DSLMapWalker.g:172:4: ^(varref= VT_VAR_REF lit= LITERAL )
{
varref=(CommonTree)input.LT(1);
- match(input,VT_VAR_REF,FOLLOW_VT_VAR_REF_in_variable_reference375);
+ match(input,VT_VAR_REF,FOLLOW_VT_VAR_REF_in_variable_reference381);
match(input, Token.DOWN, null);
lit=(CommonTree)input.LT(1);
- match(input,LITERAL,FOLLOW_LITERAL_in_variable_reference379);
+ match(input,LITERAL,FOLLOW_LITERAL_in_variable_reference385);
match(input, Token.UP, null);
@@ -899,13 +904,13 @@
// $ANTLR start condition_key
- // DSLMapWalker.g:173:1: condition_key : VT_CONDITION ;
+ // DSLMapWalker.g:179:1: condition_key : VT_CONDITION ;
public final void condition_key() throws RecognitionException {
try {
- // DSLMapWalker.g:174:2: ( VT_CONDITION )
- // DSLMapWalker.g:174:4: VT_CONDITION
+ // DSLMapWalker.g:180:2: ( VT_CONDITION )
+ // DSLMapWalker.g:180:4: VT_CONDITION
{
- match(input,VT_CONDITION,FOLLOW_VT_CONDITION_in_condition_key397);
+ match(input,VT_CONDITION,FOLLOW_VT_CONDITION_in_condition_key403);
((entry_scope)entry_stack.peek()).retval.setSection(DSLMappingEntry.CONDITION);
}
@@ -923,13 +928,13 @@
// $ANTLR start consequence_key
- // DSLMapWalker.g:178:1: consequence_key : VT_CONSEQUENCE ;
+ // DSLMapWalker.g:184:1: consequence_key : VT_CONSEQUENCE ;
public final void consequence_key() throws RecognitionException {
try {
- // DSLMapWalker.g:179:2: ( VT_CONSEQUENCE )
- // DSLMapWalker.g:179:4: VT_CONSEQUENCE
+ // DSLMapWalker.g:185:2: ( VT_CONSEQUENCE )
+ // DSLMapWalker.g:185:4: VT_CONSEQUENCE
{
- match(input,VT_CONSEQUENCE,FOLLOW_VT_CONSEQUENCE_in_consequence_key412);
+ match(input,VT_CONSEQUENCE,FOLLOW_VT_CONSEQUENCE_in_consequence_key418);
((entry_scope)entry_stack.peek()).retval.setSection(DSLMappingEntry.CONSEQUENCE);
}
@@ -947,13 +952,13 @@
// $ANTLR start keyword_key
- // DSLMapWalker.g:183:1: keyword_key : VT_KEYWORD ;
+ // DSLMapWalker.g:189:1: keyword_key : VT_KEYWORD ;
public final void keyword_key() throws RecognitionException {
try {
- // DSLMapWalker.g:184:2: ( VT_KEYWORD )
- // DSLMapWalker.g:184:4: VT_KEYWORD
+ // DSLMapWalker.g:190:2: ( VT_KEYWORD )
+ // DSLMapWalker.g:190:4: VT_KEYWORD
{
- match(input,VT_KEYWORD,FOLLOW_VT_KEYWORD_in_keyword_key427);
+ match(input,VT_KEYWORD,FOLLOW_VT_KEYWORD_in_keyword_key433);
((entry_scope)entry_stack.peek()).retval.setSection(DSLMappingEntry.KEYWORD);
}
@@ -971,13 +976,13 @@
// $ANTLR start any_key
- // DSLMapWalker.g:188:1: any_key : VT_ANY ;
+ // DSLMapWalker.g:194:1: any_key : VT_ANY ;
public final void any_key() throws RecognitionException {
try {
- // DSLMapWalker.g:189:2: ( VT_ANY )
- // DSLMapWalker.g:189:4: VT_ANY
+ // DSLMapWalker.g:195:2: ( VT_ANY )
+ // DSLMapWalker.g:195:4: VT_ANY
{
- match(input,VT_ANY,FOLLOW_VT_ANY_in_any_key442);
+ match(input,VT_ANY,FOLLOW_VT_ANY_in_any_key448);
((entry_scope)entry_stack.peek()).retval.setSection(DSLMappingEntry.ANY);
}
@@ -1018,20 +1023,20 @@
public static final BitSet FOLLOW_variable_definition_in_key_sentence234 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VT_LITERAL_in_key_sentence241 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VT_SPACE_in_key_sentence250 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_VT_ENTRY_VAL_in_value_section269 = new BitSet(new long[]{0x0000000000000004L});
- public static final BitSet FOLLOW_value_sentence_in_value_section271 = new BitSet(new long[]{0x00000000000B0008L});
- public static final BitSet FOLLOW_variable_reference_in_value_sentence291 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_VT_LITERAL_in_value_sentence298 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_VT_SPACE_in_value_sentence306 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_VT_LITERAL_in_literal326 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_VT_VAR_DEF_in_variable_definition345 = new BitSet(new long[]{0x0000000000000004L});
- public static final BitSet FOLLOW_LITERAL_in_variable_definition349 = new BitSet(new long[]{0x0000000000040008L});
- public static final BitSet FOLLOW_VT_PATTERN_in_variable_definition353 = new BitSet(new long[]{0x0000000000000008L});
- public static final BitSet FOLLOW_VT_VAR_REF_in_variable_reference375 = new BitSet(new long[]{0x0000000000000004L});
- public static final BitSet FOLLOW_LITERAL_in_variable_reference379 = new BitSet(new long[]{0x0000000000000008L});
- public static final BitSet FOLLOW_VT_CONDITION_in_condition_key397 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_VT_CONSEQUENCE_in_consequence_key412 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_VT_KEYWORD_in_keyword_key427 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_VT_ANY_in_any_key442 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_VT_ENTRY_VAL_in_value_section273 = new BitSet(new long[]{0x0000000000000004L});
+ public static final BitSet FOLLOW_value_sentence_in_value_section275 = new BitSet(new long[]{0x00000000000B0008L});
+ public static final BitSet FOLLOW_variable_reference_in_value_sentence295 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_VT_LITERAL_in_value_sentence302 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_VT_SPACE_in_value_sentence310 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_VT_LITERAL_in_literal330 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_VT_VAR_DEF_in_variable_definition351 = new BitSet(new long[]{0x0000000000000004L});
+ public static final BitSet FOLLOW_LITERAL_in_variable_definition355 = new BitSet(new long[]{0x0000000000040008L});
+ public static final BitSet FOLLOW_VT_PATTERN_in_variable_definition359 = new BitSet(new long[]{0x0000000000000008L});
+ public static final BitSet FOLLOW_VT_VAR_REF_in_variable_reference381 = new BitSet(new long[]{0x0000000000000004L});
+ public static final BitSet FOLLOW_LITERAL_in_variable_reference385 = new BitSet(new long[]{0x0000000000000008L});
+ public static final BitSet FOLLOW_VT_CONDITION_in_condition_key403 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_VT_CONSEQUENCE_in_consequence_key418 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_VT_KEYWORD_in_keyword_key433 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_VT_ANY_in_any_key448 = new BitSet(new long[]{0x0000000000000002L});
}
\ No newline at end of file
Modified: labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLTokenizedMappingFile.java
===================================================================
--- labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLTokenizedMappingFile.java 2008-06-04 03:54:14 UTC (rev 20283)
+++ labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DSLTokenizedMappingFile.java 2008-06-04 06:23:53 UTC (rev 20284)
@@ -56,7 +56,7 @@
DSLMapParser parser = new DSLMapParser(tokens);
DSLMapParser.statement_return example = parser.statement();
CommonTree tree = (CommonTree) example.getTree();
- System.out.println(tree.toStringTree());
+ //System.out.println(tree.toStringTree());
CommonTreeNodeStream nodes = new CommonTreeNodeStream(tree);
DSLMapWalker walker = new DSLMapWalker(nodes);
Modified: labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java
===================================================================
--- labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java 2008-06-04 03:54:14 UTC (rev 20283)
+++ labs/jbossrules/branches/mattgeis/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java 2008-06-04 06:23:53 UTC (rev 20284)
@@ -228,11 +228,11 @@
// expand the expression
for ( final Iterator it = this.condition.iterator(); it.hasNext(); ) {
final DSLMappingEntry entry = (DSLMappingEntry) it.next();
- System.out.println("toExpand, st: " + expanded[lastExpanded] + "|");
- System.out.println("kp: " + entry.getKeyPattern());
- System.out.println("vp: " + entry.getValuePattern());
- System.out.println("matches?: " + entry.getKeyPattern().matcher(expanded[lastExpanded]).matches());
- expanded[lastExpanded] = entry.getKeyPattern().matcher( expanded[lastExpanded] ).replaceAll( entry.getValuePattern() );
+ String vp = entry.getValuePattern();
+// System.out.println("toExpand, st: " + expanded[lastExpanded] + "|");
+// System.out.println("kp: " + entry.getKeyPattern());
+// System.out.println("vp: " + vp);
+ expanded[lastExpanded] = entry.getKeyPattern().matcher(expanded[lastExpanded]).replaceAll(vp);
}
// do we need to report errors for that?
Added: labs/jbossrules/branches/mattgeis/drools-compiler/src/test/java/org/drools/lang/dsl/ANTLRDSLTest.java
===================================================================
--- labs/jbossrules/branches/mattgeis/drools-compiler/src/test/java/org/drools/lang/dsl/ANTLRDSLTest.java (rev 0)
+++ labs/jbossrules/branches/mattgeis/drools-compiler/src/test/java/org/drools/lang/dsl/ANTLRDSLTest.java 2008-06-04 06:23:53 UTC (rev 20284)
@@ -0,0 +1,49 @@
+package org.drools.lang.dsl;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.Iterator;
+
+import junit.framework.TestCase;
+
+public class ANTLRDSLTest extends TestCase {
+
+ public ANTLRDSLTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ public void testMe() throws Exception{
+ DSLTokenizedMappingFile tokenizedFile = null;
+ final String filename = "test_antlr.dsl";
+ final Reader reader = new InputStreamReader( this.getClass().getResourceAsStream( filename ) );
+ tokenizedFile = new DSLTokenizedMappingFile();
+ tokenizedFile.parseAndLoad( reader );
+ reader.close();
+ for (Iterator it = tokenizedFile.getMapping().getEntries().iterator(); it.hasNext();) {
+ DSLMappingEntry entry = (DSLMappingEntry) it.next();
+// System.out.println("ENTRY: " + entry.getKeyPattern() + " ::::: " + entry.getValuePattern());
+ }
+
+ DefaultExpander ex = new DefaultExpander();
+ ex.addDSLMapping( tokenizedFile.getMapping() );
+
+ System.err.println(ex.expand( "rule 'x' \n when \n address is present where name is \"foo\" and age is \"32\" \n then \n end" ));
+ }
+
+ public void testSimple() throws Exception{
+ String input = "u : User() and exists (a: Address( where name is \"foo\" and age is \"32\" ) from u.addresses)";
+ String pattern = "(\\W|^)where\\s+([\\S]+)\\s+is \"(.*?)\"(\\W|$)";
+ java.util.regex.Pattern p = java.util.regex.Pattern.compile(pattern);
+ java.util.regex.Matcher m = p.matcher(input);
+ System.out.println("SIMPLE MATCHER matches: " + m.matches());
+ }
+
+}
Property changes on: labs/jbossrules/branches/mattgeis/drools-compiler/src/test/java/org/drools/lang/dsl/ANTLRDSLTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: labs/jbossrules/branches/mattgeis/drools-compiler/src/test/java/org/drools/lang/dsl/DSLTokenizedMappingFileTest.java
===================================================================
--- labs/jbossrules/branches/mattgeis/drools-compiler/src/test/java/org/drools/lang/dsl/DSLTokenizedMappingFileTest.java 2008-06-04 03:54:14 UTC (rev 20283)
+++ labs/jbossrules/branches/mattgeis/drools-compiler/src/test/java/org/drools/lang/dsl/DSLTokenizedMappingFileTest.java 2008-06-04 06:23:53 UTC (rev 20284)
@@ -65,7 +65,7 @@
assertEquals( "(\\W|^)ATTRIBUTE \"(.*?)\" IS IN [(.*?)](\\W|$)",
entry.getKeyPattern().toString() );
//Attribute( {attr} in ({list}) )
- assertEquals( "Attribute( $2 in ($3) )",
+ assertEquals( "Attribute( $2 in ($3) ) ",
entry.getValuePattern() );
} catch ( final IOException e ) {
@@ -100,7 +100,7 @@
assertEquals( "(\\W|^)ATTRIBUTE \"(.*?)\" IS IN \\[(.*?)\\](\\W|$)",
entry.getKeyPattern().toString() );
//Attribute( {attr} in ({list}) )
- assertEquals( "Attribute( $2 in ($3) )",
+ assertEquals( "Attribute( $2 in ($3) ) ",
entry.getValuePattern() );
} catch ( final IOException e ) {
@@ -133,7 +133,7 @@
final String ruleAfterExpansion = de.expand(rule);
- final String expected = "rule \"x\"\nwhen\nAAAA( cd1 == 1041, cd2 != ( 1034 + 1035 ))\nthen\nSystem.out.println(\"DO_SOMETHING\");\nend\n";
+ final String expected = "rule \"x\"\nwhen\nAAAA( cd1 == 1041, cd2 != ( 1034 + 1035 )) \nthen\nSystem.out.println(\"DO_SOMETHING\"); \nend\n";
assertEquals( expected, ruleAfterExpansion );
@@ -168,7 +168,7 @@
entry.getMetaData() );
assertEquals( "(\\W|^)something:\\=(.*?)$",
entry.getKeyPattern().toString() );
- assertEquals( "Attribute( something == \"$2\" )",
+ assertEquals( "Attribute( something == \"$2\" ) ",
entry.getMappingValue() );
} catch ( final IOException e ) {
Modified: labs/jbossrules/branches/mattgeis/drools-compiler/src/test/java/org/drools/lang/dsl/DefaultExpanderTest.java
===================================================================
--- labs/jbossrules/branches/mattgeis/drools-compiler/src/test/java/org/drools/lang/dsl/DefaultExpanderTest.java 2008-06-04 03:54:14 UTC (rev 20283)
+++ labs/jbossrules/branches/mattgeis/drools-compiler/src/test/java/org/drools/lang/dsl/DefaultExpanderTest.java 2008-06-04 06:23:53 UTC (rev 20284)
@@ -12,15 +12,21 @@
public class DefaultExpanderTest extends TestCase {
private DSLMappingFile file = null;
+ private DSLTokenizedMappingFile tokenizedFile = null;
private DefaultExpander expander = null;
protected void setUp() throws Exception {
final String filename = "test_metainfo.dsl";
final Reader reader = new InputStreamReader( this.getClass().getResourceAsStream( filename ) );
this.file = new DSLMappingFile();
+ this.tokenizedFile = new DSLTokenizedMappingFile();
this.file.parseAndLoad( reader );
reader.close();
-
+
+ final Reader reader2 = new InputStreamReader( this.getClass().getResourceAsStream( filename ) );
+ this.tokenizedFile.parseAndLoad(reader2);
+ reader2.close();
+
this.expander = new DefaultExpander();
super.setUp();
@@ -34,12 +40,23 @@
this.expander.addDSLMapping( this.file.getMapping() );
// should not raise any exception
}
+
+ public void testANTLRAddDSLMapping() {
+ this.expander.addDSLMapping( this.tokenizedFile.getMapping() );
+ // should not raise any exception
+ }
public void testRegexp() throws Exception {
this.expander.addDSLMapping( this.file.getMapping() );
final Reader rules = new InputStreamReader( this.getClass().getResourceAsStream( "test_expansion.dslr" ) );
final String result = this.expander.expand( rules );
}
+
+ public void testANTLRRegexp() throws Exception {
+ this.expander.addDSLMapping( this.tokenizedFile.getMapping() );
+ final Reader rules = new InputStreamReader( this.getClass().getResourceAsStream( "test_expansion.dslr" ) );
+ final String result = this.expander.expand( rules );
+ }
public void testExpandParts() throws Exception {
@@ -54,6 +71,18 @@
System.err.println(ex.expand( "rule 'x' \n when \n foo \n then \n end" ));
}
+ public void testANTLRExpandParts() throws Exception {
+ DSLTokenizedMappingFile file = new DSLTokenizedMappingFile();
+ String dsl = "[when]foo=Foo()\n[then]bar {num}=baz({num});";
+ file.parseAndLoad( new StringReader( dsl ) );
+ assertEquals( 0,
+ file.getErrors().size() );
+ DefaultExpander ex = new DefaultExpander();
+ ex.addDSLMapping( file.getMapping() );
+
+ System.err.println(ex.expand( "rule 'x' \n when \n foo \n then \n end" ));
+ }
+
public void testExpandFailure() throws Exception {
DSLMappingFile file = new DSLMappingFile();
@@ -79,7 +108,33 @@
ex.getErrors().size() );
//System.err.println(( (ExpanderException) ex.getErrors().get( 0 )).getMessage());
}
+
+ public void testANTLRExpandFailure() throws Exception {
+ DSLTokenizedMappingFile file = new DSLTokenizedMappingFile();
+ String dsl = "[when]foo=Foo()\n[then]bar {num}=baz({num});";
+ file.parseAndLoad( new StringReader( dsl ) );
+ assertEquals( 0,
+ file.getErrors().size() );
+
+ DefaultExpander ex = new DefaultExpander();
+ ex.addDSLMapping( file.getMapping() );
+ String source = "rule 'q'\nagenda-group 'x'\nwhen\n foo \nthen\n bar 42\nend";
+ String drl = ex.expand( source );
+ assertFalse( ex.hasErrors() );
+
+ ex = new DefaultExpander();
+ ex.addDSLMapping( file.getMapping() );
+
+ source = "rule 'q' agenda-group 'x'\nwhen\n foos \nthen\n bar 42\n end";
+ drl = ex.expand( source );
+ //System.out.println( drl );
+ assertTrue( ex.hasErrors() );
+ assertEquals( 1,
+ ex.getErrors().size() );
+ //System.err.println(( (ExpanderException) ex.getErrors().get( 0 )).getMessage());
+ }
+
public void testExpandWithKeywordClashes() throws Exception {
DSLMappingFile file = new DSLMappingFile();
@@ -99,8 +154,28 @@
assertEquals( expected, drl );
}
+
+ public void testANTLRExpandWithKeywordClashes() throws Exception {
+ DSLTokenizedMappingFile file = new DSLTokenizedMappingFile();
+ String dsl = "[when]Invoke rule executor=ruleExec: RuleExecutor()\n" + "[then]Execute rule \"{id}\"=ruleExec.ExecuteSubRule( new Long({id}));";
+ file.parseAndLoad( new StringReader( dsl ) );
+ assertEquals( 0,
+ file.getErrors().size() );
+ DefaultExpander ex = new DefaultExpander();
+ ex.addDSLMapping( file.getMapping() );
+ String source = "package something;\n\nrule \"1\"\nwhen\n Invoke rule executor\nthen\n Execute rule \"5\"\nend";
+ String expected = "package something;\n\nrule \"1\"\nwhen\n ruleExec: RuleExecutor() \nthen\n ruleExec.ExecuteSubRule( new Long(5)); \nend\n";
+ String drl = ex.expand( source );
+// System.out.println("["+drl+"]" );
+// System.out.println("["+expected+"]" );
+ assertFalse( ex.hasErrors() );
+ assertEquals( expected, drl );
+
+ }
+
+
public void testLineNumberError() throws Exception {
DSLMappingFile file = new DSLMappingFile();
String dsl = "[when]foo=Foo()\n[then]bar {num}=baz({num});";
@@ -122,6 +197,27 @@
}
+ public void testANTLRLineNumberError() throws Exception {
+ DSLTokenizedMappingFile file = new DSLTokenizedMappingFile();
+ String dsl = "[when]foo=Foo()\n[then]bar {num}=baz({num});";
+ file.parseAndLoad( new StringReader( dsl ) );
+
+ DefaultExpander ex = new DefaultExpander();
+ ex.addDSLMapping( file.getMapping() );
+ String source = "rule 'q'\nagenda-group 'x'\nwhen\n __ \nthen\n bar 42\n\tgoober\nend";
+ ex.expand( source );
+ assertTrue( ex.hasErrors() );
+ assertEquals( 2,
+ ex.getErrors().size() );
+ ExpanderException err = (ExpanderException) ex.getErrors().get( 0 );
+ assertEquals( 4,
+ err.getLine() );
+ err = (ExpanderException) ex.getErrors().get( 1 );
+ assertEquals( 7,
+ err.getLine() );
+
+ }
+
private boolean equalsIgnoreWhiteSpace( String expected, String actual ) {
String patternStr = expected.replaceAll( "\\s+", "(\\\\s|\\\\n|\\\\r)*" );//.replaceAll( "\\n", "\\s*\\$" );
Pattern pattern = Pattern.compile( patternStr, Pattern.DOTALL );
Added: labs/jbossrules/branches/mattgeis/drools-compiler/src/test/resources/org/drools/lang/dsl/test_antlr.dsl
===================================================================
--- labs/jbossrules/branches/mattgeis/drools-compiler/src/test/resources/org/drools/lang/dsl/test_antlr.dsl (rev 0)
+++ labs/jbossrules/branches/mattgeis/drools-compiler/src/test/resources/org/drools/lang/dsl/test_antlr.dsl 2008-06-04 06:23:53 UTC (rev 20284)
@@ -0,0 +1,37 @@
+#This is a sample DSL for a ficticous E-Commerce website that is building a recommendation engine
+
+
+[condition][]address is present where {constraints}=u : User() and exists (a: Address( where {constraints}) from u.addresses)
+[condition][]where {attr:[A-Za-z0-9]+} is "{value}"= {attr} == "{value}"
+[condition][]and {attr:[A-Za-z0-9]+} is "{value}"= , {attr} == "{value}"
+#[keyword][*]regra {atributos} faça {rhs} se {lhs} fim=rule {atributos} \\n when\\n {lhs}\\n then\\n {rhs}\\n end
+#[keyword][*]consulta=query
+#[keyword][]fim=end
+#[when][woolfel.ecommerce.model.Customer]the Customer=cust : Customer()
+#[when][woolfel.ecommerce.model.Customer]- has an email=emailAddress != null
+#[when][woolfel.ecommerce.model.Customer]- first name is "{first}"=first == "{first}"
+#[when][woolfel.ecommerce.model.Customer]- last name is "{surname}"=sname: surname == "{surname}"
+#[when][woolfel.ecommerce.model.CustomerProfile]a User profile=userprof : CustomerProfile(prfid : profileId)
+#[when][woolfel.ecommerce.model.Response]the Response=resp : Response()
+#[when][woolfel.ecommerce.model.Response]- is empty=userId == usrid, recommendation == null
+#[when][woolfel.ecommerce.model.Response]- is not empty=userId == usrid, recommendation != null
+#[when][woolfel.ecommerce.model.Response]- matches the user=userId == userid
+#[when][woolfel.ecommerce.model.Aggregate]an aggregate=aggr : Aggregate()
+#[when][woolfel.ecommerce.model.Recommendation]the recommendation where=recm : Recommendation()
+#[when][woolfel.ecommerce.model.Recommendation]- the profile is found=profileId == prfid
+#[when][woolfel.ecommerce.model.Product]the Product=prod : Product()
+#[when][woolfel.ecommerce.model.Product]- store is "{store}"=storeCategory == "{store}"
+#[when][woolfel.ecommerce.model.Product]- shop category is "{shopcat}"=shopCategory == "{shopcat}"
+#[when][woolfel.ecommerce.model.Product]- category is "{prodcat}"=productCategory == "{prodcat}"
+#[when][woolfel.ecommerce.model.Product]- subcategory is "{subcat}"=subProductCategory == "{subcat}"
+#[when][woolfel.ecommerce.model.Product]- manufacturer is "{manufac}"=manufacturer == "{manufac}"
+#[when][woolfel.ecommerce.model.Product]- SKU is equal to "{sku}"=SKU == "{sku}"
+#[when][woolfel.ecommerce.model.Order]the Order where=ordr : Order()
+#[when][woolfel.ecommerce.model.Order]- shipping method is "{shipmethod}"=shippingMethod == "{shipmethod}"
+#[when][woolfel.ecommerce.model.Order]- has more than {items}=cartItems > {items}
+#[when][woolfel.ecommerce.model.Order]- has coupons=coupons != null
+#[then][woolfel.ecommerce.model.Recommendation]return the recommendation=resp.setRecommendation(recm);
+#[then][]Log "{msg}"=System.out.println("{msg}");
+#[when][]but not=not
+#[when][woolfel.ecommerce.model.Customer]- last name is not "{surname}"=surname != "{surname}"
+#[then][*]Show last name=System.out.println(cust.getSurname());
More information about the jboss-svn-commits
mailing list