[jboss-svn-commits] JBL Code SVN: r36182 - labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Dec 3 02:00:23 EST 2010
Author: laune
Date: 2010-12-03 02:00:22 -0500 (Fri, 03 Dec 2010)
New Revision: 36182
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/AntlrDSLMappingEntry.java
Log:
fix incorrect counting of capturing groups
fix boundary test (space vs. non-word)
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/AntlrDSLMappingEntry.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/AntlrDSLMappingEntry.java 2010-12-03 06:54:39 UTC (rev 36181)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/AntlrDSLMappingEntry.java 2010-12-03 07:00:22 UTC (rev 36182)
@@ -75,7 +75,7 @@
if ( !keyPattern.startsWith( "^" ) ) {
// making it start with a space char or a line start
- keyPattern = "(\\W|^)" + keyPattern;
+ keyPattern = "(\\s|^)" + keyPattern;
// adding a dummy variable due to index shift
getVariables().put( HEAD_TAG,
Integer.valueOf( 0 ) );
@@ -87,7 +87,7 @@
if ( keyPattern.endsWith( "(.*?)" ) ) {
keyPattern += "$";
} else {
- keyPattern += "(\\W|$)";
+ keyPattern += "(\\s|$)";
getVariables().put( TAIL_TAG,
Integer.valueOf( 1 ) );
tailMatchGroupAdded = true;
@@ -135,7 +135,8 @@
i++;
break;
case '(' :
- counter++;
+ // All groups starting with "(?" are non-capturing.
+ if( i == input.length - 1 || input[i+1] != '?' ) counter++;
break;
case '{' :
if ( insideCurly ) {
More information about the jboss-svn-commits
mailing list