From 9be1ab9b8db4cdc8450cfa3bbc6fb2b060d32ded Mon Sep 17 00:00:00 2001
From: Jens Bendisposto <jens@bendisposto.de>
Date: Wed, 14 Mar 2012 13:54:07 +0100
Subject: [PATCH] Slurping for Parenthesis

---
 src/main/resources/org/sablecc/sablecc/parser.txt | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/org/sablecc/sablecc/parser.txt b/src/main/resources/org/sablecc/sablecc/parser.txt
index c91e7af..51046dc 100644
--- a/src/main/resources/org/sablecc/sablecc/parser.txt
+++ b/src/main/resources/org/sablecc/sablecc/parser.txt
@@ -55,8 +55,12 @@ public class Parser implements IParser
     private Map<PositionedNode, SourcecodeRange> mapping = new HashMap<PositionedNode, SourcecodeRange>();    
     public Map<PositionedNode, SourcecodeRange> getMapping() { 	return this.mapping; }
 
+   private void checkResult(Object elementToCheck) {
+       checkResult(elementToCheck, false);
+   }
+
 	@SuppressWarnings("unchecked")
-	private void checkResult(Object elementToCheck) {
+	private void checkResult(Object elementToCheck, boolean slurp) {
 		// nodes with no tokens or sub nodes at all may exist
 		if (this.firstPopped == null) {
 			return;
@@ -85,7 +89,7 @@ public class Parser implements IParser
 							+ elementToCheck);
 		}
 
-		if (!this.getMapping().containsKey(elementToCheck)) {
+		if (!this.getMapping().containsKey(elementToCheck) || slurp ) {
 			final PositionedNode node = (PositionedNode) elementToCheck;
 
 			// dealing with a one-token element
-- 
GitLab