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