diff --git a/src/org/rascalmpl/library/ParseTree.rsc b/src/org/rascalmpl/library/ParseTree.rsc index 5b758a71401..7027f02cdb9 100644 --- a/src/org/rascalmpl/library/ParseTree.rsc +++ b/src/org/rascalmpl/library/ParseTree.rsc @@ -145,7 +145,6 @@ extend List; extend Set; import String; -import IO; import Node; @synopsis{The Tree data type as produced by the parser.} @@ -401,6 +400,7 @@ catch ParseError(loc l): { } ``` } + &T<:Tree parse(type[&T<:Tree] begin, str input, bool allowAmbiguity=false, bool allowRecovery=false, bool hasSideEffects=false, set[Tree(Tree)] filters={}) = parser(begin, allowAmbiguity=allowAmbiguity, allowRecovery=allowRecovery, hasSideEffects=hasSideEffects, filters=filters)(input, |unknown:///|); diff --git a/src/org/rascalmpl/library/Prelude.java b/src/org/rascalmpl/library/Prelude.java index 855199dc21e..d53a449cbfa 100644 --- a/src/org/rascalmpl/library/Prelude.java +++ b/src/org/rascalmpl/library/Prelude.java @@ -2381,6 +2381,10 @@ public IFunction parser(IValue start, IBool allowAmbiguity, IBool allowRecovery return rascalValues.parser(start, allowAmbiguity, allowRecovery, hasSideEffects, values.bool(false), filters); } + public IFunction parser(IValue start, IBool allowAmbiguity, IBool hasSideEffects, ISet filters) { + return rascalValues.parser(start, allowAmbiguity, values.bool(false), hasSideEffects, values.bool(false), filters); + } + public IFunction firstAmbiguityFinder(IValue start, IBool allowRecovery, IBool hasSideEffects, ISet filters) { return rascalValues.parser(start, values.bool(true), allowRecovery, hasSideEffects, values.bool(true), filters); } diff --git a/src/org/rascalmpl/parser/gtd/SGTDBF.java b/src/org/rascalmpl/parser/gtd/SGTDBF.java index ff10fdaf444..333eff83004 100755 --- a/src/org/rascalmpl/parser/gtd/SGTDBF.java +++ b/src/org/rascalmpl/parser/gtd/SGTDBF.java @@ -951,7 +951,7 @@ private void queueMatchableNode(AbstractStackNode
node, int length, AbstractN terminalsTodo.push(node, result); } - /** + /** * Inserts a recovery node into the todoList, and possibly * rewinds the parser to an earlier location in the input */ @@ -1043,7 +1043,7 @@ private boolean handleExpects(AbstractStackNode
[] expects, EdgesSet
cached first = first.getCleanCopyWithResult(location, result); queueMatchableNode(first, length, result); - }else{ + } else { first = first.getCleanCopy(location); stacksToExpand.push(first); }