You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2024/08/29 12:07:24 UTC

(jena) branch gh2518-cdt updated (94f0a79054 -> 08576c6280)

This is an automated email from the ASF dual-hosted git repository.

andy pushed a change to branch gh2518-cdt
in repository https://gitbox.apache.org/repos/asf/jena.git


    from 94f0a79054 Code tidy
     new b0f9792d88 Fix white space and deprecation warnings
     new f0ebba0d06 Fix multiple declarations of Unfold()
     new 08576c6280 Reconstruct parsers for javacc version

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 jena-arq/Grammar/CDTs/.gitignore                   |    3 +
 jena-arq/Grammar/CDTs/{generate => cdt-literals}   |   10 +-
 jena-arq/Grammar/arq.jj                            |    1 -
 jena-arq/Grammar/main.jj                           |   14 -
 jena-arq/Grammar/sparql_12.jj                      |   20 +
 jena-arq/Grammar/sparql_12.txt                     |    1 +
 .../apache/jena/cdt/parser/CDTLiteralParser.java   |  499 +-
 .../cdt/parser/CDTLiteralParserTokenManager.java   |  414 +-
 .../org/apache/jena/cdt/parser/JavaCharStream.java |  155 +-
 .../org/apache/jena/cdt/parser/ParseException.java |   48 +-
 .../java/org/apache/jena/cdt/parser/Token.java     |    7 +-
 .../org/apache/jena/cdt/parser/TokenMgrError.java  |   36 +-
 .../jena/riot/system/CDTAwareParserProfile.java    |  170 +-
 .../library/cdt/CDTLiteralFunctionUtils.java       |    6 +-
 .../org/apache/jena/sparql/lang/arq/ARQParser.java | 4750 +++++++++++---------
 .../apache/jena/sparql/lang/arq/ARQParserBase.java |   18 +-
 .../sparql/lang/arq/ARQParserTokenManager.java     |  832 ++--
 .../jena/sparql/lang/arq/ParseException.java       |   48 +-
 .../jena/sparql/lang/arq/SimpleCharStream.java     |   21 +-
 .../org/apache/jena/sparql/lang/arq/Token.java     |    7 +-
 .../apache/jena/sparql/lang/arq/TokenMgrError.java |   36 +-
 .../jena/sparql/lang/sparql_12/JavaCharStream.java |   81 +-
 .../jena/sparql/lang/sparql_12/SPARQLParser12.java |  495 +-
 .../lang/sparql_12/SPARQLParser12TokenManager.java |   93 +-
 .../service/enhancer/impl/util/BindingUtils.java   |    4 +-
 25 files changed, 4370 insertions(+), 3399 deletions(-)
 create mode 100644 jena-arq/Grammar/CDTs/.gitignore
 rename jena-arq/Grammar/CDTs/{generate => cdt-literals} (88%)


(jena) 01/03: Fix white space and deprecation warnings

Posted by an...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch gh2518-cdt
in repository https://gitbox.apache.org/repos/asf/jena.git

commit b0f9792d885ca5576c67f3a5d8c1e9e6f6c7db9c
Author: Andy Seaborne <an...@apache.org>
AuthorDate: Thu Aug 29 12:44:09 2024 +0100

    Fix white space and deprecation warnings
---
 .../jena/riot/system/CDTAwareParserProfile.java    | 170 +++++++++++----------
 .../service/enhancer/impl/util/BindingUtils.java   |   4 +-
 2 files changed, 89 insertions(+), 85 deletions(-)

diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/CDTAwareParserProfile.java b/jena-arq/src/main/java/org/apache/jena/riot/system/CDTAwareParserProfile.java
index 660b0c2580..1deaa592d9 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/CDTAwareParserProfile.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/CDTAwareParserProfile.java
@@ -45,88 +45,92 @@ import org.apache.jena.sparql.util.Context;
  */
 public class CDTAwareParserProfile extends ParserProfileStd {
 
-	public CDTAwareParserProfile( final FactoryRDF factory,
-	                              final ErrorHandler errorHandler,
-	                              final IRIxResolver resolver,
-	                              final PrefixMap prefixMap,
-	                              final Context context,
-	                              final boolean checking,
-	                              final boolean strictMode ) {
-		super(factory, errorHandler, resolver, prefixMap, context, checking, strictMode);
-	}
-
-	@Override
-	public Node createTypedLiteral( final String lex, final RDFDatatype datatype, final long line, final long col ) {
-		// cdt:List and cdt:Map literals need to be treated in a special way
-		// because we need to construct their value by parsing them using this
-		// same parser profile; this is necessary to make sure that blank node
-		// identifiers inside the lexical forms of multiple of these literals
-		// within the same file are all mapped to the same blank node, and so
-		// are all blank node identifers that occur directly in the file (i.e.,
-		// ourside of CDT literals).
-
-		if ( datatype.equals(CompositeDatatypeList.type) ) {
-			return createListLiteral(lex);
-		}
-
-		if ( datatype.equals(CompositeDatatypeMap.type) ) {
-			return createMapLiteral(lex);
-		}
-
-		return super.createTypedLiteral(lex, datatype, line, col);
-	}
-
-	protected Node createListLiteral( final String lex ) {
-		// Attention: In contrast to the overridden createTypedLiteral function
-		// in the superclass, for literals of the CDT datatypes we do not perform
-		// a checkLiteral check because that would parse the lexical form of the
-		// literal already once before doing the other parse to obtain the value.
-
-		// parse the given lexical form using this same parser profile
-		final List<CDTValue> value;
-		try {
-			value = ParserForCDTLiterals.parseListLiteral(this, lex);
-		}
-		catch ( final Exception ex ) {
-			throw new DatatypeFormatException(lex, CompositeDatatypeList.type, ex);
-		}
-
-		// At this point we have both the lexical form (which, after the
-		// parsing, we now know is well formed) and the corresponding value
-		// of the literal. We create a LiteralLabel with both of them, for
-		// the following reasons.
-		// If we were to create the LiteralLabel with the lexical form only,
-		// then the LiteralLabel implementation would parse that lexical form
-		// again, which gives us an unnecessary performance penalty (in
-		// particular for huge lists).
-		// If we were to create the LiteralLabel with the value only, then the
-		// LiteralLabel implementation would reproduce the lexical form, which
-		// may not be identical to the lexical form with which we have created
-		// the value here. The issue with that is that a SAMETERM comparison
-		// would incorrectly return false.
-		final LiteralLabel ll = LiteralLabelFactory.createIncludingValue(lex, value, CompositeDatatypeList.type);
-		return NodeFactory.createLiteral(ll);
-	}
-
-	protected Node createMapLiteral( final String lex ) {
-		// Attention: In contrast to the overridden createTypedLiteral function
-		// in the superclass, for literals of the CDT datatypes we do not perform
-		// a checkLiteral check because that would parse the lexical form of the
-		// literal already once before doing the other parse to obtain the value.
-
-		// parse the given lexical form using this same parser profile
-		final Map<CDTKey,CDTValue> value;
-		try {
-			value = ParserForCDTLiterals.parseMapLiteral(this, lex);
-		}
-		catch ( final Exception ex ) {
-			throw new DatatypeFormatException(lex, CompositeDatatypeMap.type, ex);
-		}
-
-		// We create a LiteralLabel with both the lexical form and the value,
-		// for the same reasons as described above in createListLiteral().
-		final LiteralLabel ll = LiteralLabelFactory.createIncludingValue(lex, value, CompositeDatatypeMap.type);
-		return NodeFactory.createLiteral(ll);
-	}
+    public CDTAwareParserProfile( final FactoryRDF factory,
+                                  final ErrorHandler errorHandler,
+                                  final IRIxResolver resolver,
+                                  final PrefixMap prefixMap,
+                                  final Context context,
+                                  final boolean checking,
+                                  final boolean strictMode ) {
+        super(factory, errorHandler, resolver, prefixMap, context, checking, strictMode);
+    }
+
+    @Override
+    public Node createTypedLiteral( final String lex, final RDFDatatype datatype, final long line, final long col ) {
+        // cdt:List and cdt:Map literals need to be treated in a special way
+        // because we need to construct their value by parsing them using this
+        // same parser profile; this is necessary to make sure that blank node
+        // identifiers inside the lexical forms of multiple of these literals
+        // within the same file are all mapped to the same blank node, and so
+        // are all blank node identifers that occur directly in the file (i.e.,
+        // ourside of CDT literals).
+
+        if ( datatype.equals(CompositeDatatypeList.type) ) {
+            return createListLiteral(lex);
+        }
+
+        if ( datatype.equals(CompositeDatatypeMap.type) ) {
+            return createMapLiteral(lex);
+        }
+
+        return super.createTypedLiteral(lex, datatype, line, col);
+    }
+
+    protected Node createListLiteral( final String lex ) {
+        // Attention: In contrast to the overridden createTypedLiteral function
+        // in the superclass, for literals of the CDT datatypes we do not perform
+        // a checkLiteral check because that would parse the lexical form of the
+        // literal already once before doing the other parse to obtain the value.
+
+        // parse the given lexical form using this same parser profile
+        final List<CDTValue> value;
+        try {
+            value = ParserForCDTLiterals.parseListLiteral(this, lex);
+        }
+        catch ( final Exception ex ) {
+            throw new DatatypeFormatException(lex, CompositeDatatypeList.type, ex);
+        }
+
+        // At this point we have both the lexical form (which, after the
+        // parsing, we now know is well formed) and the corresponding value
+        // of the literal. We create a LiteralLabel with both of them, for
+        // the following reasons.
+        // If we were to create the LiteralLabel with the lexical form only,
+        // then the LiteralLabel implementation would parse that lexical form
+        // again, which gives us an unnecessary performance penalty (in
+        // particular for huge lists).
+        // If we were to create the LiteralLabel with the value only, then the
+        // LiteralLabel implementation would reproduce the lexical form, which
+        // may not be identical to the lexical form with which we have created
+        // the value here. The issue with that is that a SAMETERM comparison
+        // would incorrectly return false.
+        final LiteralLabel ll = LiteralLabelFactory.createIncludingValue(lex, value, CompositeDatatypeList.type);
+        @SuppressWarnings("deprecation")
+        Node n = NodeFactory.createLiteral(ll);
+        return n;
+    }
+
+    protected Node createMapLiteral( final String lex ) {
+        // Attention: In contrast to the overridden createTypedLiteral function
+        // in the superclass, for literals of the CDT datatypes we do not perform
+        // a checkLiteral check because that would parse the lexical form of the
+        // literal already once before doing the other parse to obtain the value.
+
+        // parse the given lexical form using this same parser profile
+        final Map<CDTKey,CDTValue> value;
+        try {
+            value = ParserForCDTLiterals.parseMapLiteral(this, lex);
+        }
+        catch ( final Exception ex ) {
+            throw new DatatypeFormatException(lex, CompositeDatatypeMap.type, ex);
+        }
+
+        // We create a LiteralLabel with both the lexical form and the value,
+        // for the same reasons as described above in createListLiteral().
+        final LiteralLabel ll = LiteralLabelFactory.createIncludingValue(lex, value, CompositeDatatypeMap.type);
+        @SuppressWarnings("deprecation")
+        Node n = NodeFactory.createLiteral(ll);
+        return n;
+    }
 
 }
diff --git a/jena-extras/jena-serviceenhancer/src/main/java/org/apache/jena/sparql/service/enhancer/impl/util/BindingUtils.java b/jena-extras/jena-serviceenhancer/src/main/java/org/apache/jena/sparql/service/enhancer/impl/util/BindingUtils.java
index 5c7d32fc13..131d6e6665 100644
--- a/jena-extras/jena-serviceenhancer/src/main/java/org/apache/jena/sparql/service/enhancer/impl/util/BindingUtils.java
+++ b/jena-extras/jena-serviceenhancer/src/main/java/org/apache/jena/sparql/service/enhancer/impl/util/BindingUtils.java
@@ -52,12 +52,12 @@ public class BindingUtils {
 
     /** Return a new binding with all non-null-valued and non-excluded variables projected */
     public static Binding project(Binding binding, Iterator<Var> vars, Var exclusion) {
-        return project(binding, Iter.notFilter(vars, v -> Objects.equals(v, exclusion)));
+        return project(binding, Iter.filterDrop(vars, v -> Objects.equals(v, exclusion)));
     }
 
     /** Return a new binding with all non-null-valued and non-excluded variables projected */
     public static Binding project(Binding binding, Iterator<Var> vars, Set<Var> exclusions) {
-        return project(binding, Iter.notFilter(vars, exclusions::contains));
+        return project(binding, Iter.filterDrop(vars, exclusions::contains));
     }
 
     public static <C extends Collection<Var>> C addAll(C acc, Binding binding) {


(jena) 03/03: Reconstruct parsers for javacc version

Posted by an...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch gh2518-cdt
in repository https://gitbox.apache.org/repos/asf/jena.git

commit 08576c6280ac898cf298e7016a88c7131349bdec
Author: Andy Seaborne <an...@apache.org>
AuthorDate: Thu Aug 29 12:47:19 2024 +0100

    Reconstruct parsers for javacc version
---
 jena-arq/Grammar/CDTs/.gitignore                   |    3 +
 jena-arq/Grammar/CDTs/{generate => cdt-literals}   |   10 +-
 jena-arq/Grammar/arq.jj                            |    1 -
 jena-arq/Grammar/sparql_12.jj                      |   20 +
 jena-arq/Grammar/sparql_12.txt                     |    1 +
 .../apache/jena/cdt/parser/CDTLiteralParser.java   |  499 +-
 .../cdt/parser/CDTLiteralParserTokenManager.java   |  414 +-
 .../org/apache/jena/cdt/parser/JavaCharStream.java |  155 +-
 .../org/apache/jena/cdt/parser/ParseException.java |   48 +-
 .../java/org/apache/jena/cdt/parser/Token.java     |    7 +-
 .../org/apache/jena/cdt/parser/TokenMgrError.java  |   36 +-
 .../library/cdt/CDTLiteralFunctionUtils.java       |    6 +-
 .../org/apache/jena/sparql/lang/arq/ARQParser.java | 4750 +++++++++++---------
 .../apache/jena/sparql/lang/arq/ARQParserBase.java |   18 +-
 .../sparql/lang/arq/ARQParserTokenManager.java     |  832 ++--
 .../jena/sparql/lang/arq/ParseException.java       |   48 +-
 .../jena/sparql/lang/arq/SimpleCharStream.java     |   21 +-
 .../org/apache/jena/sparql/lang/arq/Token.java     |    7 +-
 .../apache/jena/sparql/lang/arq/TokenMgrError.java |   36 +-
 .../jena/sparql/lang/sparql_12/JavaCharStream.java |   81 +-
 .../jena/sparql/lang/sparql_12/SPARQLParser12.java |  495 +-
 .../lang/sparql_12/SPARQLParser12TokenManager.java |   93 +-
 22 files changed, 4281 insertions(+), 3300 deletions(-)

diff --git a/jena-arq/Grammar/CDTs/.gitignore b/jena-arq/Grammar/CDTs/.gitignore
new file mode 100644
index 0000000000..8488d4309d
--- /dev/null
+++ b/jena-arq/Grammar/CDTs/.gitignore
@@ -0,0 +1,3 @@
+cdt_literals-1.html
+cdt_literals-2.html
+cdt_literals.txt
diff --git a/jena-arq/Grammar/CDTs/generate b/jena-arq/Grammar/CDTs/cdt-literals
similarity index 88%
rename from jena-arq/Grammar/CDTs/generate
rename to jena-arq/Grammar/CDTs/cdt-literals
index 687b81f053..466b3342e6 100755
--- a/jena-arq/Grammar/CDTs/generate
+++ b/jena-arq/Grammar/CDTs/cdt-literals
@@ -56,10 +56,10 @@ sed -e 's/@SuppressWarnings("serial")//' \
     < $F > F
 mv F $F
 
-echo "---- Create HTML form ----"
-../jj2html ${FILE%%.jj}.txt '../tokens.txt' > ${FILE%%.jj}-1.html
-../grammarExtracts < ${FILE%%.jj}-1.html > ${FILE%%.jj}-2.html
-
-echo "Check X and Y for IRI_REF because \" became '"
+## echo "---- Create HTML form ----"
+## ../jj2html ${FILE%%.jj}.txt '../tokens.txt' > ${FILE%%.jj}-1.html
+## ../grammarExtracts < ${FILE%%.jj}-1.html > ${FILE%%.jj}-2.html
+## 
+## echo "Check X and Y for IRI_REF because \" became '"
 
 echo "---- Done"
diff --git a/jena-arq/Grammar/arq.jj b/jena-arq/Grammar/arq.jj
index 24f421a5d6..4ffca766a3 100644
--- a/jena-arq/Grammar/arq.jj
+++ b/jena-arq/Grammar/arq.jj
@@ -1844,7 +1844,6 @@ TOKEN [IGNORE_CASE] :
 | < SUBJECT: "SUBJECT" >
 | < PREDICATE: "PREDICATE" >
 | < OBJECT: "OBJECT" >
-| < UNFOLD: "unfold" >
 | < EXISTS: "exists" >
 | < NOT: "not" >
 | < AS: "as" >
diff --git a/jena-arq/Grammar/sparql_12.jj b/jena-arq/Grammar/sparql_12.jj
index 0073d7880b..0721fcac70 100644
--- a/jena-arq/Grammar/sparql_12.jj
+++ b/jena-arq/Grammar/sparql_12.jj
@@ -256,6 +256,26 @@ void OrderCondition() :
       else
           getQuery().addOrderBy(v, direction) ; }
 }
+SortCondition OrderConditionForAggregationFunction() :
+{ int direction = 0 ; Expr expr = null ; Node v = null ; }
+{
+  { direction = Query.ORDER_DEFAULT ; }
+  (
+    (
+      ( <ASC> { direction = Query.ORDER_ASCENDING ; }
+      | <DESC> { direction = Query.ORDER_DESCENDING ; } )
+      expr = BrackettedExpression()
+    )
+  |
+    ( expr = Constraint()
+    | v = Var()
+    )
+  )
+  { if ( v == null )
+          return new SortCondition(expr, direction) ;
+      else
+          return new SortCondition(v, direction) ; }
+}
 void LimitOffsetClauses() : { }
 {
   (
diff --git a/jena-arq/Grammar/sparql_12.txt b/jena-arq/Grammar/sparql_12.txt
index 98411b5f43..37243f6e7a 100644
--- a/jena-arq/Grammar/sparql_12.txt
+++ b/jena-arq/Grammar/sparql_12.txt
@@ -275,6 +275,7 @@ NON-TERMINALS
 	HavingCondition	:=	Constraint
 	OrderClause	:=	<ORDER> <BY> ( OrderCondition )+
 	OrderCondition	:=	( ( ( <ASC> | <DESC> ) BrackettedExpression ) | ( Constraint | Var ) )
+	OrderConditionForAggregationFunction	:=	( ( ( <ASC> | <DESC> ) BrackettedExpression ) | ( Constraint | Var ) )
 	LimitOffsetClauses	:=	( LimitClause ( OffsetClause )? | OffsetClause ( LimitClause )? )
 	LimitClause	:=	<LIMIT> <INTEGER>
 	OffsetClause	:=	<OFFSET> <INTEGER>
diff --git a/jena-arq/src/main/java/org/apache/jena/cdt/parser/CDTLiteralParser.java b/jena-arq/src/main/java/org/apache/jena/cdt/parser/CDTLiteralParser.java
index febae9906b..e72d78fa05 100644
--- a/jena-arq/src/main/java/org/apache/jena/cdt/parser/CDTLiteralParser.java
+++ b/jena-arq/src/main/java/org/apache/jena/cdt/parser/CDTLiteralParser.java
@@ -1,3 +1,4 @@
+/* CDTLiteralParser.java */
 /* Generated By:JavaCC: Do not edit this line. CDTLiteralParser.java */
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -32,10 +33,10 @@ import static org.apache.jena.riot.lang.extra.LangParserLib.*;
 public class CDTLiteralParser extends CDTLiteralParserBase implements CDTLiteralParserConstants {
 
 // --- Entry point for cdt:List literals
-  final public List<CDTValue> List() throws ParseException {
-                          List<CDTValue> l = new ArrayList<CDTValue>();
+  final public 
+List<CDTValue> List() throws ParseException {List<CDTValue> l = new ArrayList<CDTValue>();
     jj_consume_token(LBRACKET);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case TRUE:
     case FALSE:
     case INTEGER:
@@ -49,26 +50,28 @@ public class CDTLiteralParser extends CDTLiteralParserBase implements CDTLiteral
     case BLANK_NODE_LABEL:
     case NULL:
     case LBRACE:
-    case LBRACKET:
+    case LBRACKET:{
       NonEmptyListContent(l);
       break;
+      }
     default:
       jj_la1[0] = jj_gen;
       ;
     }
     jj_consume_token(RBRACKET);
-    {if (true) return l;}
+{if ("" != null) return l;}
     throw new Error("Missing return statement in function");
-  }
+}
 
   final public void NonEmptyListContent(List<CDTValue> l) throws ParseException {
     ListElement(l);
     label_1:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case COMMA:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case COMMA:{
         ;
         break;
+        }
       default:
         jj_la1[1] = jj_gen;
         break label_1;
@@ -76,61 +79,68 @@ public class CDTLiteralParser extends CDTLiteralParserBase implements CDTLiteral
       jj_consume_token(COMMA);
       ListElement(l);
     }
-  }
+}
 
-  final public void ListElement(List<CDTValue> l) throws ParseException {
-                                       String iri; Node n; List<CDTValue> subList; Map<CDTKey,CDTValue> m;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case IRIref:
+  final public void ListElement(List<CDTValue> l) throws ParseException {String iri; Node n; List<CDTValue> subList; Map<CDTKey,CDTValue> m;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case IRIref:{
       iri = IRI_REF();
-                          n = createURI(iri, token.beginLine, token.beginColumn);  l.add( CDTFactory.createValue(n) );
+n = createURI(iri, token.beginLine, token.beginColumn);  l.add( CDTFactory.createValue(n) );
       break;
-    case BLANK_NODE_LABEL:
+      }
+    case BLANK_NODE_LABEL:{
       n = BlankNode();
-                          l.add( CDTFactory.createValue(n) );
+l.add( CDTFactory.createValue(n) );
       break;
+      }
     case STRING_LITERAL1:
     case STRING_LITERAL2:
     case STRING_LITERAL_LONG1:
-    case STRING_LITERAL_LONG2:
+    case STRING_LITERAL_LONG2:{
       n = RDFLiteral();
-                          l.add( CDTFactory.createValue(n) );
+l.add( CDTFactory.createValue(n) );
       break;
+      }
     case INTEGER:
     case DECIMAL:
-    case DOUBLE:
+    case DOUBLE:{
       n = NumericLiteral();
-                          l.add( CDTFactory.createValue(n) );
+l.add( CDTFactory.createValue(n) );
       break;
+      }
     case TRUE:
-    case FALSE:
+    case FALSE:{
       n = BooleanLiteral();
-                          l.add( CDTFactory.createValue(n) );
+l.add( CDTFactory.createValue(n) );
       break;
-    case NULL:
+      }
+    case NULL:{
       jj_consume_token(NULL);
-                          l.add( CDTFactory.getNullValue() );
+l.add( CDTFactory.getNullValue() );
       break;
-    case LBRACKET:
+      }
+    case LBRACKET:{
       subList = List();
-                          l.add( CDTFactory.createValue(subList) );
+l.add( CDTFactory.createValue(subList) );
       break;
-    case LBRACE:
+      }
+    case LBRACE:{
       m = Map();
-                          l.add( CDTFactory.createValue(m) );
+l.add( CDTFactory.createValue(m) );
       break;
+      }
     default:
       jj_la1[2] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-  }
+}
 
 // --- Entry point for cdt:Map literals
-  final public Map<CDTKey,CDTValue> Map() throws ParseException {
-                               Map<CDTKey,CDTValue> m = new HashMap<CDTKey,CDTValue>();
+  final public 
+Map<CDTKey,CDTValue> Map() throws ParseException {Map<CDTKey,CDTValue> m = new HashMap<CDTKey,CDTValue>();
     jj_consume_token(LBRACE);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case TRUE:
     case FALSE:
     case INTEGER:
@@ -140,26 +150,28 @@ public class CDTLiteralParser extends CDTLiteralParserBase implements CDTLiteral
     case STRING_LITERAL2:
     case STRING_LITERAL_LONG1:
     case STRING_LITERAL_LONG2:
-    case IRIref:
+    case IRIref:{
       NonEmptyMapContent(m);
       break;
+      }
     default:
       jj_la1[3] = jj_gen;
       ;
     }
     jj_consume_token(RBRACE);
-    {if (true) return m;}
+{if ("" != null) return m;}
     throw new Error("Missing return statement in function");
-  }
+}
 
   final public void NonEmptyMapContent(Map<CDTKey,CDTValue> m) throws ParseException {
     MapEntry(m);
     label_2:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case COMMA:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case COMMA:{
         ;
         break;
+        }
       default:
         jj_la1[4] = jj_gen;
         break label_2;
@@ -167,219 +179,235 @@ public class CDTLiteralParser extends CDTLiteralParserBase implements CDTLiteral
       jj_consume_token(COMMA);
       MapEntry(m);
     }
-  }
+}
 
-  final public void MapEntry(Map<CDTKey,CDTValue> m) throws ParseException {
-                                          CDTKey key; CDTValue value;
+  final public void MapEntry(Map<CDTKey,CDTValue> m) throws ParseException {CDTKey key; CDTValue value;
     key = MapKey();
     jj_consume_token(COLON);
     value = MapValue();
-    final CDTValue oldValue = m.put(key, value);
+final CDTValue oldValue = m.put(key, value);
     if ( oldValue != null ) {if (true) throw new ParseException("map with non-unique key (" + key.toString() + ")");}
-  }
+}
 
-  final public CDTKey MapKey() throws ParseException {
-                    String iri; Node n;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case IRIref:
+  final public CDTKey MapKey() throws ParseException {String iri; Node n;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case IRIref:{
       iri = IRI_REF();
-                          n = createURI(iri, token.beginLine, token.beginColumn);  {if (true) return CDTFactory.createKey(n);}
+n = createURI(iri, token.beginLine, token.beginColumn);  {if ("" != null) return CDTFactory.createKey(n);}
       break;
+      }
     case STRING_LITERAL1:
     case STRING_LITERAL2:
     case STRING_LITERAL_LONG1:
-    case STRING_LITERAL_LONG2:
+    case STRING_LITERAL_LONG2:{
       n = RDFLiteral();
-                          {if (true) return CDTFactory.createKey(n);}
+{if ("" != null) return CDTFactory.createKey(n);}
       break;
+      }
     case INTEGER:
     case DECIMAL:
-    case DOUBLE:
+    case DOUBLE:{
       n = NumericLiteral();
-                          {if (true) return CDTFactory.createKey(n);}
+{if ("" != null) return CDTFactory.createKey(n);}
       break;
+      }
     case TRUE:
-    case FALSE:
+    case FALSE:{
       n = BooleanLiteral();
-                          {if (true) return CDTFactory.createKey(n);}
+{if ("" != null) return CDTFactory.createKey(n);}
       break;
+      }
     default:
       jj_la1[5] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public CDTValue MapValue() throws ParseException {
-                        String iri; Node n; List<CDTValue> subList; Map<CDTKey,CDTValue> m;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case IRIref:
+  final public CDTValue MapValue() throws ParseException {String iri; Node n; List<CDTValue> subList; Map<CDTKey,CDTValue> m;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case IRIref:{
       iri = IRI_REF();
-                          n = createURI(iri, token.beginLine, token.beginColumn);  {if (true) return CDTFactory.createValue(n);}
+n = createURI(iri, token.beginLine, token.beginColumn);  {if ("" != null) return CDTFactory.createValue(n);}
       break;
-    case BLANK_NODE_LABEL:
+      }
+    case BLANK_NODE_LABEL:{
       n = BlankNode();
-                          {if (true) return CDTFactory.createValue(n);}
+{if ("" != null) return CDTFactory.createValue(n);}
       break;
+      }
     case STRING_LITERAL1:
     case STRING_LITERAL2:
     case STRING_LITERAL_LONG1:
-    case STRING_LITERAL_LONG2:
+    case STRING_LITERAL_LONG2:{
       n = RDFLiteral();
-                          {if (true) return CDTFactory.createValue(n);}
+{if ("" != null) return CDTFactory.createValue(n);}
       break;
+      }
     case INTEGER:
     case DECIMAL:
-    case DOUBLE:
+    case DOUBLE:{
       n = NumericLiteral();
-                          {if (true) return CDTFactory.createValue(n);}
+{if ("" != null) return CDTFactory.createValue(n);}
       break;
+      }
     case TRUE:
-    case FALSE:
+    case FALSE:{
       n = BooleanLiteral();
-                          {if (true) return CDTFactory.createValue(n);}
+{if ("" != null) return CDTFactory.createValue(n);}
       break;
-    case NULL:
+      }
+    case NULL:{
       jj_consume_token(NULL);
-                          {if (true) return CDTFactory.getNullValue();}
+{if ("" != null) return CDTFactory.getNullValue();}
       break;
-    case LBRACKET:
+      }
+    case LBRACKET:{
       subList = List();
-                          {if (true) return CDTFactory.createValue(subList);}
+{if ("" != null) return CDTFactory.createValue(subList);}
       break;
-    case LBRACE:
+      }
+    case LBRACE:{
       m = Map();
-                          {if (true) return CDTFactory.createValue(m);}
+{if ("" != null) return CDTFactory.createValue(m);}
       break;
+      }
     default:
       jj_la1[6] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
 // ---- Basic terms
-  final public String IRI_REF() throws ParseException {
-                     Token t ;
+  final public 
+String IRI_REF() throws ParseException {Token t ;
     t = jj_consume_token(IRIref);
-    {if (true) return resolveQuotedIRI(t.image, t.beginLine, t.beginColumn) ;}
+{if ("" != null) return resolveQuotedIRI(t.image, t.beginLine, t.beginColumn) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node BlankNode() throws ParseException {
-                      Token t = null ;
+  final public Node BlankNode() throws ParseException {Token t = null ;
     t = jj_consume_token(BLANK_NODE_LABEL);
-    {if (true) return createBNode(t.image, t.beginLine, t.beginColumn);}
+{if ("" != null) return createBNode(t.image, t.beginLine, t.beginColumn);}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node NumericLiteral() throws ParseException {
-                          Token t ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case INTEGER:
+  final public Node NumericLiteral() throws ParseException {Token t ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case INTEGER:{
       t = jj_consume_token(INTEGER);
-                  {if (true) return createLiteralInteger(t.image, t.beginLine, t.beginColumn);}
+{if ("" != null) return createLiteralInteger(t.image, t.beginLine, t.beginColumn);}
       break;
-    case DECIMAL:
+      }
+    case DECIMAL:{
       t = jj_consume_token(DECIMAL);
-                  {if (true) return createLiteralDecimal(t.image, t.beginLine, t.beginColumn);}
+{if ("" != null) return createLiteralDecimal(t.image, t.beginLine, t.beginColumn);}
       break;
-    case DOUBLE:
+      }
+    case DOUBLE:{
       t = jj_consume_token(DOUBLE);
-                  {if (true) return createLiteralDouble(t.image, t.beginLine, t.beginColumn);}
+{if ("" != null) return createLiteralDouble(t.image, t.beginLine, t.beginColumn);}
       break;
+      }
     default:
       jj_la1[7] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
   final public Node BooleanLiteral() throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case TRUE:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case TRUE:{
       jj_consume_token(TRUE);
-            {if (true) return XSD_TRUE;}
+{if ("" != null) return XSD_TRUE;}
       break;
-    case FALSE:
+      }
+    case FALSE:{
       jj_consume_token(FALSE);
-             {if (true) return XSD_FALSE;}
+{if ("" != null) return XSD_FALSE;}
       break;
+      }
     default:
       jj_la1[8] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node RDFLiteral() throws ParseException {
-                      String lex = null ;
+  final public Node RDFLiteral() throws ParseException {String lex = null ;
     lex = String();
-    String lang = null ; String dt = null ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+String lang = null ; String dt = null ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case LANGTAG:
-    case DATATYPE:
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case LANGTAG:
+    case DATATYPE:{
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case LANGTAG:{
         lang = Langtag();
         break;
-      case DATATYPE:
+        }
+      case DATATYPE:{
         jj_consume_token(DATATYPE);
         dt = IRI_REF();
         break;
+        }
       default:
         jj_la1[9] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
       break;
+      }
     default:
       jj_la1[10] = jj_gen;
       ;
     }
-    {if (true) return createLiteral(lex, lang, dt, token.beginLine, token.beginColumn);}
+{if ("" != null) return createLiteral(lex, lang, dt, token.beginLine, token.beginColumn);}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public String Langtag() throws ParseException {
-                     Token t ;
+  final public String Langtag() throws ParseException {Token t ;
     t = jj_consume_token(LANGTAG);
-    String lang = stripChars(t.image, 1) ; {if (true) return lang ;}
+String lang = stripChars(t.image, 1) ; {if ("" != null) return lang ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public String String() throws ParseException {
-                    Token t ;  String lex ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case STRING_LITERAL1:
+  final public String String() throws ParseException {Token t ;  String lex ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case STRING_LITERAL1:{
       t = jj_consume_token(STRING_LITERAL1);
-                            lex = stripQuotes(t.image) ;
+lex = stripQuotes(t.image) ;
       break;
-    case STRING_LITERAL2:
+      }
+    case STRING_LITERAL2:{
       t = jj_consume_token(STRING_LITERAL2);
-                            lex = stripQuotes(t.image) ;
+lex = stripQuotes(t.image) ;
       break;
-    case STRING_LITERAL_LONG1:
+      }
+    case STRING_LITERAL_LONG1:{
       t = jj_consume_token(STRING_LITERAL_LONG1);
-                                 lex = stripQuotes3(t.image) ;
+lex = stripQuotes3(t.image) ;
       break;
-    case STRING_LITERAL_LONG2:
+      }
+    case STRING_LITERAL_LONG2:{
       t = jj_consume_token(STRING_LITERAL_LONG2);
-                                 lex = stripQuotes3(t.image) ;
+lex = stripQuotes3(t.image) ;
       break;
+      }
     default:
       jj_la1[11] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-      lex = unescapeStr(lex,  t.beginLine, t.beginColumn) ;
-      {if (true) return lex ;}
+lex = unescapeStr(lex,  t.beginLine, t.beginColumn) ;
+      {if ("" != null) return lex ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
   /** Generated Token Manager. */
   public CDTLiteralParserTokenManager token_source;
@@ -394,121 +422,129 @@ public class CDTLiteralParser extends CDTLiteralParserBase implements CDTLiteral
   static private int[] jj_la1_0;
   static private int[] jj_la1_1;
   static {
-      jj_la1_init_0();
-      jj_la1_init_1();
-   }
-   private static void jj_la1_init_0() {
-      jj_la1_0 = new int[] {0x2c6f0f80,0x80000000,0x2c6f0f80,0x2f0f80,0x80000000,0x2f0f80,0x2c6f0f80,0xe00,0x180,0x800000,0x800000,0xf0000,};
-   }
-   private static void jj_la1_init_1() {
-      jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0x0,};
-   }
+	   jj_la1_init_0();
+	   jj_la1_init_1();
+	}
+	private static void jj_la1_init_0() {
+	   jj_la1_0 = new int[] {0x2c6f0f80,0x80000000,0x2c6f0f80,0x2f0f80,0x80000000,0x2f0f80,0x2c6f0f80,0xe00,0x180,0x800000,0x800000,0xf0000,};
+	}
+	private static void jj_la1_init_1() {
+	   jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0x0,};
+	}
 
   /** Constructor with InputStream. */
   public CDTLiteralParser(java.io.InputStream stream) {
-     this(stream, null);
+	  this(stream, null);
   }
   /** Constructor with InputStream and supplied encoding */
   public CDTLiteralParser(java.io.InputStream stream, String encoding) {
-    try { jj_input_stream = new JavaCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
-    token_source = new CDTLiteralParserTokenManager(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 12; i++) jj_la1[i] = -1;
+	 try { jj_input_stream = new JavaCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
+	 token_source = new CDTLiteralParserTokenManager(jj_input_stream);
+	 token = new Token();
+	 jj_ntk = -1;
+	 jj_gen = 0;
+	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
   }
 
   /** Reinitialise. */
   public void ReInit(java.io.InputStream stream) {
-     ReInit(stream, null);
+	  ReInit(stream, null);
   }
   /** Reinitialise. */
   public void ReInit(java.io.InputStream stream, String encoding) {
-    try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
-    token_source.ReInit(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 12; i++) jj_la1[i] = -1;
+	 try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
+	 token_source.ReInit(jj_input_stream);
+	 token = new Token();
+	 jj_ntk = -1;
+	 jj_gen = 0;
+	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
   }
 
   /** Constructor. */
   public CDTLiteralParser(java.io.Reader stream) {
-    jj_input_stream = new JavaCharStream(stream, 1, 1);
-    token_source = new CDTLiteralParserTokenManager(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 12; i++) jj_la1[i] = -1;
+	 jj_input_stream = new JavaCharStream(stream, 1, 1);
+	 token_source = new CDTLiteralParserTokenManager(jj_input_stream);
+	 token = new Token();
+	 jj_ntk = -1;
+	 jj_gen = 0;
+	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
   }
 
   /** Reinitialise. */
   public void ReInit(java.io.Reader stream) {
-    jj_input_stream.ReInit(stream, 1, 1);
-    token_source.ReInit(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 12; i++) jj_la1[i] = -1;
+	if (jj_input_stream == null) {
+	   jj_input_stream = new JavaCharStream(stream, 1, 1);
+	} else {
+	   jj_input_stream.ReInit(stream, 1, 1);
+	}
+	if (token_source == null) {
+ token_source = new CDTLiteralParserTokenManager(jj_input_stream);
+	}
+
+	 token_source.ReInit(jj_input_stream);
+	 token = new Token();
+	 jj_ntk = -1;
+	 jj_gen = 0;
+	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
   }
 
   /** Constructor with generated Token Manager. */
   public CDTLiteralParser(CDTLiteralParserTokenManager tm) {
-    token_source = tm;
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 12; i++) jj_la1[i] = -1;
+	 token_source = tm;
+	 token = new Token();
+	 jj_ntk = -1;
+	 jj_gen = 0;
+	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
   }
 
   /** Reinitialise. */
   public void ReInit(CDTLiteralParserTokenManager tm) {
-    token_source = tm;
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 12; i++) jj_la1[i] = -1;
+	 token_source = tm;
+	 token = new Token();
+	 jj_ntk = -1;
+	 jj_gen = 0;
+	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
   }
 
   private Token jj_consume_token(int kind) throws ParseException {
-    Token oldToken;
-    if ((oldToken = token).next != null) token = token.next;
-    else token = token.next = token_source.getNextToken();
-    jj_ntk = -1;
-    if (token.kind == kind) {
-      jj_gen++;
-      return token;
-    }
-    token = oldToken;
-    jj_kind = kind;
-    throw generateParseException();
+	 Token oldToken;
+	 if ((oldToken = token).next != null) token = token.next;
+	 else token = token.next = token_source.getNextToken();
+	 jj_ntk = -1;
+	 if (token.kind == kind) {
+	   jj_gen++;
+	   return token;
+	 }
+	 token = oldToken;
+	 jj_kind = kind;
+	 throw generateParseException();
   }
 
 
 /** Get the next Token. */
   final public Token getNextToken() {
-    if (token.next != null) token = token.next;
-    else token = token.next = token_source.getNextToken();
-    jj_ntk = -1;
-    jj_gen++;
-    return token;
+	 if (token.next != null) token = token.next;
+	 else token = token.next = token_source.getNextToken();
+	 jj_ntk = -1;
+	 jj_gen++;
+	 return token;
   }
 
 /** Get the specific Token. */
   final public Token getToken(int index) {
-    Token t = token;
-    for (int i = 0; i < index; i++) {
-      if (t.next != null) t = t.next;
-      else t = t.next = token_source.getNextToken();
-    }
-    return t;
+	 Token t = token;
+	 for (int i = 0; i < index; i++) {
+	   if (t.next != null) t = t.next;
+	   else t = t.next = token_source.getNextToken();
+	 }
+	 return t;
   }
 
-  private int jj_ntk() {
-    if ((jj_nt=token.next) == null)
-      return (jj_ntk = (token.next=token_source.getNextToken()).kind);
-    else
-      return (jj_ntk = jj_nt.kind);
+  private int jj_ntk_f() {
+	 if ((jj_nt=token.next) == null)
+	   return (jj_ntk = (token.next=token_source.getNextToken()).kind);
+	 else
+	   return (jj_ntk = jj_nt.kind);
   }
 
   private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>();
@@ -517,36 +553,43 @@ public class CDTLiteralParser extends CDTLiteralParserBase implements CDTLiteral
 
   /** Generate ParseException. */
   public ParseException generateParseException() {
-    jj_expentries.clear();
-    boolean[] la1tokens = new boolean[40];
-    if (jj_kind >= 0) {
-      la1tokens[jj_kind] = true;
-      jj_kind = -1;
-    }
-    for (int i = 0; i < 12; i++) {
-      if (jj_la1[i] == jj_gen) {
-        for (int j = 0; j < 32; j++) {
-          if ((jj_la1_0[i] & (1<<j)) != 0) {
-            la1tokens[j] = true;
-          }
-          if ((jj_la1_1[i] & (1<<j)) != 0) {
-            la1tokens[32+j] = true;
-          }
-        }
-      }
-    }
-    for (int i = 0; i < 40; i++) {
-      if (la1tokens[i]) {
-        jj_expentry = new int[1];
-        jj_expentry[0] = i;
-        jj_expentries.add(jj_expentry);
-      }
-    }
-    int[][] exptokseq = new int[jj_expentries.size()][];
-    for (int i = 0; i < jj_expentries.size(); i++) {
-      exptokseq[i] = jj_expentries.get(i);
-    }
-    return new ParseException(token, exptokseq, tokenImage);
+	 jj_expentries.clear();
+	 boolean[] la1tokens = new boolean[40];
+	 if (jj_kind >= 0) {
+	   la1tokens[jj_kind] = true;
+	   jj_kind = -1;
+	 }
+	 for (int i = 0; i < 12; i++) {
+	   if (jj_la1[i] == jj_gen) {
+		 for (int j = 0; j < 32; j++) {
+		   if ((jj_la1_0[i] & (1<<j)) != 0) {
+			 la1tokens[j] = true;
+		   }
+		   if ((jj_la1_1[i] & (1<<j)) != 0) {
+			 la1tokens[32+j] = true;
+		   }
+		 }
+	   }
+	 }
+	 for (int i = 0; i < 40; i++) {
+	   if (la1tokens[i]) {
+		 jj_expentry = new int[1];
+		 jj_expentry[0] = i;
+		 jj_expentries.add(jj_expentry);
+	   }
+	 }
+	 int[][] exptokseq = new int[jj_expentries.size()][];
+	 for (int i = 0; i < jj_expentries.size(); i++) {
+	   exptokseq[i] = jj_expentries.get(i);
+	 }
+	 return new ParseException(token, exptokseq, tokenImage);
+  }
+
+  private boolean trace_enabled;
+
+/** Trace enabled. */
+  final public boolean trace_enabled() {
+	 return trace_enabled;
   }
 
   /** Enable tracing. */
diff --git a/jena-arq/src/main/java/org/apache/jena/cdt/parser/CDTLiteralParserTokenManager.java b/jena-arq/src/main/java/org/apache/jena/cdt/parser/CDTLiteralParserTokenManager.java
index 9f7b775c89..7541676cee 100644
--- a/jena-arq/src/main/java/org/apache/jena/cdt/parser/CDTLiteralParserTokenManager.java
+++ b/jena-arq/src/main/java/org/apache/jena/cdt/parser/CDTLiteralParserTokenManager.java
@@ -1,3 +1,4 @@
+/* CDTLiteralParserTokenManager.java */
 /* Generated By:JavaCC: Do not edit this line. CDTLiteralParserTokenManager.java */
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -27,8 +28,8 @@ import org.apache.jena.graph.Node;
 import static org.apache.jena.riot.lang.extra.LangParserLib.*;
 
 /** Token Manager. */
-public class CDTLiteralParserTokenManager implements CDTLiteralParserConstants
-{
+@SuppressWarnings ("unused")
+public class CDTLiteralParserTokenManager implements CDTLiteralParserConstants {
 
   /** Debug output. */
   public  java.io.PrintStream debugStream = System.out;
@@ -40,8 +41,7 @@ private int jjStopAtPos(int pos, int kind)
    jjmatchedPos = pos;
    return pos + 1;
 }
-private int jjMoveStringLiteralDfa0_0()
-{
+private int jjMoveStringLiteralDfa0_0(){
    switch(curChar)
    {
       case 9:
@@ -96,8 +96,7 @@ private int jjMoveStringLiteralDfa0_0()
          return jjMoveNfa_0(0, 0);
    }
 }
-private int jjMoveStringLiteralDfa1_0(long active0)
-{
+private int jjMoveStringLiteralDfa1_0(long active0){
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
    return jjMoveNfa_0(0, 0);
@@ -126,8 +125,7 @@ private int jjMoveStringLiteralDfa1_0(long active0)
    }
    return jjMoveNfa_0(0, 1);
 }
-private int jjMoveStringLiteralDfa2_0(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa2_0(long old0, long active0){
    if (((active0 &= old0)) == 0L)
       return jjMoveNfa_0(0, 1);
    try { curChar = input_stream.readChar(); }
@@ -149,8 +147,7 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0)
    }
    return jjMoveNfa_0(0, 2);
 }
-private int jjMoveStringLiteralDfa3_0(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa3_0(long old0, long active0){
    if (((active0 &= old0)) == 0L)
       return jjMoveNfa_0(0, 2);
    try { curChar = input_stream.readChar(); }
@@ -189,8 +186,7 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0)
    }
    return jjMoveNfa_0(0, 3);
 }
-private int jjMoveStringLiteralDfa4_0(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa4_0(long old0, long active0){
    if (((active0 &= old0)) == 0L)
       return jjMoveNfa_0(0, 3);
    try { curChar = input_stream.readChar(); }
@@ -284,22 +280,22 @@ private int jjMoveNfa_0(int startState, int curPos)
                   {
                      if (kind > 9)
                         kind = 9;
-                     jjCheckNAddStates(0, 7);
+                     { jjCheckNAddStates(0, 7); }
                   }
                   else if ((0x280000000000L & l) != 0L)
-                     jjCheckNAddStates(8, 12);
+                     { jjCheckNAddStates(8, 12); }
                   else if (curChar == 46)
-                     jjCheckNAddTwoStates(54, 56);
+                     { jjCheckNAddTwoStates(54, 56); }
                   else if (curChar == 60)
-                     jjCheckNAddTwoStates(37, 38);
+                     { jjCheckNAddTwoStates(37, 38); }
                   else if (curChar == 34)
                      jjstateSet[jjnewStateCnt++] = 34;
                   else if (curChar == 39)
                      jjstateSet[jjnewStateCnt++] = 22;
                   if (curChar == 34)
-                     jjCheckNAddStates(13, 15);
+                     { jjCheckNAddStates(13, 15); }
                   else if (curChar == 39)
-                     jjCheckNAddStates(16, 18);
+                     { jjCheckNAddStates(16, 18); }
                   break;
                case 1:
                   if ((0x8400000000L & l) != 0L && kind > 15)
@@ -307,15 +303,15 @@ private int jjMoveNfa_0(int startState, int curPos)
                   break;
                case 2:
                   if (curChar == 39)
-                     jjCheckNAddStates(16, 18);
+                     { jjCheckNAddStates(16, 18); }
                   break;
                case 3:
                   if ((0xffffff7fffffdbffL & l) != 0L)
-                     jjCheckNAddStates(16, 18);
+                     { jjCheckNAddStates(16, 18); }
                   break;
                case 5:
                   if ((0x8400000000L & l) != 0L)
-                     jjCheckNAddStates(16, 18);
+                     { jjCheckNAddStates(16, 18); }
                   break;
                case 6:
                   if (curChar == 39 && kind > 16)
@@ -323,15 +319,15 @@ private int jjMoveNfa_0(int startState, int curPos)
                   break;
                case 7:
                   if (curChar == 34)
-                     jjCheckNAddStates(13, 15);
+                     { jjCheckNAddStates(13, 15); }
                   break;
                case 8:
                   if ((0xfffffffbffffdbffL & l) != 0L)
-                     jjCheckNAddStates(13, 15);
+                     { jjCheckNAddStates(13, 15); }
                   break;
                case 10:
                   if ((0x8400000000L & l) != 0L)
-                     jjCheckNAddStates(13, 15);
+                     { jjCheckNAddStates(13, 15); }
                   break;
                case 11:
                   if (curChar == 34 && kind > 17)
@@ -339,25 +335,25 @@ private int jjMoveNfa_0(int startState, int curPos)
                   break;
                case 12:
                   if (curChar == 39)
-                     jjCheckNAddStates(19, 22);
+                     { jjCheckNAddStates(19, 22); }
                   break;
                case 13:
                case 17:
                   if ((0xffffff7fffffffffL & l) != 0L)
-                     jjCheckNAddStates(19, 22);
+                     { jjCheckNAddStates(19, 22); }
                   break;
                case 15:
                   if ((0x8400000000L & l) != 0L)
-                     jjCheckNAddStates(19, 22);
+                     { jjCheckNAddStates(19, 22); }
                   break;
                case 16:
                case 19:
                   if (curChar == 39)
-                     jjCheckNAdd(17);
+                     { jjCheckNAdd(17); }
                   break;
                case 18:
                   if (curChar == 39)
-                     jjAddStates(23, 24);
+                     { jjAddStates(23, 24); }
                   break;
                case 20:
                   if (curChar == 39 && kind > 18)
@@ -377,25 +373,25 @@ private int jjMoveNfa_0(int startState, int curPos)
                   break;
                case 24:
                   if (curChar == 34)
-                     jjCheckNAddStates(25, 28);
+                     { jjCheckNAddStates(25, 28); }
                   break;
                case 25:
                case 29:
                   if ((0xfffffffbffffffffL & l) != 0L)
-                     jjCheckNAddStates(25, 28);
+                     { jjCheckNAddStates(25, 28); }
                   break;
                case 27:
                   if ((0x8400000000L & l) != 0L)
-                     jjCheckNAddStates(25, 28);
+                     { jjCheckNAddStates(25, 28); }
                   break;
                case 28:
                case 31:
                   if (curChar == 34)
-                     jjCheckNAdd(29);
+                     { jjCheckNAdd(29); }
                   break;
                case 30:
                   if (curChar == 34)
-                     jjAddStates(29, 30);
+                     { jjAddStates(29, 30); }
                   break;
                case 32:
                   if (curChar == 34 && kind > 19)
@@ -415,11 +411,11 @@ private int jjMoveNfa_0(int startState, int curPos)
                   break;
                case 36:
                   if (curChar == 60)
-                     jjCheckNAddTwoStates(37, 38);
+                     { jjCheckNAddTwoStates(37, 38); }
                   break;
                case 37:
                   if ((0xaffffffa00000000L & l) != 0L)
-                     jjCheckNAddTwoStates(37, 38);
+                     { jjCheckNAddTwoStates(37, 38); }
                   break;
                case 38:
                   if (curChar == 62 && kind > 21)
@@ -434,11 +430,11 @@ private int jjMoveNfa_0(int startState, int curPos)
                      break;
                   if (kind > 22)
                      kind = 22;
-                  jjCheckNAddTwoStates(41, 42);
+                  { jjCheckNAddTwoStates(41, 42); }
                   break;
                case 41:
                   if ((0x3ff600000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(41, 42);
+                     { jjCheckNAddTwoStates(41, 42); }
                   break;
                case 42:
                   if ((0x3ff200000000000L & l) != 0L && kind > 22)
@@ -446,133 +442,133 @@ private int jjMoveNfa_0(int startState, int curPos)
                   break;
                case 46:
                   if (curChar == 45)
-                     jjCheckNAdd(47);
+                     { jjCheckNAdd(47); }
                   break;
                case 47:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
                   if (kind > 23)
                      kind = 23;
-                  jjCheckNAddTwoStates(46, 47);
+                  { jjCheckNAddTwoStates(46, 47); }
                   break;
                case 48:
                   if ((0x280000000000L & l) != 0L)
-                     jjCheckNAddStates(8, 12);
+                     { jjCheckNAddStates(8, 12); }
                   break;
                case 49:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
                   if (kind > 9)
                      kind = 9;
-                  jjCheckNAdd(49);
+                  { jjCheckNAdd(49); }
                   break;
                case 50:
                   if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(50, 51);
+                     { jjCheckNAddTwoStates(50, 51); }
                   break;
                case 51:
                   if (curChar != 46)
                      break;
                   if (kind > 10)
                      kind = 10;
-                  jjCheckNAdd(52);
+                  { jjCheckNAdd(52); }
                   break;
                case 52:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
                   if (kind > 10)
                      kind = 10;
-                  jjCheckNAdd(52);
+                  { jjCheckNAdd(52); }
                   break;
                case 53:
                   if (curChar == 46)
-                     jjCheckNAdd(54);
+                     { jjCheckNAdd(54); }
                   break;
                case 54:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
                   if (kind > 10)
                      kind = 10;
-                  jjCheckNAdd(54);
+                  { jjCheckNAdd(54); }
                   break;
                case 55:
                   if (curChar == 46)
-                     jjCheckNAdd(56);
+                     { jjCheckNAdd(56); }
                   break;
                case 56:
                   if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(56, 57);
+                     { jjCheckNAddTwoStates(56, 57); }
                   break;
                case 58:
                   if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(59);
+                     { jjCheckNAdd(59); }
                   break;
                case 59:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
                   if (kind > 11)
                      kind = 11;
-                  jjCheckNAdd(59);
+                  { jjCheckNAdd(59); }
                   break;
                case 60:
                   if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(31, 34);
+                     { jjCheckNAddStates(31, 34); }
                   break;
                case 61:
                   if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(61, 62);
+                     { jjCheckNAddTwoStates(61, 62); }
                   break;
                case 62:
                   if (curChar == 46)
-                     jjCheckNAddTwoStates(63, 64);
+                     { jjCheckNAddTwoStates(63, 64); }
                   break;
                case 63:
                   if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(63, 64);
+                     { jjCheckNAddTwoStates(63, 64); }
                   break;
                case 65:
                   if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(66);
+                     { jjCheckNAdd(66); }
                   break;
                case 66:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
                   if (kind > 11)
                      kind = 11;
-                  jjCheckNAdd(66);
+                  { jjCheckNAdd(66); }
                   break;
                case 67:
                   if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(67, 68);
+                     { jjCheckNAddTwoStates(67, 68); }
                   break;
                case 69:
                   if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(70);
+                     { jjCheckNAdd(70); }
                   break;
                case 70:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
                   if (kind > 11)
                      kind = 11;
-                  jjCheckNAdd(70);
+                  { jjCheckNAdd(70); }
                   break;
                case 71:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
                   if (kind > 9)
                      kind = 9;
-                  jjCheckNAddStates(0, 7);
+                  { jjCheckNAddStates(0, 7); }
                   break;
                case 72:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
                   if (kind > 20)
                      kind = 20;
-                  jjCheckNAdd(72);
+                  { jjCheckNAdd(72); }
                   break;
                case 73:
                   if (curChar == 46)
-                     jjCheckNAddTwoStates(54, 56);
+                     { jjCheckNAddTwoStates(54, 56); }
                   break;
                default : break;
             }
@@ -587,7 +583,7 @@ private int jjMoveNfa_0(int startState, int curPos)
             {
                case 0:
                   if (curChar == 64)
-                     jjCheckNAdd(45);
+                     { jjCheckNAdd(45); }
                   else if (curChar == 95)
                      jjstateSet[jjnewStateCnt++] = 39;
                   else if (curChar == 92)
@@ -599,7 +595,7 @@ private int jjMoveNfa_0(int startState, int curPos)
                   break;
                case 3:
                   if ((0xffffffffefffffffL & l) != 0L)
-                     jjCheckNAddStates(16, 18);
+                     { jjCheckNAddStates(16, 18); }
                   break;
                case 4:
                   if (curChar == 92)
@@ -607,11 +603,11 @@ private int jjMoveNfa_0(int startState, int curPos)
                   break;
                case 5:
                   if ((0x14404410144044L & l) != 0L)
-                     jjCheckNAddStates(16, 18);
+                     { jjCheckNAddStates(16, 18); }
                   break;
                case 8:
                   if ((0xffffffffefffffffL & l) != 0L)
-                     jjCheckNAddStates(13, 15);
+                     { jjCheckNAddStates(13, 15); }
                   break;
                case 9:
                   if (curChar == 92)
@@ -619,11 +615,11 @@ private int jjMoveNfa_0(int startState, int curPos)
                   break;
                case 10:
                   if ((0x14404410144044L & l) != 0L)
-                     jjCheckNAddStates(13, 15);
+                     { jjCheckNAddStates(13, 15); }
                   break;
                case 13:
                   if ((0xffffffffefffffffL & l) != 0L)
-                     jjCheckNAddStates(19, 22);
+                     { jjCheckNAddStates(19, 22); }
                   break;
                case 14:
                   if (curChar == 92)
@@ -631,14 +627,14 @@ private int jjMoveNfa_0(int startState, int curPos)
                   break;
                case 15:
                   if ((0x14404410144044L & l) != 0L)
-                     jjCheckNAddStates(19, 22);
+                     { jjCheckNAddStates(19, 22); }
                   break;
                case 17:
-                  jjCheckNAddStates(19, 22);
+                  { jjCheckNAddStates(19, 22); }
                   break;
                case 25:
                   if ((0xffffffffefffffffL & l) != 0L)
-                     jjCheckNAddStates(25, 28);
+                     { jjCheckNAddStates(25, 28); }
                   break;
                case 26:
                   if (curChar == 92)
@@ -646,25 +642,25 @@ private int jjMoveNfa_0(int startState, int curPos)
                   break;
                case 27:
                   if ((0x14404410144044L & l) != 0L)
-                     jjCheckNAddStates(25, 28);
+                     { jjCheckNAddStates(25, 28); }
                   break;
                case 29:
-                  jjCheckNAddStates(25, 28);
+                  { jjCheckNAddStates(25, 28); }
                   break;
                case 37:
                   if ((0xc7fffffeafffffffL & l) != 0L)
-                     jjAddStates(35, 36);
+                     { jjAddStates(35, 36); }
                   break;
                case 40:
                   if ((0x7fffffe87fffffeL & l) == 0L)
                      break;
                   if (kind > 22)
                      kind = 22;
-                  jjCheckNAddTwoStates(41, 42);
+                  { jjCheckNAddTwoStates(41, 42); }
                   break;
                case 41:
                   if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(41, 42);
+                     { jjCheckNAddTwoStates(41, 42); }
                   break;
                case 42:
                   if ((0x7fffffe87fffffeL & l) != 0L && kind > 22)
@@ -676,33 +672,33 @@ private int jjMoveNfa_0(int startState, int curPos)
                   break;
                case 44:
                   if (curChar == 64)
-                     jjCheckNAdd(45);
+                     { jjCheckNAdd(45); }
                   break;
                case 45:
                   if ((0x7fffffe07fffffeL & l) == 0L)
                      break;
                   if (kind > 23)
                      kind = 23;
-                  jjCheckNAddTwoStates(45, 46);
+                  { jjCheckNAddTwoStates(45, 46); }
                   break;
                case 47:
                   if ((0x7fffffe07fffffeL & l) == 0L)
                      break;
                   if (kind > 23)
                      kind = 23;
-                  jjCheckNAddTwoStates(46, 47);
+                  { jjCheckNAddTwoStates(46, 47); }
                   break;
                case 57:
                   if ((0x2000000020L & l) != 0L)
-                     jjAddStates(37, 38);
+                     { jjAddStates(37, 38); }
                   break;
                case 64:
                   if ((0x2000000020L & l) != 0L)
-                     jjAddStates(39, 40);
+                     { jjAddStates(39, 40); }
                   break;
                case 68:
                   if ((0x2000000020L & l) != 0L)
-                     jjAddStates(41, 42);
+                     { jjAddStates(41, 42); }
                   break;
                default : break;
             }
@@ -710,7 +706,7 @@ private int jjMoveNfa_0(int startState, int curPos)
       }
       else
       {
-         int hiByte = (int)(curChar >> 8);
+         int hiByte = (curChar >> 8);
          int i1 = hiByte >> 6;
          long l1 = 1L << (hiByte & 077);
          int i2 = (curChar & 0xff) >> 6;
@@ -721,42 +717,42 @@ private int jjMoveNfa_0(int startState, int curPos)
             {
                case 3:
                   if (jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     jjAddStates(16, 18);
+                     { jjAddStates(16, 18); }
                   break;
                case 8:
                   if (jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     jjAddStates(13, 15);
+                     { jjAddStates(13, 15); }
                   break;
                case 13:
                case 17:
                   if (jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     jjCheckNAddStates(19, 22);
+                     { jjCheckNAddStates(19, 22); }
                   break;
                case 25:
                case 29:
                   if (jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     jjCheckNAddStates(25, 28);
+                     { jjCheckNAddStates(25, 28); }
                   break;
                case 37:
                   if (jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     jjAddStates(35, 36);
+                     { jjAddStates(35, 36); }
                   break;
                case 40:
                   if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
                      break;
                   if (kind > 22)
                      kind = 22;
-                  jjCheckNAddTwoStates(41, 42);
+                  { jjCheckNAddTwoStates(41, 42); }
                   break;
                case 41:
                   if (jjCanMove_2(hiByte, i1, i2, l1, l2))
-                     jjCheckNAddTwoStates(41, 42);
+                     { jjCheckNAddTwoStates(41, 42); }
                   break;
                case 42:
                   if (jjCanMove_2(hiByte, i1, i2, l1, l2) && kind > 22)
                      kind = 22;
                   break;
-               default : break;
+               default : if (i1 == 0 || l1 == 0 || i2 == 0 ||  l2 == 0) break; else break;
             }
          } while(i != startsAt);
       }
@@ -792,6 +788,36 @@ private int jjMoveNfa_0(int startState, int curPos)
 
    return toRet;
 }
+
+/** Token literal values. */
+public static final String[] jjstrLiteralImages = {
+"", null, null, null, null, null, null, null, null, null, null, null, null, 
+null, null, null, null, null, null, null, null, null, null, null, null, null, 
+"\156\165\154\154", "\173", "\175", "\133", "\135", "\54", "\72", "\136\136", "\100", null, null, 
+null, null, null, };
+protected Token jjFillToken()
+{
+   final Token t;
+   final String curTokenImage;
+   final int beginLine;
+   final int endLine;
+   final int beginColumn;
+   final int endColumn;
+   String im = jjstrLiteralImages[jjmatchedKind];
+   curTokenImage = (im == null) ? input_stream.GetImage() : im;
+   beginLine = input_stream.getBeginLine();
+   beginColumn = input_stream.getBeginColumn();
+   endLine = input_stream.getEndLine();
+   endColumn = input_stream.getEndColumn();
+   t = Token.newToken(jjmatchedKind, curTokenImage);
+
+   t.beginLine = beginLine;
+   t.endLine = endLine;
+   t.beginColumn = beginColumn;
+   t.endColumn = endColumn;
+
+   return t;
+}
 static final int[] jjnextStates = {
    49, 50, 51, 61, 62, 67, 68, 72, 49, 50, 53, 55, 60, 8, 9, 11, 
    3, 4, 6, 13, 14, 16, 18, 19, 21, 25, 26, 28, 30, 31, 33, 61, 
@@ -858,96 +884,6 @@ private static final boolean jjCanMove_2(int hiByte, int i1, int i2, long l1, lo
    }
 }
 
-/** Token literal values. */
-public static final String[] jjstrLiteralImages = {
-"", null, null, null, null, null, null, null, null, null, null, null, null, 
-null, null, null, null, null, null, null, null, null, null, null, null, null, 
-"\156\165\154\154", "\173", "\175", "\133", "\135", "\54", "\72", "\136\136", "\100", null, null, 
-null, null, null, };
-
-/** Lexer state names. */
-public static final String[] lexStateNames = {
-   "DEFAULT",
-};
-static final long[] jjtoToken = {
-   0x7fcff8f81L, 
-};
-static final long[] jjtoSkip = {
-   0x3eL, 
-};
-protected JavaCharStream input_stream;
-private final int[] jjrounds = new int[74];
-private final int[] jjstateSet = new int[148];
-protected char curChar;
-/** Constructor. */
-public CDTLiteralParserTokenManager(JavaCharStream stream){
-   if (JavaCharStream.staticFlag)
-      throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
-   input_stream = stream;
-}
-
-/** Constructor. */
-public CDTLiteralParserTokenManager(JavaCharStream stream, int lexState){
-   this(stream);
-   SwitchTo(lexState);
-}
-
-/** Reinitialise parser. */
-public void ReInit(JavaCharStream stream)
-{
-   jjmatchedPos = jjnewStateCnt = 0;
-   curLexState = defaultLexState;
-   input_stream = stream;
-   ReInitRounds();
-}
-private void ReInitRounds()
-{
-   int i;
-   jjround = 0x80000001;
-   for (i = 74; i-- > 0;)
-      jjrounds[i] = 0x80000000;
-}
-
-/** Reinitialise parser. */
-public void ReInit(JavaCharStream stream, int lexState)
-{
-   ReInit(stream);
-   SwitchTo(lexState);
-}
-
-/** Switch to specified lex state. */
-public void SwitchTo(int lexState)
-{
-   if (lexState >= 1 || lexState < 0)
-      throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
-   else
-      curLexState = lexState;
-}
-
-protected Token jjFillToken()
-{
-   final Token t;
-   final String curTokenImage;
-   final int beginLine;
-   final int endLine;
-   final int beginColumn;
-   final int endColumn;
-   String im = jjstrLiteralImages[jjmatchedKind];
-   curTokenImage = (im == null) ? input_stream.GetImage() : im;
-   beginLine = input_stream.getBeginLine();
-   beginColumn = input_stream.getBeginColumn();
-   endLine = input_stream.getEndLine();
-   endColumn = input_stream.getEndColumn();
-   t = Token.newToken(jjmatchedKind, curTokenImage);
-
-   t.beginLine = beginLine;
-   t.endLine = endLine;
-   t.beginColumn = beginColumn;
-   t.endColumn = endColumn;
-
-   return t;
-}
-
 int curLexState = 0;
 int defaultLexState = 0;
 int jjnewStateCnt;
@@ -968,9 +904,10 @@ public Token getNextToken()
    {
       curChar = input_stream.BeginToken();
    }
-   catch(java.io.IOException e)
+   catch(Exception e)
    {
       jjmatchedKind = 0;
+      jjmatchedPos = -1;
       matchedToken = jjFillToken();
       return matchedToken;
    }
@@ -1015,6 +952,31 @@ public Token getNextToken()
   }
 }
 
+void SkipLexicalActions(Token matchedToken)
+{
+   switch(jjmatchedKind)
+   {
+      default :
+         break;
+   }
+}
+void MoreLexicalActions()
+{
+   jjimageLen += (lengthOfMatch = jjmatchedPos + 1);
+   switch(jjmatchedKind)
+   {
+      default :
+         break;
+   }
+}
+void TokenLexicalActions(Token matchedToken)
+{
+   switch(jjmatchedKind)
+   {
+      default :
+         break;
+   }
+}
 private void jjCheckNAdd(int state)
 {
    if (jjrounds[state] != jjround)
@@ -1042,4 +1004,90 @@ private void jjCheckNAddStates(int start, int end)
    } while (start++ != end);
 }
 
+    /** Constructor. */
+    public CDTLiteralParserTokenManager(JavaCharStream stream){
+
+      if (JavaCharStream.staticFlag)
+            throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
+
+    input_stream = stream;
+  }
+
+  /** Constructor. */
+  public CDTLiteralParserTokenManager (JavaCharStream stream, int lexState){
+    ReInit(stream);
+    SwitchTo(lexState);
+  }
+
+  /** Reinitialise parser. */
+  
+  public void ReInit(JavaCharStream stream)
+  {
+
+
+    jjmatchedPos =
+    jjnewStateCnt =
+    0;
+    curLexState = defaultLexState;
+    input_stream = stream;
+    ReInitRounds();
+  }
+
+  private void ReInitRounds()
+  {
+    int i;
+    jjround = 0x80000001;
+    for (i = 74; i-- > 0;)
+      jjrounds[i] = 0x80000000;
+  }
+
+  /** Reinitialise parser. */
+  public void ReInit(JavaCharStream stream, int lexState)
+  
+  {
+    ReInit(stream);
+    SwitchTo(lexState);
+  }
+
+  /** Switch to specified lex state. */
+  public void SwitchTo(int lexState)
+  {
+    if (lexState >= 1 || lexState < 0)
+      throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
+    else
+      curLexState = lexState;
+  }
+
+
+/** Lexer state names. */
+public static final String[] lexStateNames = {
+   "DEFAULT",
+};
+
+/** Lex State array. */
+public static final int[] jjnewLexState = {
+   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
+   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
+};
+static final long[] jjtoToken = {
+   0x7fcff8f81L, 
+};
+static final long[] jjtoSkip = {
+   0x3eL, 
+};
+static final long[] jjtoSpecial = {
+   0x0L, 
+};
+static final long[] jjtoMore = {
+   0x0L, 
+};
+    protected JavaCharStream  input_stream;
+
+    private final int[] jjrounds = new int[74];
+    private final int[] jjstateSet = new int[2 * 74];
+    private final StringBuilder jjimage = new StringBuilder();
+    private StringBuilder image = jjimage;
+    private int jjimageLen;
+    private int lengthOfMatch;
+    protected int curChar;
 }
diff --git a/jena-arq/src/main/java/org/apache/jena/cdt/parser/JavaCharStream.java b/jena-arq/src/main/java/org/apache/jena/cdt/parser/JavaCharStream.java
index 0db07c051d..16e184f3a6 100644
--- a/jena-arq/src/main/java/org/apache/jena/cdt/parser/JavaCharStream.java
+++ b/jena-arq/src/main/java/org/apache/jena/cdt/parser/JavaCharStream.java
@@ -1,4 +1,4 @@
-/* Generated By:JavaCC: Do not edit this line. JavaCharStream.java Version 5.0 */
+/* Generated By:JavaCC: Do not edit this line. JavaCharStream.java Version 7.0 */
 /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -82,7 +82,7 @@ public static final boolean staticFlag = false;
     throw new java.io.IOException(); // Should never come here
   }
 
-/** Position in buffer. */
+/* Position in buffer. */
   
 @SuppressWarnings("all")
 public int bufpos = -1;
@@ -105,10 +105,15 @@ public int bufpos = -1;
   protected int maxNextCharInd = 0;
   protected int nextCharInd = -1;
   protected int inBuf = 0;
-  protected int tabSize = 8;
+  protected int tabSize = 1;
+  protected boolean trackLineColumn = true;
 
-  protected void setTabSize(int i) { tabSize = i; }
-  protected int getTabSize(int i) { return tabSize; }
+  
+@SuppressWarnings("all")
+public void setTabSize(int i) { tabSize = i; }
+  
+@SuppressWarnings("all")
+public int getTabSize() { return tabSize; }
 
   protected void ExpandBuff(boolean wrapAround)
   {
@@ -197,7 +202,7 @@ public int bufpos = -1;
     return nextCharBuf[nextCharInd];
   }
 
-/** @return starting character for token. */
+/* @return starting character for token. */
   
 @SuppressWarnings("all")
 public char BeginToken() throws java.io.IOException
@@ -279,7 +284,7 @@ public char BeginToken() throws java.io.IOException
     bufcolumn[bufpos] = column;
   }
 
-/** Read a character. */
+/* Read a character. */
   
 @SuppressWarnings("all")
 public char readChar() throws java.io.IOException
@@ -301,7 +306,7 @@ public char readChar() throws java.io.IOException
 
     if ((buffer[bufpos] = c = ReadByte()) == '\\')
     {
-      UpdateLineColumn(c);
+      if (trackLineColumn) { UpdateLineColumn(c); }
 
       int backSlashCnt = 1;
 
@@ -314,7 +319,7 @@ public char readChar() throws java.io.IOException
         {
           if ((buffer[bufpos] = c = ReadByte()) != '\\')
           {
-            UpdateLineColumn(c);
+            if (trackLineColumn) { UpdateLineColumn(c); }
             // found a non-backslash char.
             if ((c == 'u') && ((backSlashCnt & 1) == 1))
             {
@@ -337,7 +342,7 @@ public char readChar() throws java.io.IOException
           return '\\';
         }
 
-        UpdateLineColumn(c);
+        if (trackLineColumn) { UpdateLineColumn(c); }
         backSlashCnt++;
       }
 
@@ -375,43 +380,49 @@ public char readChar() throws java.io.IOException
     }
   }
 
-  @Deprecated
-  /**
+  /*
    * @deprecated
    * @see #getEndColumn
    */
+  @Deprecated
   
 @SuppressWarnings("all")
 public int getColumn() {
     return bufcolumn[bufpos];
   }
 
-  @Deprecated
-  /**
+  /*
    * @deprecated
    * @see #getEndLine
+   * @return the line number.
    */
+  @Deprecated
   
 @SuppressWarnings("all")
 public int getLine() {
     return bufline[bufpos];
   }
 
-/** Get end column. */
+/** Get end column.
+ * @return the end column or -1
+ */
   
 @SuppressWarnings("all")
 public int getEndColumn() {
     return bufcolumn[bufpos];
   }
 
-/** Get end line. */
+/** Get end line.
+ * @return the end line number or -1
+ */
   
 @SuppressWarnings("all")
 public int getEndLine() {
     return bufline[bufpos];
   }
 
-/** @return column of token start */
+/** Get the beginning column.
+ * @return column of token start */
   
 @SuppressWarnings("all")
 public int getBeginColumn() {
@@ -435,7 +446,12 @@ public void backup(int amount) {
       bufpos += bufsize;
   }
 
-/** Constructor. */
+/** Constructor.
+ * @param dstream the underlying data source.
+ * @param startline line number of the first character of the stream, mostly for error messages.
+ * @param startcolumn column number of the first character of the stream.
+ * @param buffersize size of the buffer
+ */
   
 @SuppressWarnings("all")
 public JavaCharStream(java.io.Reader dstream,
@@ -452,7 +468,11 @@ public JavaCharStream(java.io.Reader dstream,
     nextCharBuf = new char[4096];
   }
 
-/** Constructor. */
+/** Constructor.
+ * @param dstream the underlying data source.
+ * @param startline line number of the first character of the stream, mostly for error messages.
+ * @param startcolumn column number of the first character of the stream.
+ */
   
 @SuppressWarnings("all")
 public JavaCharStream(java.io.Reader dstream,
@@ -461,14 +481,17 @@ public JavaCharStream(java.io.Reader dstream,
     this(dstream, startline, startcolumn, 4096);
   }
 
-/** Constructor. */
+/** Constructor.
+ * @param dstream the underlying data source.
+ * @param startline line number of the first character of the stream, mostly for error messages.
+ */
   
 @SuppressWarnings("all")
 public JavaCharStream(java.io.Reader dstream)
   {
     this(dstream, 1, 1, 4096);
   }
-/** Reinitialise. */
+/* Reinitialise. */
   
 @SuppressWarnings("all")
 public void ReInit(java.io.Reader dstream,
@@ -491,7 +514,7 @@ public void ReInit(java.io.Reader dstream,
     nextCharInd = bufpos = -1;
   }
 
-/** Reinitialise. */
+/* Reinitialise. */
   
 @SuppressWarnings("all")
 public void ReInit(java.io.Reader dstream,
@@ -500,7 +523,7 @@ public void ReInit(java.io.Reader dstream,
     ReInit(dstream, startline, startcolumn, 4096);
   }
 
-/** Reinitialise. */
+/* Reinitialise. */
   
 @SuppressWarnings("all")
 public void ReInit(java.io.Reader dstream)
@@ -516,16 +539,27 @@ public JavaCharStream(java.io.InputStream dstream, String encoding, int startlin
     this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
   }
 
-/** Constructor. */
+/** Constructor.
+ * @param dstream the underlying data source.
+ * @param startline line number of the first character of the stream, mostly for error messages.
+ * @param startcolumn column number of the first character of the stream.
+ * @param buffersize size of the buffer
+ */
   
 @SuppressWarnings("all")
 public JavaCharStream(java.io.InputStream dstream, int startline,
   int startcolumn, int buffersize)
   {
-    this(new java.io.InputStreamReader(dstream), startline, startcolumn, 4096);
+    this(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
   }
 
-/** Constructor. */
+/** Constructor.
+ * @param dstream the underlying data source.
+ * @param encoding the character encoding of the data stream.
+ * @param startline line number of the first character of the stream, mostly for error messages.
+ * @param startcolumn column number of the first character of the stream.
+ * @throws UnsupportedEncodingException encoding is invalid or unsupported.
+ */
   
 @SuppressWarnings("all")
 public JavaCharStream(java.io.InputStream dstream, String encoding, int startline,
@@ -534,7 +568,11 @@ public JavaCharStream(java.io.InputStream dstream, String encoding, int startlin
     this(dstream, encoding, startline, startcolumn, 4096);
   }
 
-/** Constructor. */
+/** Constructor.
+ * @param dstream the underlying data source.
+ * @param startline line number of the first character of the stream, mostly for error messages.
+ * @param startcolumn column number of the first character of the stream.
+ */
   
 @SuppressWarnings("all")
 public JavaCharStream(java.io.InputStream dstream, int startline,
@@ -543,7 +581,11 @@ public JavaCharStream(java.io.InputStream dstream, int startline,
     this(dstream, startline, startcolumn, 4096);
   }
 
-/** Constructor. */
+/** Constructor.
+ * @param dstream the underlying data source.
+ * @param encoding the character encoding of the data stream.
+ * @throws UnsupportedEncodingException encoding is invalid or unsupported.
+ */
   
 @SuppressWarnings("all")
 public JavaCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
@@ -551,7 +593,9 @@ public JavaCharStream(java.io.InputStream dstream, String encoding) throws java.
     this(dstream, encoding, 1, 1, 4096);
   }
 
-/** Constructor. */
+  /** Constructor.
+   * @param dstream the underlying data source.
+   */
   
 @SuppressWarnings("all")
 public JavaCharStream(java.io.InputStream dstream)
@@ -559,7 +603,13 @@ public JavaCharStream(java.io.InputStream dstream)
     this(dstream, 1, 1, 4096);
   }
 
-/** Reinitialise. */
+/** Reinitialise.
+ * @param dstream the underlying data source.
+ * @param encoding the character encoding of the data stream.
+ * @param startline line number of the first character of the stream, mostly for error messages.
+ * @param startcolumn column number of the first character of the stream.
+ * @param buffersize size of the buffer
+ */
   
 @SuppressWarnings("all")
 public void ReInit(java.io.InputStream dstream, String encoding, int startline,
@@ -568,7 +618,12 @@ public void ReInit(java.io.InputStream dstream, String encoding, int startline,
     ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
   }
 
-/** Reinitialise. */
+/** Reinitialise.
+ * @param dstream the underlying data source.
+ * @param startline line number of the first character of the stream, mostly for error messages.
+ * @param startcolumn column number of the first character of the stream.
+ * @param buffersize size of the buffer
+ */
   
 @SuppressWarnings("all")
 public void ReInit(java.io.InputStream dstream, int startline,
@@ -576,7 +631,13 @@ public void ReInit(java.io.InputStream dstream, int startline,
   {
     ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
   }
-/** Reinitialise. */
+/** Reinitialise.
+ * @param dstream the underlying data source.
+ * @param encoding the character encoding of the data stream.
+ * @param startline line number of the first character of the stream, mostly for error messages.
+ * @param startcolumn column number of the first character of the stream.
+ * @throws UnsupportedEncodingException encoding is invalid or unsupported.
+ */
   
 @SuppressWarnings("all")
 public void ReInit(java.io.InputStream dstream, String encoding, int startline,
@@ -584,7 +645,11 @@ public void ReInit(java.io.InputStream dstream, String encoding, int startline,
   {
     ReInit(dstream, encoding, startline, startcolumn, 4096);
   }
-/** Reinitialise. */
+/** Reinitialise.
+ * @param dstream the underlying data source.
+ * @param startline line number of the first character of the stream, mostly for error messages.
+ * @param startcolumn column number of the first character of the stream.
+ */
   
 @SuppressWarnings("all")
 public void ReInit(java.io.InputStream dstream, int startline,
@@ -592,7 +657,11 @@ public void ReInit(java.io.InputStream dstream, int startline,
   {
     ReInit(dstream, startline, startcolumn, 4096);
   }
-/** Reinitialise. */
+/** Reinitialise.
+ * @param dstream the underlying data source.
+ * @param encoding the character encoding of the data stream.
+ * @throws UnsupportedEncodingException encoding is invalid or unsupported.
+ */
   
 @SuppressWarnings("all")
 public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
@@ -600,7 +669,9 @@ public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.
     ReInit(dstream, encoding, 1, 1, 4096);
   }
 
-/** Reinitialise. */
+/** Reinitialise.
+ * @param dstream the underlying data source.
+ */
   
 @SuppressWarnings("all")
 public void ReInit(java.io.InputStream dstream)
@@ -608,7 +679,8 @@ public void ReInit(java.io.InputStream dstream)
     ReInit(dstream, 1, 1, 4096);
   }
 
-  /** @return token image as String */
+  /** Get the token timage.
+   * @return token image as String */
   
 @SuppressWarnings("all")
 public String GetImage()
@@ -620,7 +692,9 @@ public String GetImage()
                               new String(buffer, 0, bufpos + 1);
   }
 
-  /** @return suffix */
+  /** Get the suffix as an array of characters.
+   * @param len the length of the array to return.
+   * @return suffix */
   
 @SuppressWarnings("all")
 public char[] GetSuffix(int len)
@@ -652,6 +726,9 @@ public void Done()
 
   /**
    * Method to adjust line and column numbers for the start of a token.
+   *
+   * @param newLine the new line number.
+   * @param newCol the new column number.
    */
   
 @SuppressWarnings("all")
@@ -698,6 +775,8 @@ public void adjustBeginLineColumn(int newLine, int newCol)
     line = bufline[j];
     column = bufcolumn[j];
   }
+  boolean getTrackLineColumn() { return trackLineColumn; }
+  void setTrackLineColumn(boolean tlc) { trackLineColumn = tlc; }
 
 }
-/* JavaCC - OriginalChecksum=2ebc561fdb294979325bb97dfcdf1b61 (do not edit this line) */
+/* JavaCC - OriginalChecksum=daed28e1cd2df650024933c0cf62aeef (do not edit this line) */
diff --git a/jena-arq/src/main/java/org/apache/jena/cdt/parser/ParseException.java b/jena-arq/src/main/java/org/apache/jena/cdt/parser/ParseException.java
index 9fff7e2c63..24e3b9daa7 100644
--- a/jena-arq/src/main/java/org/apache/jena/cdt/parser/ParseException.java
+++ b/jena-arq/src/main/java/org/apache/jena/cdt/parser/ParseException.java
@@ -1,5 +1,5 @@
-/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 5.0 */
-/* JavaCCOptions:KEEP_LINE_COL=null */
+/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 7.0 */
+/* JavaCCOptions:KEEP_LINE_COLUMN=true */
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -38,6 +38,11 @@ public class ParseException extends Exception {
    */
   private static final long serialVersionUID = 1L;
 
+  /**
+   * The end of line string for this machine.
+   */
+  protected static String EOL = System.getProperty("line.separator", "\n");
+
   /**
    * This constructor is used by the method "generateParseException"
    * in the generated parser.  Calling this constructor generates
@@ -78,7 +83,7 @@ public class ParseException extends Exception {
   /**
    * This is the last token that has been consumed successfully.  If
    * this object has been created due to a parse error, the token
-   * followng this token will (therefore) be the first error token.
+   * following this token will (therefore) be the first error token.
    */
   public Token currentToken;
 
@@ -106,8 +111,8 @@ public class ParseException extends Exception {
   private static String initialise(Token currentToken,
                            int[][] expectedTokenSequences,
                            String[] tokenImage) {
-    String eol = System.getProperty("line.separator", "\n");
-    StringBuffer expected = new StringBuffer();
+
+    StringBuilder expected = new StringBuilder();
     int maxSize = 0;
     for (int i = 0; i < expectedTokenSequences.length; i++) {
       if (maxSize < expectedTokenSequences[i].length) {
@@ -119,7 +124,7 @@ public class ParseException extends Exception {
       if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {
         expected.append("...");
       }
-      expected.append(eol).append("    ");
+      expected.append(EOL).append("    ");
     }
     String retval = "Encountered \"";
     Token tok = currentToken.next;
@@ -135,21 +140,26 @@ public class ParseException extends Exception {
       retval += " \"";
       tok = tok.next;
     }
-    retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
-    retval += "." + eol;
-    if (expectedTokenSequences.length == 1) {
-      retval += "Was expecting:" + eol + "    ";
+    if (currentToken.next != null) {
+      retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
+    }
+    retval += "." + EOL;
+    
+    
+    if (expectedTokenSequences.length == 0) {
+        // Nothing to add here
     } else {
-      retval += "Was expecting one of:" + eol + "    ";
+	    if (expectedTokenSequences.length == 1) {
+	      retval += "Was expecting:" + EOL + "    ";
+	    } else {
+	      retval += "Was expecting one of:" + EOL + "    ";
+	    }
+	    retval += expected.toString();
     }
-    retval += expected.toString();
+    
     return retval;
   }
 
-  /**
-   * The end of line string for this machine.
-   */
-  protected String eol = System.getProperty("line.separator", "\n");
 
   /**
    * Used to convert raw characters to their escaped version
@@ -157,13 +167,11 @@ public class ParseException extends Exception {
    * string literal.
    */
   static String add_escapes(String str) {
-      StringBuffer retval = new StringBuffer();
+      StringBuilder retval = new StringBuilder();
       char ch;
       for (int i = 0; i < str.length(); i++) {
         switch (str.charAt(i))
         {
-           case 0 :
-              continue;
            case '\b':
               retval.append("\\b");
               continue;
@@ -202,4 +210,4 @@ public class ParseException extends Exception {
    }
 
 }
-/* JavaCC - OriginalChecksum=0bd53902852438cd5670da2f50328753 (do not edit this line) */
+/* JavaCC - OriginalChecksum=ae45c177e8251ffb3eb197993240df1d (do not edit this line) */
diff --git a/jena-arq/src/main/java/org/apache/jena/cdt/parser/Token.java b/jena-arq/src/main/java/org/apache/jena/cdt/parser/Token.java
index 3e7793689f..5fab125108 100644
--- a/jena-arq/src/main/java/org/apache/jena/cdt/parser/Token.java
+++ b/jena-arq/src/main/java/org/apache/jena/cdt/parser/Token.java
@@ -1,5 +1,5 @@
-/* Generated By:JavaCC: Do not edit this line. Token.java Version 5.0 */
-/* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COL=null,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
+/* Generated By:JavaCC: Do not edit this line. Token.java Version 7.0 */
+/* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COLUMN=true,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -115,6 +115,7 @@ public class Token implements java.io.Serializable {
   /**
    * Returns the image.
    */
+  @Override
   public String toString()
   {
     return image;
@@ -146,4 +147,4 @@ public class Token implements java.io.Serializable {
   }
 
 }
-/* JavaCC - OriginalChecksum=0bb1e7330fe557a4194caa87be20ae38 (do not edit this line) */
+/* JavaCC - OriginalChecksum=d2beb9f825ecfb19fedd31da408e3820 (do not edit this line) */
diff --git a/jena-arq/src/main/java/org/apache/jena/cdt/parser/TokenMgrError.java b/jena-arq/src/main/java/org/apache/jena/cdt/parser/TokenMgrError.java
index 307f2e7efd..09317489ca 100644
--- a/jena-arq/src/main/java/org/apache/jena/cdt/parser/TokenMgrError.java
+++ b/jena-arq/src/main/java/org/apache/jena/cdt/parser/TokenMgrError.java
@@ -1,4 +1,4 @@
-/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 5.0 */
+/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 7.0 */
 /* JavaCCOptions: */
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -40,22 +40,22 @@ public class TokenMgrError extends Error
   /**
    * Lexical error occurred.
    */
-  static final int LEXICAL_ERROR = 0;
+  public static final int LEXICAL_ERROR = 0;
 
   /**
    * An attempt was made to create a second instance of a static token manager.
    */
-  static final int STATIC_LEXER_ERROR = 1;
+  public static final int STATIC_LEXER_ERROR = 1;
 
   /**
    * Tried to change to an invalid lexical state.
    */
-  static final int INVALID_LEXICAL_STATE = 2;
+  public static final int INVALID_LEXICAL_STATE = 2;
 
   /**
    * Detected (and bailed out of) an infinite loop in the token manager.
    */
-  static final int LOOP_DETECTED = 3;
+  public static final int LOOP_DETECTED = 3;
 
   /**
    * Indicates the reason why the exception is thrown. It will have
@@ -68,13 +68,11 @@ public class TokenMgrError extends Error
    * equivalents in the given string
    */
   protected static final String addEscapes(String str) {
-    StringBuffer retval = new StringBuffer();
+    StringBuilder retval = new StringBuilder();
     char ch;
     for (int i = 0; i < str.length(); i++) {
       switch (str.charAt(i))
       {
-        case 0 :
-          continue;
         case '\b':
           retval.append("\\b");
           continue;
@@ -117,19 +115,20 @@ public class TokenMgrError extends Error
    * token manager to indicate a lexical error.
    * Parameters :
    *    EOFSeen     : indicates if EOF caused the lexical error
-   *    curLexState : lexical state in which this error occurred
+   *    lexState    : lexical state in which this error occurred
    *    errorLine   : line number when the error occurred
    *    errorColumn : column number when the error occurred
    *    errorAfter  : prefix that was seen before this error occurred
    *    curchar     : the offending character
    * Note: You can customize the lexical error message by modifying this method.
    */
-  protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) {
-    return("Lexical error at line " +
-          errorLine + ", column " +
-          errorColumn + ".  Encountered: " +
-          (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") +
-          "after : \"" + addEscapes(errorAfter) + "\"");
+  protected static String LexicalErr(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar) {
+    return("Lexical error at line " + //
+          errorLine + ", column " + //
+          errorColumn + ".  Encountered: " + //
+          (EOFSeen ? "<EOF>" : ("'" + addEscapes(String.valueOf(curChar)) + "' (" + curChar + "),")) + //
+          (errorAfter == null || errorAfter.length() == 0 ? "" : " after prefix \"" + addEscapes(errorAfter) + "\"")) + //
+          (lexState == 0 ? "" : " (in lexical state " + lexState + ")");
   }
 
   /**
@@ -141,6 +140,7 @@ public class TokenMgrError extends Error
    *
    * from this method for such cases in the release version of your parser.
    */
+  @Override
   public String getMessage() {
     return super.getMessage();
   }
@@ -160,8 +160,8 @@ public class TokenMgrError extends Error
   }
 
   /** Full Constructor. */
-  public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) {
-    this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
+  public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar, int reason) {
+    this(LexicalErr(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
   }
 }
-/* JavaCC - OriginalChecksum=8d2f5d5473ff1b03e240576a846cb262 (do not edit this line) */
+/* JavaCC - OriginalChecksum=2a351950eeffed92fd5e8ec488d61b44 (do not edit this line) */
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/cdt/CDTLiteralFunctionUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/cdt/CDTLiteralFunctionUtils.java
index d7d5f14674..c2976e63bd 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/cdt/CDTLiteralFunctionUtils.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/cdt/CDTLiteralFunctionUtils.java
@@ -56,7 +56,7 @@ public class CDTLiteralFunctionUtils
 	 * Assumes that the given node is a cdt:List literal and uses
 	 * {@link CompositeDatatypeList#getValue(LiteralLabel)} to get
 	 * the list.
-	 * 
+	 *
 	 * Throws an ExprEvalException if a DatatypeFormatException is
 	 * thrown by {@link CompositeDatatypeList#getValue(LiteralLabel)}.
 	 */
@@ -76,7 +76,7 @@ public class CDTLiteralFunctionUtils
 	 * Assumes that the given node is a cdt:Map literal and uses
 	 * {@link CompositeDatatypeMap#getValue(LiteralLabel)} to get
 	 * the map.
-	 * 
+	 *
 	 * Throws an ExprEvalException if a DatatypeFormatException is
 	 * thrown by {@link CompositeDatatypeMap#getValue(LiteralLabel)}.
 	 */
@@ -119,7 +119,7 @@ public class CDTLiteralFunctionUtils
 	}
 
 	/**
-	 * Creates a {@link NodeV} with a cdt:List literal that represents the
+	 * Creates a {@link Node} with a cdt:List literal that represents the
 	 * given list.
 	 */
 	public static final Node createNode( final List<CDTValue> list ) {
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java
index 9d1009042c..dec80e38c2 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java
@@ -1,3 +1,4 @@
+/* ARQParser.java */
 /* Generated By:JavaCC: Do not edit this line. ARQParser.java */
 package org.apache.jena.sparql.lang.arq ;
 import org.apache.jena.graph.* ;
@@ -19,108 +20,116 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
 
   final public void QueryUnit() throws ParseException {
     ByteOrderMark();
-    startQuery() ;
+startQuery() ;
     Query();
     jj_consume_token(0);
-    finishQuery() ;
-  }
+finishQuery() ;
+}
 
   final public void Query() throws ParseException {
     Prologue();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case SELECT:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case SELECT:{
       SelectQuery();
       break;
-    case CONSTRUCT:
+      }
+    case CONSTRUCT:{
       ConstructQuery();
       break;
-    case DESCRIBE:
+      }
+    case DESCRIBE:{
       DescribeQuery();
       break;
-    case ASK:
+      }
+    case ASK:{
       AskQuery();
       break;
-    case JSON:
+      }
+    case JSON:{
       JsonQuery();
       break;
+      }
     default:
       jj_la1[0] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     ValuesClause();
-  }
+}
 
   final public void UpdateUnit() throws ParseException {
     ByteOrderMark();
-    startUpdateRequest() ;
+startUpdateRequest() ;
     Update();
     jj_consume_token(0);
-    finishUpdateRequest() ;
-  }
+finishUpdateRequest() ;
+}
 
   final public void ByteOrderMark() throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case BOM:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case BOM:{
       jj_consume_token(BOM);
       break;
+      }
     default:
       jj_la1[1] = jj_gen;
       ;
     }
-  }
+}
 
   final public void Prologue() throws ParseException {
     label_1:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case BASE:
-      case PREFIX:
+      case PREFIX:{
         ;
         break;
+        }
       default:
         jj_la1[2] = jj_gen;
         break label_1;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case BASE:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case BASE:{
         BaseDecl();
         break;
-      case PREFIX:
+        }
+      case PREFIX:{
         PrefixDecl();
         break;
+        }
       default:
         jj_la1[3] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
     }
-  }
+}
 
-  final public void BaseDecl() throws ParseException {
-                    Token t ; String iri ;
+  final public void BaseDecl() throws ParseException {Token t ; String iri ;
     t = jj_consume_token(BASE);
     iri = IRIREF();
-    setBase(iri, t.beginLine, t.beginColumn ) ;
-  }
+setBase(iri, t.beginLine, t.beginColumn ) ;
+}
 
-  final public void PrefixDecl() throws ParseException {
-                      Token t ; String iri ;
+  final public void PrefixDecl() throws ParseException {Token t ; String iri ;
     jj_consume_token(PREFIX);
     t = jj_consume_token(PNAME_NS);
     iri = IRIREF();
-      String s = fixupPrefix(t.image, t.beginLine, t.beginColumn);
+String s = fixupPrefix(t.image, t.beginLine, t.beginColumn);
       setPrefix(s, iri, t.beginLine, t.beginColumn) ;
-  }
+}
 
   final public void SelectQuery() throws ParseException {
     SelectClause();
     label_2:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case FROM:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case FROM:{
         ;
         break;
+        }
       default:
         jj_la1[4] = jj_gen;
         break label_2;
@@ -129,43 +138,45 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     }
     WhereClause();
     SolutionModifier();
-  }
+}
 
   final public void SubSelect() throws ParseException {
     SelectClause();
     WhereClause();
     SolutionModifier();
     ValuesClause();
-  }
+}
 
-  final public void SelectClause() throws ParseException {
-                        Var v ; Expr expr ; Node n ;
+  final public void SelectClause() throws ParseException {Var v ; Expr expr ; Node n ;
     jj_consume_token(SELECT);
-      getQuery().setQuerySelectType() ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+getQuery().setQuerySelectType() ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case DISTINCT:
-    case REDUCED:
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+    case REDUCED:{
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                 getQuery().setDistinct(true);
+getQuery().setDistinct(true);
         break;
-      case REDUCED:
+        }
+      case REDUCED:{
         jj_consume_token(REDUCED);
-                getQuery().setReduced(true);
+getQuery().setReduced(true);
         break;
+        }
       default:
         jj_la1[5] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
       break;
+      }
     default:
       jj_la1[6] = jj_gen;
       ;
     }
-    setAllowAggregatesInExpressions(true) ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+setAllowAggregatesInExpressions(true) ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -267,15 +278,16 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case STRING_LITERAL2:
     case STRING_LITERAL_LONG1:
     case STRING_LITERAL_LONG2:
-    case LPAREN:
+    case LPAREN:{
       label_3:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
         case VAR1:
-        case VAR2:
+        case VAR2:{
           v = Var();
-                  getQuery().addResultVar(v) ;
+getQuery().addResultVar(v) ;
           break;
+          }
         case IRIref:
         case PNAME_NS:
         case PNAME_LN:
@@ -374,25 +386,27 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
         case STRING_LITERAL1:
         case STRING_LITERAL2:
         case STRING_LITERAL_LONG1:
-        case STRING_LITERAL_LONG2:
+        case STRING_LITERAL_LONG2:{
           if (jj_2_1(2)) {
             expr = BuiltInCall();
-                               getQuery().addResultVar((Var)null, expr) ;
+getQuery().addResultVar((Var)null, expr) ;
           } else {
-            switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+            switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
             case IRIref:
             case PNAME_NS:
-            case PNAME_LN:
+            case PNAME_LN:{
               expr = FunctionCall();
-                                getQuery().addResultVar((Var)null, expr) ;
+getQuery().addResultVar((Var)null, expr) ;
               break;
+              }
             case STRING_LITERAL1:
             case STRING_LITERAL2:
             case STRING_LITERAL_LONG1:
-            case STRING_LITERAL_LONG2:
+            case STRING_LITERAL_LONG2:{
               n = RDFLiteral();
-                           getQuery().addResultVar((Var)null, NodeValue.makeNode(n)) ;
+getQuery().addResultVar((Var)null, NodeValue.makeNode(n)) ;
               break;
+              }
             case INTEGER:
             case DECIMAL:
             case DOUBLE:
@@ -401,15 +415,17 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
             case DOUBLE_POSITIVE:
             case INTEGER_NEGATIVE:
             case DECIMAL_NEGATIVE:
-            case DOUBLE_NEGATIVE:
+            case DOUBLE_NEGATIVE:{
               n = NumericLiteral();
-                               getQuery().addResultVar((Var)null, NodeValue.makeNode(n)) ;
+getQuery().addResultVar((Var)null, NodeValue.makeNode(n)) ;
               break;
+              }
             case TRUE:
-            case FALSE:
+            case FALSE:{
               n = BooleanLiteral();
-                               getQuery().addResultVar((Var)null, NodeValue.makeNode(n)) ;
+getQuery().addResultVar((Var)null, NodeValue.makeNode(n)) ;
               break;
+              }
             default:
               jj_la1[7] = jj_gen;
               jj_consume_token(-1);
@@ -417,29 +433,32 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
             }
           }
           break;
-        case LPAREN:
-          v = null ;
+          }
+        case LPAREN:{
+v = null ;
           jj_consume_token(LPAREN);
           expr = Expression();
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-          case AS:
+          switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+          case AS:{
             jj_consume_token(AS);
             v = Var();
             break;
+            }
           default:
             jj_la1[8] = jj_gen;
             ;
           }
           jj_consume_token(RPAREN);
-          getQuery().addResultVar(v, expr) ;
-        getQuery().setQueryResultStar(false) ;
+getQuery().addResultVar(v, expr) ;
+getQuery().setQueryResultStar(false) ;
           break;
+          }
         default:
           jj_la1[9] = jj_gen;
           jj_consume_token(-1);
           throw new ParseException();
         }
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
         case IRIref:
         case PNAME_NS:
         case PNAME_LN:
@@ -541,42 +560,45 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
         case STRING_LITERAL2:
         case STRING_LITERAL_LONG1:
         case STRING_LITERAL_LONG2:
-        case LPAREN:
+        case LPAREN:{
           ;
           break;
+          }
         default:
           jj_la1[10] = jj_gen;
           break label_3;
         }
       }
       break;
-    case STAR:
+      }
+    case STAR:{
       jj_consume_token(STAR);
-             getQuery().setQueryResultStar(true) ;
+getQuery().setQueryResultStar(true) ;
       break;
+      }
     default:
       jj_la1[11] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    setAllowAggregatesInExpressions(false) ;
-  }
+setAllowAggregatesInExpressions(false) ;
+}
 
-  final public void ConstructQuery() throws ParseException {
-                          Template t ;
+  final public void ConstructQuery() throws ParseException {Template t ;
                           QuadAcc acc = new QuadAcc() ;
     jj_consume_token(CONSTRUCT);
-     getQuery().setQueryConstructType() ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case LBRACE:
+getQuery().setQueryConstructType() ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case LBRACE:{
       t = ConstructTemplate();
-        getQuery().setConstructTemplate(t) ;
+getQuery().setConstructTemplate(t) ;
       label_4:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case FROM:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case FROM:{
           ;
           break;
+          }
         default:
           jj_la1[12] = jj_gen;
           break label_4;
@@ -586,14 +608,16 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       WhereClause();
       SolutionModifier();
       break;
+      }
     case FROM:
-    case WHERE:
+    case WHERE:{
       label_5:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case FROM:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case FROM:{
           ;
           break;
+          }
         default:
           jj_la1[13] = jj_gen;
           break label_5;
@@ -605,51 +629,54 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       ConstructQuads(acc);
       jj_consume_token(RBRACE);
       SolutionModifier();
-      t = new Template(acc) ;
+t = new Template(acc) ;
       getQuery().setConstructTemplate(t) ;
    ElementGroup elg = createQueryPattern(t);
       getQuery().setQueryPattern(elg) ;
       break;
+      }
     default:
       jj_la1[14] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-  }
+}
 
-  final public void DescribeQuery() throws ParseException {
-                         Node n ;
+  final public void DescribeQuery() throws ParseException {Node n ;
     jj_consume_token(DESCRIBE);
-      getQuery().setQueryDescribeType() ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+getQuery().setQueryDescribeType() ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
     case VAR1:
-    case VAR2:
+    case VAR2:{
       label_6:
       while (true) {
         n = VarOrIri();
-                       getQuery().addDescribeNode(n) ;
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+getQuery().addDescribeNode(n) ;
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
         case IRIref:
         case PNAME_NS:
         case PNAME_LN:
         case VAR1:
-        case VAR2:
+        case VAR2:{
           ;
           break;
+          }
         default:
           jj_la1[15] = jj_gen;
           break label_6;
         }
       }
-      getQuery().setQueryResultStar(false) ;
+getQuery().setQueryResultStar(false) ;
       break;
-    case STAR:
+      }
+    case STAR:{
       jj_consume_token(STAR);
-      getQuery().setQueryResultStar(true) ;
+getQuery().setQueryResultStar(true) ;
       break;
+      }
     default:
       jj_la1[16] = jj_gen;
       jj_consume_token(-1);
@@ -657,37 +684,40 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     }
     label_7:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case FROM:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case FROM:{
         ;
         break;
+        }
       default:
         jj_la1[17] = jj_gen;
         break label_7;
       }
       DatasetClause();
     }
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case WHERE:
-    case LBRACE:
+    case LBRACE:{
       WhereClause();
       break;
+      }
     default:
       jj_la1[18] = jj_gen;
       ;
     }
     SolutionModifier();
-  }
+}
 
   final public void AskQuery() throws ParseException {
     jj_consume_token(ASK);
-          getQuery().setQueryAskType() ;
+getQuery().setQueryAskType() ;
     label_8:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case FROM:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case FROM:{
         ;
         break;
+        }
       default:
         jj_la1[19] = jj_gen;
         break label_8;
@@ -696,16 +726,17 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     }
     WhereClause();
     SolutionModifier();
-  }
+}
 
   final public void JsonQuery() throws ParseException {
     JsonClause();
     label_9:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case FROM:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case FROM:{
         ;
         break;
+        }
       default:
         jj_la1[20] = jj_gen;
         break label_9;
@@ -714,19 +745,20 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     }
     WhereClause();
     SolutionModifier();
-  }
+}
 
   final public void JsonClause() throws ParseException {
     jj_consume_token(JSON);
-           getQuery().setQueryJsonType() ;
+getQuery().setQueryJsonType() ;
     jj_consume_token(LBRACE);
     JsonObjectMember();
     label_10:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case COMMA:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case COMMA:{
         ;
         break;
+        }
       default:
         jj_la1[21] = jj_gen;
         break label_10;
@@ -735,27 +767,28 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       JsonObjectMember();
     }
     jj_consume_token(RBRACE);
-  }
+}
 
-  final public void JsonObjectMember() throws ParseException {
-                            Node o ; String s ; Token t;
+  final public void JsonObjectMember() throws ParseException {Node o ; String s ; Token t;
     s = String();
     t = jj_consume_token(PNAME_NS);
-    if ( ! t.image.equals(":") )
+if ( ! t.image.equals(":") )
       throwParseException("Prefix name expression not legal at this point : "+t.image, t.beginLine, t.beginColumn) ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case VAR1:
-    case VAR2:
+    case VAR2:{
       o = Var();
-                getQuery().addResultVar((Var)o) ; getQuery().addJsonMapping(s, o) ;
+getQuery().addResultVar((Var)o) ; getQuery().addJsonMapping(s, o) ;
       break;
+      }
     case STRING_LITERAL1:
     case STRING_LITERAL2:
     case STRING_LITERAL_LONG1:
-    case STRING_LITERAL_LONG2:
+    case STRING_LITERAL_LONG2:{
       o = RDFLiteral();
-                       getQuery().addResultVar(s, NodeValue.makeNode(o)) ; getQuery().addJsonMapping(s, o) ;
+getQuery().addResultVar(s, NodeValue.makeNode(o)) ; getQuery().addJsonMapping(s, o) ;
       break;
+      }
     case INTEGER:
     case DECIMAL:
     case DOUBLE:
@@ -764,111 +797,116 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case DOUBLE_POSITIVE:
     case INTEGER_NEGATIVE:
     case DECIMAL_NEGATIVE:
-    case DOUBLE_NEGATIVE:
+    case DOUBLE_NEGATIVE:{
       o = NumericLiteral();
-                           getQuery().addResultVar(s, NodeValue.makeNode(o)) ; getQuery().addJsonMapping(s, o) ;
+getQuery().addResultVar(s, NodeValue.makeNode(o)) ; getQuery().addJsonMapping(s, o) ;
       break;
+      }
     case TRUE:
-    case FALSE:
+    case FALSE:{
       o = BooleanLiteral();
-                           getQuery().addResultVar(s, NodeValue.makeNode(o)) ; getQuery().addJsonMapping(s, o) ;
+getQuery().addResultVar(s, NodeValue.makeNode(o)) ; getQuery().addJsonMapping(s, o) ;
       break;
+      }
     default:
       jj_la1[22] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-  }
+}
 
   final public void DatasetClause() throws ParseException {
     jj_consume_token(FROM);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       DefaultGraphClause();
       break;
-    case NAMED:
+      }
+    case NAMED:{
       NamedGraphClause();
       break;
+      }
     default:
       jj_la1[23] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-  }
+}
 
-  final public void DefaultGraphClause() throws ParseException {
-                              String iri ;
+  final public void DefaultGraphClause() throws ParseException {String iri ;
     iri = SourceSelector();
-    getQuery().addGraphURI(iri) ;
-  }
+getQuery().addGraphURI(iri) ;
+}
 
-  final public void NamedGraphClause() throws ParseException {
-                            String iri ;
+  final public void NamedGraphClause() throws ParseException {String iri ;
     jj_consume_token(NAMED);
     iri = SourceSelector();
-    getQuery().addNamedGraphURI(iri) ;
-  }
+getQuery().addNamedGraphURI(iri) ;
+}
 
-  final public String SourceSelector() throws ParseException {
-                            String iri ;
+  final public String SourceSelector() throws ParseException {String iri ;
     iri = iri();
-                {if (true) return iri ;}
+{if ("" != null) return iri ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public void WhereClause() throws ParseException {
-                       Element el ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case WHERE:
+  final public void WhereClause() throws ParseException {Element el ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case WHERE:{
       jj_consume_token(WHERE);
       break;
+      }
     default:
       jj_la1[24] = jj_gen;
       ;
     }
-     startWherePattern() ;
+startWherePattern() ;
     el = GroupGraphPattern();
-                              getQuery().setQueryPattern(el) ;
-     finishWherePattern() ;
-  }
+getQuery().setQueryPattern(el) ;
+finishWherePattern() ;
+}
 
   final public void SolutionModifier() throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case GROUP:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case GROUP:{
       GroupClause();
       break;
+      }
     default:
       jj_la1[25] = jj_gen;
       ;
     }
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case HAVING:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case HAVING:{
       HavingClause();
       break;
+      }
     default:
       jj_la1[26] = jj_gen;
       ;
     }
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case ORDER:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case ORDER:{
       OrderClause();
       break;
+      }
     default:
       jj_la1[27] = jj_gen;
       ;
     }
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case LIMIT:
-    case OFFSET:
+    case OFFSET:{
       LimitOffsetClauses();
       break;
+      }
     default:
       jj_la1[28] = jj_gen;
       ;
     }
-  }
+}
 
   final public void GroupClause() throws ParseException {
     jj_consume_token(GROUP);
@@ -876,7 +914,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     label_11:
     while (true) {
       GroupCondition();
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
@@ -963,19 +1001,19 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case SHA256:
       case SHA384:
       case SHA512:
-      case LPAREN:
+      case LPAREN:{
         ;
         break;
+        }
       default:
         jj_la1[29] = jj_gen;
         break label_11;
       }
     }
-  }
+}
 
-  final public void GroupCondition() throws ParseException {
-                          Var v = null ; Expr expr = null ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public void GroupCondition() throws ParseException {Var v = null ; Expr expr = null ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case TRIPLE:
     case IS_TRIPLE:
     case SUBJECT:
@@ -1056,50 +1094,55 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case SHA1:
     case SHA256:
     case SHA384:
-    case SHA512:
+    case SHA512:{
       expr = BuiltInCall();
-                           getQuery().addGroupBy((Var)null, expr) ;
+getQuery().addGroupBy((Var)null, expr) ;
       break;
+      }
     case IRIref:
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       expr = FunctionCall();
-                            getQuery().addGroupBy((Var)null, expr) ;
+getQuery().addGroupBy((Var)null, expr) ;
       break;
-    case LPAREN:
+      }
+    case LPAREN:{
       jj_consume_token(LPAREN);
       expr = Expression();
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case AS:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case AS:{
         jj_consume_token(AS);
         v = Var();
         break;
+        }
       default:
         jj_la1[30] = jj_gen;
         ;
       }
       jj_consume_token(RPAREN);
-      getQuery().addGroupBy(v ,expr) ;
+getQuery().addGroupBy(v ,expr) ;
       break;
+      }
     case VAR1:
-    case VAR2:
+    case VAR2:{
       v = Var();
-      getQuery().addGroupBy(v) ;
+getQuery().addGroupBy(v) ;
       break;
+      }
     default:
       jj_la1[31] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-  }
+}
 
   final public void HavingClause() throws ParseException {
-      setAllowAggregatesInExpressions(true) ;
+setAllowAggregatesInExpressions(true) ;
     jj_consume_token(HAVING);
     label_12:
     while (true) {
       HavingCondition();
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
@@ -1184,31 +1227,31 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case SHA256:
       case SHA384:
       case SHA512:
-      case LPAREN:
+      case LPAREN:{
         ;
         break;
+        }
       default:
         jj_la1[32] = jj_gen;
         break label_12;
       }
     }
-      setAllowAggregatesInExpressions(false) ;
-  }
+setAllowAggregatesInExpressions(false) ;
+}
 
-  final public void HavingCondition() throws ParseException {
-                           Expr c ;
+  final public void HavingCondition() throws ParseException {Expr c ;
     c = Constraint();
-    getQuery().addHavingCondition(c) ;
-  }
+getQuery().addHavingCondition(c) ;
+}
 
   final public void OrderClause() throws ParseException {
-    setAllowAggregatesInExpressions(true) ;
+setAllowAggregatesInExpressions(true) ;
     jj_consume_token(ORDER);
     jj_consume_token(BY);
     label_13:
     while (true) {
       OrderCondition();
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
@@ -1297,32 +1340,34 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case SHA256:
       case SHA384:
       case SHA512:
-      case LPAREN:
+      case LPAREN:{
         ;
         break;
+        }
       default:
         jj_la1[33] = jj_gen;
         break label_13;
       }
     }
-    setAllowAggregatesInExpressions(false) ;
-  }
+setAllowAggregatesInExpressions(false) ;
+}
 
-  final public void OrderCondition() throws ParseException {
-  int direction = 0 ; Expr expr = null ; Node v = null ;
-    direction = Query.ORDER_DEFAULT ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public void OrderCondition() throws ParseException {int direction = 0 ; Expr expr = null ; Node v = null ;
+direction = Query.ORDER_DEFAULT ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case ASC:
-    case DESC:
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case ASC:
+    case DESC:{
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case ASC:{
         jj_consume_token(ASC);
-                direction = Query.ORDER_ASCENDING ;
+direction = Query.ORDER_ASCENDING ;
         break;
-      case DESC:
+        }
+      case DESC:{
         jj_consume_token(DESC);
-                 direction = Query.ORDER_DESCENDING ;
+direction = Query.ORDER_DESCENDING ;
         break;
+        }
       default:
         jj_la1[34] = jj_gen;
         jj_consume_token(-1);
@@ -1330,6 +1375,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       }
       expr = BrackettedExpression();
       break;
+      }
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -1416,8 +1462,8 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case SHA256:
     case SHA384:
     case SHA512:
-    case LPAREN:
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case LPAREN:{
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
@@ -1502,45 +1548,49 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case SHA256:
       case SHA384:
       case SHA512:
-      case LPAREN:
+      case LPAREN:{
         expr = Constraint();
         break;
+        }
       case VAR1:
-      case VAR2:
+      case VAR2:{
         v = Var();
         break;
+        }
       default:
         jj_la1[35] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
       break;
+      }
     default:
       jj_la1[36] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    if ( v == null )
+if ( v == null )
           getQuery().addOrderBy(expr, direction) ;
       else
           getQuery().addOrderBy(v, direction) ;
-  }
+}
 
-  final public SortCondition OrderConditionForAggregationFunction() throws ParseException {
-  int direction = 0 ; Expr expr = null ; Node v = null ;
-    direction = Query.ORDER_DEFAULT ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public SortCondition OrderConditionForAggregationFunction() throws ParseException {int direction = 0 ; Expr expr = null ; Node v = null ;
+direction = Query.ORDER_DEFAULT ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case ASC:
-    case DESC:
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case ASC:
+    case DESC:{
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case ASC:{
         jj_consume_token(ASC);
-                direction = Query.ORDER_ASCENDING ;
+direction = Query.ORDER_ASCENDING ;
         break;
-      case DESC:
+        }
+      case DESC:{
         jj_consume_token(DESC);
-                 direction = Query.ORDER_DESCENDING ;
+direction = Query.ORDER_DESCENDING ;
         break;
+        }
       default:
         jj_la1[37] = jj_gen;
         jj_consume_token(-1);
@@ -1548,6 +1598,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       }
       expr = BrackettedExpression();
       break;
+      }
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -1634,8 +1685,8 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case SHA256:
     case SHA384:
     case SHA512:
-    case LPAREN:
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case LPAREN:{
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
@@ -1720,94 +1771,99 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case SHA256:
       case SHA384:
       case SHA512:
-      case LPAREN:
+      case LPAREN:{
         expr = Constraint();
         break;
+        }
       case VAR1:
-      case VAR2:
+      case VAR2:{
         v = Var();
         break;
+        }
       default:
         jj_la1[38] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
       break;
+      }
     default:
       jj_la1[39] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    if ( v == null )
-          {if (true) return new SortCondition(expr, direction) ;}
+if ( v == null )
+          {if ("" != null) return new SortCondition(expr, direction) ;}
       else
-          {if (true) return new SortCondition(v, direction) ;}
+          {if ("" != null) return new SortCondition(v, direction) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
   final public void LimitOffsetClauses() throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case LIMIT:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case LIMIT:{
       LimitClause();
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case OFFSET:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case OFFSET:{
         OffsetClause();
         break;
+        }
       default:
         jj_la1[40] = jj_gen;
         ;
       }
       break;
-    case OFFSET:
+      }
+    case OFFSET:{
       OffsetClause();
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case LIMIT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case LIMIT:{
         LimitClause();
         break;
+        }
       default:
         jj_la1[41] = jj_gen;
         ;
       }
       break;
+      }
     default:
       jj_la1[42] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-  }
+}
 
-  final public void LimitClause() throws ParseException {
-                       Token t ;
+  final public void LimitClause() throws ParseException {Token t ;
     jj_consume_token(LIMIT);
     t = jj_consume_token(INTEGER);
-      getQuery().setLimit(integerValue(t.image)) ;
-  }
+getQuery().setLimit(integerValue(t.image)) ;
+}
 
-  final public void OffsetClause() throws ParseException {
-                        Token t ;
+  final public void OffsetClause() throws ParseException {Token t ;
     jj_consume_token(OFFSET);
     t = jj_consume_token(INTEGER);
-      getQuery().setOffset(integerValue(t.image)) ;
-  }
+getQuery().setOffset(integerValue(t.image)) ;
+}
 
-  final public void ValuesClause() throws ParseException {
-                        Token t ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case VALUES:
+  final public void ValuesClause() throws ParseException {Token t ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case VALUES:{
       t = jj_consume_token(VALUES);
-      startValuesClause(t.beginLine, t.beginColumn) ;
+startValuesClause(t.beginLine, t.beginColumn) ;
       DataBlock();
-      finishValuesClause(t.beginLine, t.beginColumn) ;
+finishValuesClause(t.beginLine, t.beginColumn) ;
       break;
+      }
     default:
       jj_la1[43] = jj_gen;
       ;
     }
-  }
+}
 
   final public void Update() throws ParseException {
     Prologue();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case INSERT:
     case DELETE:
     case INSERT_DATA:
@@ -1820,7 +1876,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case MOVE:
     case COPY:
     case DROP:
-    case WITH:
+    case WITH:{
       Update1();
       label_14:
       while (true) {
@@ -1833,155 +1889,168 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
         Prologue();
         Update1();
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case SEMICOLON:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case SEMICOLON:{
         jj_consume_token(SEMICOLON);
         Prologue();
         break;
+        }
       default:
         jj_la1[44] = jj_gen;
         ;
       }
       break;
+      }
     default:
       jj_la1[45] = jj_gen;
       ;
     }
-  }
+}
 
-  final public void Update1() throws ParseException {
-                   Update up = null ;
-    startUpdateOperation() ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case LOAD:
+  final public void Update1() throws ParseException {Update up = null ;
+startUpdateOperation() ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case LOAD:{
       up = Load();
       break;
-    case CLEAR:
+      }
+    case CLEAR:{
       up = Clear();
       break;
-    case DROP:
+      }
+    case DROP:{
       up = Drop();
       break;
-    case ADD:
+      }
+    case ADD:{
       up = Add();
       break;
-    case MOVE:
+      }
+    case MOVE:{
       up = Move();
       break;
-    case COPY:
+      }
+    case COPY:{
       up = Copy();
       break;
-    case CREATE:
+      }
+    case CREATE:{
       up = Create();
       break;
-    case DELETE_WHERE:
+      }
+    case DELETE_WHERE:{
       up = DeleteWhere();
       break;
+      }
     case INSERT:
     case DELETE:
-    case WITH:
+    case WITH:{
       up = Modify();
       break;
-    case INSERT_DATA:
+      }
+    case INSERT_DATA:{
       InsertData();
       break;
-    case DELETE_DATA:
+      }
+    case DELETE_DATA:{
       DeleteData();
       break;
+      }
     default:
       jj_la1[46] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    if (null != up) emitUpdate(up) ;
+if (null != up) emitUpdate(up) ;
     finishUpdateOperation() ;
-  }
+}
 
-  final public Update Load() throws ParseException {
-                  String url ; Node dest = null ; boolean silent = false ;
+  final public Update Load() throws ParseException {String url ; Node dest = null ; boolean silent = false ;
     jj_consume_token(LOAD);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case SILENT:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case SILENT:{
       jj_consume_token(SILENT);
-                       silent = true ;
+silent = true ;
       break;
+      }
     default:
       jj_la1[47] = jj_gen;
       ;
     }
     url = iri();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case INTO:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case INTO:{
       jj_consume_token(INTO);
       dest = GraphRef();
       break;
+      }
     default:
       jj_la1[48] = jj_gen;
       ;
     }
-      {if (true) return new UpdateLoad(url, dest, silent) ;}
+{if ("" != null) return new UpdateLoad(url, dest, silent) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Update Clear() throws ParseException {
-                   boolean silent = false ; Target target ;
+  final public Update Clear() throws ParseException {boolean silent = false ; Target target ;
     jj_consume_token(CLEAR);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case SILENT:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case SILENT:{
       jj_consume_token(SILENT);
-                       silent = true ;
+silent = true ;
       break;
+      }
     default:
       jj_la1[49] = jj_gen;
       ;
     }
     target = GraphRefAll();
-     {if (true) return new UpdateClear(target, silent) ;}
+{if ("" != null) return new UpdateClear(target, silent) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Update Drop() throws ParseException {
-                  boolean silent = false ; Target target ;
+  final public Update Drop() throws ParseException {boolean silent = false ; Target target ;
     jj_consume_token(DROP);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case SILENT:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case SILENT:{
       jj_consume_token(SILENT);
-                      silent = true ;
+silent = true ;
       break;
+      }
     default:
       jj_la1[50] = jj_gen;
       ;
     }
     target = GraphRefAll();
-     {if (true) return new UpdateDrop(target, silent) ;}
+{if ("" != null) return new UpdateDrop(target, silent) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Update Create() throws ParseException {
-                    Node iri ; boolean silent = false ;
+  final public Update Create() throws ParseException {Node iri ; boolean silent = false ;
     jj_consume_token(CREATE);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case SILENT:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case SILENT:{
       jj_consume_token(SILENT);
-                        silent=true ;
+silent=true ;
       break;
+      }
     default:
       jj_la1[51] = jj_gen;
       ;
     }
     iri = GraphRef();
-     {if (true) return new UpdateCreate(iri, silent) ;}
+{if ("" != null) return new UpdateCreate(iri, silent) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Update Add() throws ParseException {
-                 Target src ; Target dest ; boolean silent = false ;
+  final public Update Add() throws ParseException {Target src ; Target dest ; boolean silent = false ;
     jj_consume_token(ADD);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case SILENT:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case SILENT:{
       jj_consume_token(SILENT);
-                    silent=true ;
+silent=true ;
       break;
+      }
     default:
       jj_la1[52] = jj_gen;
       ;
@@ -1989,18 +2058,18 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     src = GraphOrDefault();
     jj_consume_token(TO);
     dest = GraphOrDefault();
-    {if (true) return new UpdateAdd(src, dest, silent) ;}
+{if ("" != null) return new UpdateAdd(src, dest, silent) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Update Move() throws ParseException {
-                  Target src ; Target dest ; boolean silent = false ;
+  final public Update Move() throws ParseException {Target src ; Target dest ; boolean silent = false ;
     jj_consume_token(MOVE);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case SILENT:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case SILENT:{
       jj_consume_token(SILENT);
-                     silent=true ;
+silent=true ;
       break;
+      }
     default:
       jj_la1[53] = jj_gen;
       ;
@@ -2008,18 +2077,18 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     src = GraphOrDefault();
     jj_consume_token(TO);
     dest = GraphOrDefault();
-    {if (true) return new UpdateMove(src, dest, silent) ;}
+{if ("" != null) return new UpdateMove(src, dest, silent) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Update Copy() throws ParseException {
-                  Target src ; Target dest ; boolean silent = false ;
+  final public Update Copy() throws ParseException {Target src ; Target dest ; boolean silent = false ;
     jj_consume_token(COPY);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case SILENT:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case SILENT:{
       jj_consume_token(SILENT);
-                     silent=true ;
+silent=true ;
       break;
+      }
     default:
       jj_la1[54] = jj_gen;
       ;
@@ -2027,70 +2096,70 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     src = GraphOrDefault();
     jj_consume_token(TO);
     dest = GraphOrDefault();
-    {if (true) return new UpdateCopy(src, dest, silent) ;}
+{if ("" != null) return new UpdateCopy(src, dest, silent) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public void InsertData() throws ParseException {
-                      QuadDataAccSink qd = createInsertDataSink() ; Token t ;
+  final public void InsertData() throws ParseException {QuadDataAccSink qd = createInsertDataSink() ; Token t ;
     t = jj_consume_token(INSERT_DATA);
-    int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
-    startDataInsert(qd, beginLine, beginColumn) ;
+int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
+startDataInsert(qd, beginLine, beginColumn) ;
     QuadData(qd);
-    finishDataInsert(qd, beginLine, beginColumn) ;
+finishDataInsert(qd, beginLine, beginColumn) ;
     qd.close() ;
-  }
+}
 
-  final public void DeleteData() throws ParseException {
-                      QuadDataAccSink qd = createDeleteDataSink() ; Token t ;
+  final public void DeleteData() throws ParseException {QuadDataAccSink qd = createDeleteDataSink() ; Token t ;
     t = jj_consume_token(DELETE_DATA);
-    int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
-    startDataDelete(qd, beginLine, beginColumn) ;
+int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
+startDataDelete(qd, beginLine, beginColumn) ;
     QuadData(qd);
-    finishDataDelete(qd, beginLine, beginColumn) ;
+finishDataDelete(qd, beginLine, beginColumn) ;
     qd.close() ;
-  }
+}
 
-  final public Update DeleteWhere() throws ParseException {
-                         QuadAcc qp = new QuadAcc() ; Token t ;
+  final public Update DeleteWhere() throws ParseException {QuadAcc qp = new QuadAcc() ; Token t ;
     t = jj_consume_token(DELETE_WHERE);
-    int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
-    startDeleteTemplate(qp, beginLine, beginColumn) ;
+int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
+startDeleteTemplate(qp, beginLine, beginColumn) ;
     QuadPattern(qp);
-    finishDeleteTemplate(qp, beginLine, beginColumn) ;
-    {if (true) return new UpdateDeleteWhere(qp) ;}
+finishDeleteTemplate(qp, beginLine, beginColumn) ;
+{if ("" != null) return new UpdateDeleteWhere(qp) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Update Modify() throws ParseException {
-                    Element el ; String iri = null ;
+  final public Update Modify() throws ParseException {Element el ; String iri = null ;
                     UpdateModify up = new UpdateModify() ;
-    startModifyUpdate() ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case WITH:
+startModifyUpdate() ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case WITH:{
       jj_consume_token(WITH);
       iri = iri();
-                         Node n = createNode(iri) ; up.setWithIRI(n) ;
+Node n = createNode(iri) ; up.setWithIRI(n) ;
       break;
+      }
     default:
       jj_la1[55] = jj_gen;
       ;
     }
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case DELETE:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case DELETE:{
       DeleteClause(up);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case INSERT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case INSERT:{
         InsertClause(up);
         break;
+        }
       default:
         jj_la1[56] = jj_gen;
         ;
       }
       break;
-    case INSERT:
+      }
+    case INSERT:{
       InsertClause(up);
       break;
+      }
     default:
       jj_la1[57] = jj_gen;
       jj_consume_token(-1);
@@ -2098,10 +2167,11 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     }
     label_15:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case USING:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case USING:{
         ;
         break;
+        }
       default:
         jj_la1[58] = jj_gen;
         break label_15;
@@ -2109,136 +2179,139 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       UsingClause(up);
     }
     jj_consume_token(WHERE);
-    startWherePattern() ;
+startWherePattern() ;
     el = GroupGraphPattern();
-                             up.setElement(el) ;
-    finishWherePattern() ;
-    finishModifyUpdate() ;
-    {if (true) return up ;}
+up.setElement(el) ;
+finishWherePattern() ;
+finishModifyUpdate() ;
+{if ("" != null) return up ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public void DeleteClause(UpdateModify up) throws ParseException {
-                                       QuadAcc qp = up.getDeleteAcc() ; Token t ;
+  final public void DeleteClause(UpdateModify up) throws ParseException {QuadAcc qp = up.getDeleteAcc() ; Token t ;
     t = jj_consume_token(DELETE);
-     int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
-     startDeleteTemplate(qp, beginLine, beginColumn) ;
+int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
+startDeleteTemplate(qp, beginLine, beginColumn) ;
     QuadPattern(qp);
-     finishDeleteTemplate(qp, beginLine, beginColumn) ;
-     up.setHasDeleteClause(true) ;
-  }
+finishDeleteTemplate(qp, beginLine, beginColumn) ;
+up.setHasDeleteClause(true) ;
+}
 
-  final public void InsertClause(UpdateModify up) throws ParseException {
-                                       QuadAcc qp = up.getInsertAcc() ; Token t ;
+  final public void InsertClause(UpdateModify up) throws ParseException {QuadAcc qp = up.getInsertAcc() ; Token t ;
     t = jj_consume_token(INSERT);
-     int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
-     startInsertTemplate(qp, beginLine, beginColumn) ;
+int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
+startInsertTemplate(qp, beginLine, beginColumn) ;
     QuadPattern(qp);
-     finishInsertTemplate(qp, beginLine, beginColumn) ;
-     up.setHasInsertClause(true) ;
-  }
+finishInsertTemplate(qp, beginLine, beginColumn) ;
+up.setHasInsertClause(true) ;
+}
 
-  final public void UsingClause(UpdateWithUsing update) throws ParseException {
-                                             String iri ; Node n ;
+  final public void UsingClause(UpdateWithUsing update) throws ParseException {String iri ; Node n ;
     jj_consume_token(USING);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       iri = iri();
-      n = createNode(iri) ; update.addUsing(n) ;
+n = createNode(iri) ; update.addUsing(n) ;
       break;
-    case NAMED:
+      }
+    case NAMED:{
       jj_consume_token(NAMED);
       iri = iri();
-      n = createNode(iri) ; update.addUsingNamed(n) ;
+n = createNode(iri) ; update.addUsingNamed(n) ;
       break;
+      }
     default:
       jj_la1[59] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-  }
+}
 
-  final public Target GraphOrDefault() throws ParseException {
-                            String iri ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case DFT:
+  final public Target GraphOrDefault() throws ParseException {String iri ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case DFT:{
       jj_consume_token(DFT);
-            {if (true) return Target.DEFAULT ;}
+{if ("" != null) return Target.DEFAULT ;}
       break;
+      }
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
-    case GRAPH:
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case GRAPH:
+    case GRAPH:{
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case GRAPH:{
         jj_consume_token(GRAPH);
         break;
+        }
       default:
         jj_la1[60] = jj_gen;
         ;
       }
       iri = iri();
-       {if (true) return Target.create(createNode(iri)) ;}
+{if ("" != null) return Target.create(createNode(iri)) ;}
       break;
+      }
     default:
       jj_la1[61] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node GraphRef() throws ParseException {
-                    String iri ;
+  final public Node GraphRef() throws ParseException {String iri ;
     jj_consume_token(GRAPH);
     iri = iri();
-      {if (true) return createNode(iri) ;}
+{if ("" != null) return createNode(iri) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Target GraphRefAll() throws ParseException {
-                         Node iri ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case GRAPH:
+  final public Target GraphRefAll() throws ParseException {Node iri ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case GRAPH:{
       iri = GraphRef();
-       {if (true) return Target.create(iri) ;}
+{if ("" != null) return Target.create(iri) ;}
       break;
-    case DFT:
+      }
+    case DFT:{
       jj_consume_token(DFT);
-             {if (true) return Target.DEFAULT ;}
+{if ("" != null) return Target.DEFAULT ;}
       break;
-    case NAMED:
+      }
+    case NAMED:{
       jj_consume_token(NAMED);
-               {if (true) return Target.NAMED ;}
+{if ("" != null) return Target.NAMED ;}
       break;
-    case ALL:
+      }
+    case ALL:{
       jj_consume_token(ALL);
-             {if (true) return Target.ALL ;}
+{if ("" != null) return Target.ALL ;}
       break;
+      }
     default:
       jj_la1[62] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
   final public void QuadPattern(QuadAcc acc) throws ParseException {
     jj_consume_token(LBRACE);
     Quads(acc);
     jj_consume_token(RBRACE);
-  }
+}
 
   final public void QuadData(QuadDataAccSink acc) throws ParseException {
     jj_consume_token(LBRACE);
     Quads(acc);
     jj_consume_token(RBRACE);
-  }
+}
 
   final public void Quads(QuadAccSink acc) throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -2264,33 +2337,36 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case NIL:
     case LBRACKET:
     case ANON:
-    case LT2:
+    case LT2:{
       TriplesTemplate(acc);
       break;
+      }
     default:
       jj_la1[63] = jj_gen;
       ;
     }
     label_16:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case GRAPH:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case GRAPH:{
         ;
         break;
+        }
       default:
         jj_la1[64] = jj_gen;
         break label_16;
       }
       QuadsNotTriples(acc);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DOT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DOT:{
         jj_consume_token(DOT);
         break;
+        }
       default:
         jj_la1[65] = jj_gen;
         ;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
@@ -2316,23 +2392,23 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case NIL:
       case LBRACKET:
       case ANON:
-      case LT2:
+      case LT2:{
         TriplesTemplate(acc);
         break;
+        }
       default:
         jj_la1[66] = jj_gen;
         ;
       }
     }
-  }
+}
 
-  final public void QuadsNotTriples(QuadAccSink acc) throws ParseException {
-                                         Node gn ; Node prev = acc.getGraph() ;
+  final public void QuadsNotTriples(QuadAccSink acc) throws ParseException {Node gn ; Node prev = acc.getGraph() ;
     jj_consume_token(GRAPH);
     gn = VarOrBlankNodeOrIri();
-      setAccGraph(acc, gn) ;
+setAccGraph(acc, gn) ;
     jj_consume_token(LBRACE);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -2358,19 +2434,20 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case NIL:
     case LBRACKET:
     case ANON:
-    case LT2:
+    case LT2:{
       TriplesTemplate(acc);
       break;
+      }
     default:
       jj_la1[67] = jj_gen;
       ;
     }
     jj_consume_token(RBRACE);
-      setAccGraph(acc, prev) ;
-  }
+setAccGraph(acc, prev) ;
+}
 
   final public void ConstructQuads(QuadAcc acc) throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -2396,34 +2473,37 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case NIL:
     case LBRACKET:
     case ANON:
-    case LT2:
+    case LT2:{
       TriplesTemplate(acc);
       break;
+      }
     default:
       jj_la1[68] = jj_gen;
       ;
     }
     label_17:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case GRAPH:
-      case LBRACE:
+      case LBRACE:{
         ;
         break;
+        }
       default:
         jj_la1[69] = jj_gen;
         break label_17;
       }
       ConstructQuadsNotTriples(acc);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DOT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DOT:{
         jj_consume_token(DOT);
         break;
+        }
       default:
         jj_la1[70] = jj_gen;
         ;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
@@ -2449,31 +2529,32 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case NIL:
       case LBRACKET:
       case ANON:
-      case LT2:
+      case LT2:{
         TriplesTemplate(acc);
         break;
+        }
       default:
         jj_la1[71] = jj_gen;
         ;
       }
     }
-  }
+}
 
-  final public void ConstructQuadsNotTriples(QuadAccSink acc) throws ParseException {
-       Node gn = Quad.defaultGraphNodeGenerated ;
+  final public void ConstructQuadsNotTriples(QuadAccSink acc) throws ParseException {Node gn = Quad.defaultGraphNodeGenerated ;
        Node prev = acc.getGraph() ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case GRAPH:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case GRAPH:{
       jj_consume_token(GRAPH);
       gn = VarOrBlankNodeOrIri();
       break;
+      }
     default:
       jj_la1[72] = jj_gen;
       ;
     }
-      setAccGraph(acc, gn) ;
+setAccGraph(acc, gn) ;
     jj_consume_token(LBRACE);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -2499,16 +2580,17 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case NIL:
     case LBRACKET:
     case ANON:
-    case LT2:
+    case LT2:{
       TriplesTemplate(acc);
       break;
+      }
     default:
       jj_la1[73] = jj_gen;
       ;
     }
     jj_consume_token(RBRACE);
-      setAccGraph(acc, prev) ;
-  }
+setAccGraph(acc, prev) ;
+}
 
   final public void TriplesTemplate(TripleCollector acc) throws ParseException {
     TriplesSameSubject(acc);
@@ -2522,41 +2604,41 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       jj_consume_token(DOT);
       TriplesSameSubject(acc);
     }
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case DOT:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case DOT:{
       jj_consume_token(DOT);
       break;
+      }
     default:
       jj_la1[74] = jj_gen;
       ;
     }
-  }
+}
 
-  final public Element GroupGraphPattern() throws ParseException {
-                                Element el = null ; Token t ;
+  final public Element GroupGraphPattern() throws ParseException {Element el = null ; Token t ;
     t = jj_consume_token(LBRACE);
-    int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case SELECT:
-      startSubSelect(beginLine, beginColumn) ;
+int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case SELECT:{
+startSubSelect(beginLine, beginColumn) ;
       SubSelect();
-      Query q = endSubSelect(beginLine, beginColumn) ;
+Query q = endSubSelect(beginLine, beginColumn) ;
       el = new ElementSubQuery(q) ;
       break;
+      }
     default:
       jj_la1[75] = jj_gen;
       el = GroupGraphPatternSub();
     }
     jj_consume_token(RBRACE);
-      {if (true) return el ;}
+{if ("" != null) return el ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Element GroupGraphPatternSub() throws ParseException {
-                                   Element el = null ;
-        ElementGroup elg = new ElementGroup() ;
-        startGroup(elg) ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public Element GroupGraphPatternSub() throws ParseException {Element el = null ;
+ElementGroup elg = new ElementGroup() ;
+startGroup(elg) ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -2582,19 +2664,20 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case NIL:
     case LBRACKET:
     case ANON:
-    case LT2:
-      startTriplesBlock() ;
+    case LT2:{
+startTriplesBlock() ;
       el = TriplesBlock(null);
-      endTriplesBlock() ;
+endTriplesBlock() ;
       elg.addElement(el) ;
       break;
+      }
     default:
       jj_la1[76] = jj_gen;
       ;
     }
     label_19:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case VALUES:
       case GRAPH:
       case OPTIONAL:
@@ -2607,24 +2690,26 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case EXISTS:
       case NOT:
       case FILTER:
-      case LBRACE:
+      case LBRACE:{
         ;
         break;
+        }
       default:
         jj_la1[77] = jj_gen;
         break label_19;
       }
       el = GraphPatternNotTriples();
-      elg.addElement(el) ;
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DOT:
+elg.addElement(el) ;
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DOT:{
         jj_consume_token(DOT);
         break;
+        }
       default:
         jj_la1[78] = jj_gen;
         ;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
@@ -2650,30 +2735,31 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case NIL:
       case LBRACKET:
       case ANON:
-      case LT2:
-        startTriplesBlock() ;
+      case LT2:{
+startTriplesBlock() ;
         el = TriplesBlock(null);
-        endTriplesBlock() ;
+endTriplesBlock() ;
         elg.addElement(el) ;
         break;
+        }
       default:
         jj_la1[79] = jj_gen;
         ;
       }
     }
-        endGroup(elg) ;
-        {if (true) return elg ;}
+endGroup(elg) ;
+{if ("" != null) return elg ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
   final public Element TriplesBlock(ElementPathBlock acc) throws ParseException {
-    if ( acc == null )
+if ( acc == null )
         acc = new ElementPathBlock() ;
     TriplesSameSubjectPath(acc);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case DOT:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case DOT:{
       jj_consume_token(DOT);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
@@ -2699,166 +2785,176 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case NIL:
       case LBRACKET:
       case ANON:
-      case LT2:
+      case LT2:{
         TriplesBlock(acc);
         break;
+        }
       default:
         jj_la1[80] = jj_gen;
         ;
       }
       break;
+      }
     default:
       jj_la1[81] = jj_gen;
       ;
     }
-      {if (true) return acc ;}
+{if ("" != null) return acc ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Element GraphPatternNotTriples() throws ParseException {
-                                     Element el = null ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case LBRACE:
+  final public Element GraphPatternNotTriples() throws ParseException {Element el = null ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case LBRACE:{
       el = GroupOrUnionGraphPattern();
       break;
-    case OPTIONAL:
+      }
+    case OPTIONAL:{
       el = OptionalGraphPattern();
       break;
-    case LATERAL:
+      }
+    case LATERAL:{
       el = LateralGraphPattern();
       break;
-    case MINUS_P:
+      }
+    case MINUS_P:{
       el = MinusGraphPattern();
       break;
-    case GRAPH:
+      }
+    case GRAPH:{
       el = GraphGraphPattern();
       break;
-    case SERVICE:
+      }
+    case SERVICE:{
       el = ServiceGraphPattern();
       break;
-    case FILTER:
+      }
+    case FILTER:{
       el = Filter();
       break;
-    case BIND:
+      }
+    case BIND:{
       el = Bind();
       break;
-    case VALUES:
+      }
+    case VALUES:{
       el = InlineData();
       break;
-    case LET:
+      }
+    case LET:{
       el = Assignment();
       break;
-    case UNFOLD:
-      el = Unfold();
-      break;
-    case EXISTS:
+      }
+    case EXISTS:{
       el = ExistsElt();
       break;
-    case NOT:
+      }
+    case NOT:{
       el = NotExistsElt();
       break;
+      }
+    case UNFOLD:{
+      el = Unfold();
+      break;
+      }
     default:
       jj_la1[82] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-   {if (true) return el ;}
+{if ("" != null) return el ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Element OptionalGraphPattern() throws ParseException {
-                                   Element el ;
+  final public Element OptionalGraphPattern() throws ParseException {Element el ;
     jj_consume_token(OPTIONAL);
     el = GroupGraphPattern();
-      {if (true) return new ElementOptional(el) ;}
+{if ("" != null) return new ElementOptional(el) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Element LateralGraphPattern() throws ParseException {
-                                  Element el ;
+  final public Element LateralGraphPattern() throws ParseException {Element el ;
     jj_consume_token(LATERAL);
     el = GroupGraphPattern();
-      {if (true) return new ElementLateral(el) ;}
+{if ("" != null) return new ElementLateral(el) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Element GraphGraphPattern() throws ParseException {
-                                Element el ; Node n ;
+  final public Element GraphGraphPattern() throws ParseException {Element el ; Node n ;
     jj_consume_token(GRAPH);
     n = VarOrIri();
     el = GroupGraphPattern();
-      {if (true) return new ElementNamedGraph(n, el) ;}
+{if ("" != null) return new ElementNamedGraph(n, el) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Element ServiceGraphPattern() throws ParseException {
-                                  Element el ; Node n ; boolean silent = false ;
+  final public Element ServiceGraphPattern() throws ParseException {Element el ; Node n ; boolean silent = false ;
     jj_consume_token(SERVICE);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case SILENT:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case SILENT:{
       jj_consume_token(SILENT);
-     silent=true;
+silent=true;
       break;
+      }
     default:
       jj_la1[83] = jj_gen;
       ;
     }
     n = VarOrIri();
     el = GroupGraphPattern();
-      {if (true) return new ElementService(n, el, silent) ;}
+{if ("" != null) return new ElementService(n, el, silent) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Element Bind() throws ParseException {
-                   Var v ; Expr expr ;
+  final public Element Bind() throws ParseException {Var v ; Expr expr ;
     jj_consume_token(BIND);
     jj_consume_token(LPAREN);
     expr = Expression();
     jj_consume_token(AS);
     v = Var();
     jj_consume_token(RPAREN);
-    {if (true) return new ElementBind(v, expr) ;}
+{if ("" != null) return new ElementBind(v, expr) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Element InlineData() throws ParseException {
-                         ElementData el ; Token t ;
+  final public Element InlineData() throws ParseException {ElementData el ; Token t ;
     t = jj_consume_token(VALUES);
-    int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
-    el = new ElementData() ;
+int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
+el = new ElementData() ;
     startInlineData(el.getVars(), el.getRows(), beginLine, beginColumn) ;
     DataBlock();
-    finishInlineData(beginLine, beginColumn) ;
-    {if (true) return el ;}
+finishInlineData(beginLine, beginColumn) ;
+    {if ("" != null) return el ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
   final public void DataBlock() throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case VAR1:
-    case VAR2:
+    case VAR2:{
       InlineDataOneVar();
       break;
+      }
     case LPAREN:
-    case NIL:
+    case NIL:{
       InlineDataFull();
       break;
+      }
     default:
       jj_la1[84] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-  }
+}
 
-  final public void InlineDataOneVar() throws ParseException {
-                            Var v ; Node n ; Token t ; ; int beginLine; int beginColumn;
+  final public void InlineDataOneVar() throws ParseException {Var v ; Node n ; Token t ; ; int beginLine; int beginColumn;
     v = Var();
-    emitDataBlockVariable(v) ;
+emitDataBlockVariable(v) ;
     t = jj_consume_token(LBRACE);
-    beginLine = t.beginLine; beginColumn = t.beginColumn; t = null;
+beginLine = t.beginLine; beginColumn = t.beginColumn; t = null;
     label_20:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
@@ -2878,45 +2974,48 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case STRING_LITERAL2:
       case STRING_LITERAL_LONG1:
       case STRING_LITERAL_LONG2:
-      case LT2:
+      case LT2:{
         ;
         break;
+        }
       default:
         jj_la1[85] = jj_gen;
         break label_20;
       }
       n = DataBlockValue();
-      startDataBlockValueRow(beginLine, beginColumn) ;
+startDataBlockValueRow(beginLine, beginColumn) ;
       emitDataBlockValue(n, beginLine, beginColumn) ;
       finishDataBlockValueRow(beginLine, beginColumn) ;
     }
     t = jj_consume_token(RBRACE);
-  }
+}
 
-  final public void InlineDataFull() throws ParseException {
-                          Var v ; Node n ; Token t ; int beginLine; int beginColumn;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case NIL:
+  final public void InlineDataFull() throws ParseException {Var v ; Node n ; Token t ; int beginLine; int beginColumn;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case NIL:{
       jj_consume_token(NIL);
       break;
-    case LPAREN:
+      }
+    case LPAREN:{
       jj_consume_token(LPAREN);
       label_21:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
         case VAR1:
-        case VAR2:
+        case VAR2:{
           ;
           break;
+          }
         default:
           jj_la1[86] = jj_gen;
           break label_21;
         }
         v = Var();
-                 emitDataBlockVariable(v) ;
+emitDataBlockVariable(v) ;
       }
       jj_consume_token(RPAREN);
       break;
+      }
     default:
       jj_la1[87] = jj_gen;
       jj_consume_token(-1);
@@ -2925,23 +3024,24 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     jj_consume_token(LBRACE);
     label_22:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case LPAREN:
-      case NIL:
+      case NIL:{
         ;
         break;
+        }
       default:
         jj_la1[88] = jj_gen;
         break label_22;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case LPAREN:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case LPAREN:{
         t = jj_consume_token(LPAREN);
-      beginLine = t.beginLine; beginColumn = t.beginColumn; t = null;
-      startDataBlockValueRow(beginLine, beginColumn) ;
+beginLine = t.beginLine; beginColumn = t.beginColumn; t = null;
+startDataBlockValueRow(beginLine, beginColumn) ;
         label_23:
         while (true) {
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+          switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
           case IRIref:
           case PNAME_NS:
           case PNAME_LN:
@@ -2961,26 +3061,29 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
           case STRING_LITERAL2:
           case STRING_LITERAL_LONG1:
           case STRING_LITERAL_LONG2:
-          case LT2:
+          case LT2:{
             ;
             break;
+            }
           default:
             jj_la1[89] = jj_gen;
             break label_23;
           }
           n = DataBlockValue();
-          emitDataBlockValue(n, beginLine, beginColumn) ;
+emitDataBlockValue(n, beginLine, beginColumn) ;
         }
         t = jj_consume_token(RPAREN);
-      beginLine = t.beginLine; beginColumn = t.beginColumn; t = null;
-        finishDataBlockValueRow(beginLine, beginColumn) ;
+beginLine = t.beginLine; beginColumn = t.beginColumn; t = null;
+finishDataBlockValueRow(beginLine, beginColumn) ;
         break;
-      case NIL:
+        }
+      case NIL:{
         t = jj_consume_token(NIL);
-      beginLine = t.beginLine; beginColumn = t.beginColumn; t = null;
-        startDataBlockValueRow(beginLine, beginColumn) ;
-        finishDataBlockValueRow(beginLine, beginColumn) ;
+beginLine = t.beginLine; beginColumn = t.beginColumn; t = null;
+startDataBlockValueRow(beginLine, beginColumn) ;
+finishDataBlockValueRow(beginLine, beginColumn) ;
         break;
+        }
       default:
         jj_la1[90] = jj_gen;
         jj_consume_token(-1);
@@ -2988,24 +3091,25 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       }
     }
     jj_consume_token(RBRACE);
-  }
+}
 
-  final public Node DataBlockValue() throws ParseException {
-                          Node n ; String iri ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public Node DataBlockValue() throws ParseException {Node n ; String iri ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       iri = iri();
-                {if (true) return createNode(iri) ;}
+{if ("" != null) return createNode(iri) ;}
       break;
+      }
     case STRING_LITERAL1:
     case STRING_LITERAL2:
     case STRING_LITERAL_LONG1:
-    case STRING_LITERAL_LONG2:
+    case STRING_LITERAL_LONG2:{
       n = RDFLiteral();
-                     {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     case INTEGER:
     case DECIMAL:
     case DOUBLE:
@@ -3014,130 +3118,129 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case DOUBLE_POSITIVE:
     case INTEGER_NEGATIVE:
     case DECIMAL_NEGATIVE:
-    case DOUBLE_NEGATIVE:
+    case DOUBLE_NEGATIVE:{
       n = NumericLiteral();
-                         {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     case TRUE:
-    case FALSE:
+    case FALSE:{
       n = BooleanLiteral();
-                         {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
-    case UNDEF:
+      }
+    case UNDEF:{
       jj_consume_token(UNDEF);
-            {if (true) return null ;}
+{if ("" != null) return null ;}
       break;
-    case LT2:
+      }
+    case LT2:{
       n = QuotedTripleData();
-                           {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     default:
       jj_la1[91] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Element Assignment() throws ParseException {
-                         Var v ; Expr expr ;
+  final public Element Assignment() throws ParseException {Var v ; Expr expr ;
     jj_consume_token(LET);
     jj_consume_token(LPAREN);
     v = Var();
     jj_consume_token(ASSIGN);
     expr = Expression();
     jj_consume_token(RPAREN);
-      {if (true) return new ElementAssign(v, expr) ;}
+{if ("" != null) return new ElementAssign(v, expr) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Element Unfold() throws ParseException {
-                     Var v1 ; Var v2 = null ; Expr expr ;
+  final public Element ExistsElt() throws ParseException {Element el ;
+    jj_consume_token(EXISTS);
+    el = GroupGraphPattern();
+{if ("" != null) return new ElementExists(el) ;}
+    throw new Error("Missing return statement in function");
+}
+
+  final public Element NotExistsElt() throws ParseException {Element el ;
+    jj_consume_token(NOT);
+    jj_consume_token(EXISTS);
+    el = GroupGraphPattern();
+{if ("" != null) return new ElementNotExists(el) ;}
+    throw new Error("Missing return statement in function");
+}
+
+  final public Element Unfold() throws ParseException {Var v1 ; Var v2 = null ; Expr expr ;
     jj_consume_token(UNFOLD);
     jj_consume_token(LPAREN);
     expr = Expression();
     jj_consume_token(AS);
     v1 = Var();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case COMMA:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case COMMA:{
       jj_consume_token(COMMA);
       v2 = Var();
-                        ;
+;
       break;
+      }
     default:
       jj_la1[92] = jj_gen;
       ;
     }
     jj_consume_token(RPAREN);
-    {if (true) return new ElementUnfold(expr, v1, v2) ;}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Element ExistsElt() throws ParseException {
-                        Element el ;
-    jj_consume_token(EXISTS);
-    el = GroupGraphPattern();
-      {if (true) return new ElementExists(el) ;}
+{if ("" != null) return new ElementUnfold(expr, v1, v2) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Element NotExistsElt() throws ParseException {
-                           Element el ;
-    jj_consume_token(NOT);
-    jj_consume_token(EXISTS);
-    el = GroupGraphPattern();
-      {if (true) return new ElementNotExists(el) ;}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Element MinusGraphPattern() throws ParseException {
-                                Element el ;
+  final public Element MinusGraphPattern() throws ParseException {Element el ;
     jj_consume_token(MINUS_P);
     el = GroupGraphPattern();
-      {if (true) return new ElementMinus(el) ;}
+{if ("" != null) return new ElementMinus(el) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Element GroupOrUnionGraphPattern() throws ParseException {
-      Element el = null ; ElementUnion el2 = null ;
+  final public Element GroupOrUnionGraphPattern() throws ParseException {Element el = null ; ElementUnion el2 = null ;
     el = GroupGraphPattern();
     label_24:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case UNION:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case UNION:{
         ;
         break;
+        }
       default:
         jj_la1[93] = jj_gen;
         break label_24;
       }
       jj_consume_token(UNION);
-      if ( el2 == null )
+if ( el2 == null )
       {
         el2 = new ElementUnion() ;
         el2.addElement(el) ;
       }
       el = GroupGraphPattern();
-      el2.addElement(el) ;
+el2.addElement(el) ;
     }
-      {if (true) return (el2==null)? el : el2 ;}
+{if ("" != null) return (el2==null)? el : el2 ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Element Filter() throws ParseException {
-                     Expr c ;
+  final public Element Filter() throws ParseException {Expr c ;
     jj_consume_token(FILTER);
     c = Constraint();
-    {if (true) return new ElementFilter(c) ;}
+{if ("" != null) return new ElementFilter(c) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr Constraint() throws ParseException {
-                      Expr c ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case LPAREN:
+  final public Expr Constraint() throws ParseException {Expr c ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case LPAREN:{
       c = BrackettedExpression();
       break;
+      }
     case TRIPLE:
     case IS_TRIPLE:
     case SUBJECT:
@@ -3218,132 +3321,137 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case SHA1:
     case SHA256:
     case SHA384:
-    case SHA512:
+    case SHA512:{
       c = BuiltInCall();
       break;
+      }
     case IRIref:
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       c = FunctionCall();
       break;
+      }
     default:
       jj_la1[94] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    {if (true) return c ;}
+{if ("" != null) return c ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr FunctionCall() throws ParseException {
-                        String fname ; Args a ;
+  final public Expr FunctionCall() throws ParseException {String fname ; Args a ;
     fname = iri();
     a = ArgList();
-     if ( AggregateRegistry.isRegistered(fname) ) {
+if ( AggregateRegistry.isRegistered(fname) ) {
          if ( ! getAllowAggregatesInExpressions() )
             throwParseException("Aggregate expression not legal at this point : "+fname, -1, -1) ;
          Aggregator agg = AggregatorFactory.createCustom(fname, a) ;
          Expr exprAgg = getQuery().allocAggregate(agg) ;
-         {if (true) return exprAgg ;}
+         {if ("" != null) return exprAgg ;}
      }
-     {if (true) return new E_Function(fname, a) ;}
+     {if ("" != null) return new E_Function(fname, a) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Args ArgList() throws ParseException {
-                   Expr expr ; Args args = new Args() ; Token t ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case NIL:
+  final public Args ArgList() throws ParseException {Expr expr ; Args args = new Args() ; Token t ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case NIL:{
       jj_consume_token(NIL);
       break;
-    case LPAREN:
+      }
+    case LPAREN:{
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         t = jj_consume_token(DISTINCT);
-                        args.distinct = true ;
-        int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
-          if ( ! getAllowAggregatesInExpressions() )
+args.distinct = true ;
+int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
+if ( ! getAllowAggregatesInExpressions() )
               throwParseException("Aggregate expression not legal at this point",
                                  beginLine, beginColumn) ;
         break;
+        }
       default:
         jj_la1[95] = jj_gen;
         ;
       }
       expr = Expression();
-                            args.add(expr) ;
+args.add(expr) ;
       label_25:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case COMMA:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case COMMA:{
           ;
           break;
+          }
         default:
           jj_la1[96] = jj_gen;
           break label_25;
         }
         jj_consume_token(COMMA);
         expr = Expression();
-                                     args.add(expr) ;
+args.add(expr) ;
       }
       jj_consume_token(RPAREN);
       break;
+      }
     default:
       jj_la1[97] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-      {if (true) return args ;}
+{if ("" != null) return args ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public ExprList ExpressionList() throws ParseException {
-                              Expr expr = null ; ExprList exprList = new ExprList() ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case NIL:
+  final public ExprList ExpressionList() throws ParseException {Expr expr = null ; ExprList exprList = new ExprList() ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case NIL:{
       jj_consume_token(NIL);
       break;
-    case LPAREN:
+      }
+    case LPAREN:{
       jj_consume_token(LPAREN);
       expr = Expression();
-                          exprList.add(expr) ;
+exprList.add(expr) ;
       label_26:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case COMMA:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case COMMA:{
           ;
           break;
+          }
         default:
           jj_la1[98] = jj_gen;
           break label_26;
         }
         jj_consume_token(COMMA);
         expr = Expression();
-                                     exprList.add(expr) ;
+exprList.add(expr) ;
       }
       jj_consume_token(RPAREN);
       break;
+      }
     default:
       jj_la1[99] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    {if (true) return exprList ;}
+{if ("" != null) return exprList ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Template ConstructTemplate() throws ParseException {
-                                 QuadAcc acc = new QuadAcc() ;
+  final public Template ConstructTemplate() throws ParseException {QuadAcc acc = new QuadAcc() ;
                                  Template t = new Template (acc);
-      setInConstructTemplate(true) ;
+setInConstructTemplate(true) ;
     jj_consume_token(LBRACE);
     ConstructQuads(acc);
     jj_consume_token(RBRACE);
-      setInConstructTemplate(false) ;
-      {if (true) return t ;}
+setInConstructTemplate(false) ;
+      {if ("" != null) return t ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
   final public void ConstructTriples(TripleCollector acc) throws ParseException {
     TriplesSameSubject(acc);
@@ -3357,19 +3465,19 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       jj_consume_token(DOT);
       TriplesSameSubject(acc);
     }
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case DOT:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case DOT:{
       jj_consume_token(DOT);
       break;
+      }
     default:
       jj_la1[100] = jj_gen;
       ;
     }
-  }
+}
 
-  final public void TriplesSameSubject(TripleCollector acc) throws ParseException {
-                                                 Node s ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public void TriplesSameSubject(TripleCollector acc) throws ParseException {Node s ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -3393,104 +3501,109 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case STRING_LITERAL_LONG2:
     case NIL:
     case ANON:
-    case LT2:
+    case LT2:{
       s = VarOrTerm();
       PropertyListNotEmpty(s, acc);
       break;
+      }
     case LPAREN:
-    case LBRACKET:
-    ElementPathBlock tempAcc = new ElementPathBlock() ;
+    case LBRACKET:{
+ElementPathBlock tempAcc = new ElementPathBlock() ;
       s = TriplesNode(tempAcc);
       PropertyList(s, tempAcc);
-    insert(acc, tempAcc) ;
+insert(acc, tempAcc) ;
       break;
+      }
     default:
       jj_la1[101] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-  }
+}
 
   final public void PropertyList(Node s, TripleCollector acc) throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
     case VAR1:
     case VAR2:
-    case KW_A:
+    case KW_A:{
       PropertyListNotEmpty(s, acc);
       break;
+      }
     default:
       jj_la1[102] = jj_gen;
       ;
     }
-  }
+}
 
-  final public void PropertyListNotEmpty(Node s, TripleCollector acc) throws ParseException {
-      Node p = null ;
+  final public void PropertyListNotEmpty(Node s, TripleCollector acc) throws ParseException {Node p = null ;
     p = Verb();
     ObjectList(s, p, null, acc);
     label_28:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case SEMICOLON:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case SEMICOLON:{
         ;
         break;
+        }
       default:
         jj_la1[103] = jj_gen;
         break label_28;
       }
       jj_consume_token(SEMICOLON);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
       case VAR1:
       case VAR2:
-      case KW_A:
+      case KW_A:{
         p = Verb();
         ObjectList(s, p, null, acc);
         break;
+        }
       default:
         jj_la1[104] = jj_gen;
         ;
       }
     }
-  }
+}
 
-  final public Node Verb() throws ParseException {
-                Node p ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public Node Verb() throws ParseException {Node p ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
     case VAR1:
-    case VAR2:
+    case VAR2:{
       p = VarOrIri();
       break;
-    case KW_A:
+      }
+    case KW_A:{
       jj_consume_token(KW_A);
-                              p = nRDFtype ;
+p = nRDFtype ;
       break;
+      }
     default:
       jj_la1[105] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    {if (true) return p ;}
+{if ("" != null) return p ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public void ObjectList(Node s, Node p, Path path, TripleCollector acc) throws ParseException {
-                                                                   Node o ;
+  final public void ObjectList(Node s, Node p, Path path, TripleCollector acc) throws ParseException {Node o ;
     Object(s, p, path, acc);
     label_29:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case COMMA:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case COMMA:{
         ;
         break;
+        }
       default:
         jj_la1[106] = jj_gen;
         break label_29;
@@ -3498,19 +3611,17 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       jj_consume_token(COMMA);
       Object(s, p, path, acc);
     }
-  }
+}
 
-  final public void Object(Node s, Node p, Path path, TripleCollector acc) throws ParseException {
-                                                               Node o ;
-    ElementPathBlock tempAcc = new ElementPathBlock() ; int mark = tempAcc.mark() ;
+  final public void Object(Node s, Node p, Path path, TripleCollector acc) throws ParseException {Node o ;
+ElementPathBlock tempAcc = new ElementPathBlock() ; int mark = tempAcc.mark() ;
     o = GraphNode(tempAcc);
-    insert(tempAcc, mark, s, p, path, o) ; insert(acc, tempAcc) ;
+insert(tempAcc, mark, s, p, path, o) ; insert(acc, tempAcc) ;
     Annotation(acc, s, p, path, o);
-  }
+}
 
-  final public void TriplesSameSubjectPath(TripleCollector acc) throws ParseException {
-                                                     Node s ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public void TriplesSameSubjectPath(TripleCollector acc) throws ParseException {Node s ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -3534,26 +3645,28 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case STRING_LITERAL_LONG2:
     case NIL:
     case ANON:
-    case LT2:
+    case LT2:{
       s = VarOrTerm();
       PropertyListPathNotEmpty(s, acc);
       break;
+      }
     case LPAREN:
-    case LBRACKET:
-    ElementPathBlock tempAcc = new ElementPathBlock() ;
+    case LBRACKET:{
+ElementPathBlock tempAcc = new ElementPathBlock() ;
       s = TriplesNodePath(tempAcc);
       PropertyListPath(s, tempAcc);
-    insert(acc, tempAcc) ;
+insert(acc, tempAcc) ;
       break;
+      }
     default:
       jj_la1[107] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-  }
+}
 
   final public void PropertyListPath(Node s, TripleCollector acc) throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -3565,18 +3678,18 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case SHORTEST:
     case LPAREN:
     case BANG:
-    case CARAT:
+    case CARAT:{
       PropertyListPathNotEmpty(s, acc);
       break;
+      }
     default:
       jj_la1[108] = jj_gen;
       ;
     }
-  }
+}
 
-  final public void PropertyListPathNotEmpty(Node s, TripleCollector acc) throws ParseException {
-      Path path = null ; Node p = null ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public void PropertyListPathNotEmpty(Node s, TripleCollector acc) throws ParseException {Path path = null ; Node p = null ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -3586,13 +3699,15 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case SHORTEST:
     case LPAREN:
     case BANG:
-    case CARAT:
+    case CARAT:{
       path = VerbPath();
       break;
+      }
     case VAR1:
-    case VAR2:
+    case VAR2:{
       p = VerbSimple();
       break;
+      }
     default:
       jj_la1[109] = jj_gen;
       jj_consume_token(-1);
@@ -3601,17 +3716,18 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     ObjectListPath(s, p, path, acc);
     label_30:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case SEMICOLON:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case SEMICOLON:{
         ;
         break;
+        }
       default:
         jj_la1[110] = jj_gen;
         break label_30;
       }
       jj_consume_token(SEMICOLON);
-      path = null ; p = null ;
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+path = null ; p = null ;
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
@@ -3623,8 +3739,8 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case SHORTEST:
       case LPAREN:
       case BANG:
-      case CARAT:
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      case CARAT:{
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
         case IRIref:
         case PNAME_NS:
         case PNAME_LN:
@@ -3634,13 +3750,15 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
         case SHORTEST:
         case LPAREN:
         case BANG:
-        case CARAT:
+        case CARAT:{
           path = VerbPath();
           break;
+          }
         case VAR1:
-        case VAR2:
+        case VAR2:{
           p = VerbSimple();
           break;
+          }
         default:
           jj_la1[111] = jj_gen;
           jj_consume_token(-1);
@@ -3648,36 +3766,35 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
         }
         ObjectListPath(s, p, path, acc);
         break;
+        }
       default:
         jj_la1[112] = jj_gen;
         ;
       }
     }
-  }
+}
 
-  final public Path VerbPath() throws ParseException {
-                   Node p ; Path path ;
+  final public Path VerbPath() throws ParseException {Node p ; Path path ;
     path = Path();
-                  {if (true) return path ;}
+{if ("" != null) return path ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node VerbSimple() throws ParseException {
-                      Node p ;
+  final public Node VerbSimple() throws ParseException {Node p ;
     p = Var();
-    {if (true) return p ;}
+{if ("" != null) return p ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public void ObjectListPath(Node s, Node p, Path path, TripleCollector acc) throws ParseException {
-                                                                       Node o ;
+  final public void ObjectListPath(Node s, Node p, Path path, TripleCollector acc) throws ParseException {Node o ;
     ObjectPath(s, p, path, acc);
     label_31:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case COMMA:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case COMMA:{
         ;
         break;
+        }
       default:
         jj_la1[113] = jj_gen;
         break label_31;
@@ -3685,109 +3802,107 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       jj_consume_token(COMMA);
       ObjectPath(s, p, path, acc);
     }
-  }
+}
 
-  final public void ObjectPath(Node s, Node p, Path path, TripleCollector acc) throws ParseException {
-                                                                   Node o ;
-    ElementPathBlock tempAcc = new ElementPathBlock() ; int mark = tempAcc.mark() ;
+  final public void ObjectPath(Node s, Node p, Path path, TripleCollector acc) throws ParseException {Node o ;
+ElementPathBlock tempAcc = new ElementPathBlock() ; int mark = tempAcc.mark() ;
     o = GraphNodePath(tempAcc);
-    insert(tempAcc, mark, s, p, path, o) ; insert(acc, tempAcc) ;
+insert(tempAcc, mark, s, p, path, o) ; insert(acc, tempAcc) ;
     AnnotationPath(acc, s, p, path, o);
-  }
+}
 
-  final public Path PathUnit() throws ParseException {
-                    Path p ;
+  final public Path PathUnit() throws ParseException {Path p ;
     ByteOrderMark();
     p = Path();
     jj_consume_token(0);
-    {if (true) return p ;}
+{if ("" != null) return p ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Path Path() throws ParseException {
-                Path p ;
+  final public Path Path() throws ParseException {Path p ;
     p = PathAlternative();
-                          {if (true) return p ;}
+{if ("" != null) return p ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Path PathAlternative() throws ParseException {
-                           Path p1 , p2 ;
+  final public Path PathAlternative() throws ParseException {Path p1 , p2 ;
     p1 = PathSequence();
     label_32:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case VBAR:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case VBAR:{
         ;
         break;
+        }
       default:
         jj_la1[114] = jj_gen;
         break label_32;
       }
       jj_consume_token(VBAR);
       p2 = PathSequence();
-        p1 = PathFactory.pathAlt(p1, p2) ;
+p1 = PathFactory.pathAlt(p1, p2) ;
     }
-     {if (true) return p1 ;}
+{if ("" != null) return p1 ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Path PathSequence() throws ParseException {
-                        Path p1 , p2 ;
+  final public Path PathSequence() throws ParseException {Path p1 , p2 ;
     p1 = PathEltOrInverse();
     label_33:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case SLASH:
-      case CARAT:
+      case CARAT:{
         ;
         break;
+        }
       default:
         jj_la1[115] = jj_gen;
         break label_33;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case SLASH:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case SLASH:{
         jj_consume_token(SLASH);
         p2 = PathEltOrInverse();
-        p1 = PathFactory.pathSeq(p1, p2) ;
+p1 = PathFactory.pathSeq(p1, p2) ;
         break;
-      case CARAT:
+        }
+      case CARAT:{
         jj_consume_token(CARAT);
         p2 = PathElt();
-        p1 = PathFactory.pathSeq(p1, new P_Inverse(p2)) ;
+p1 = PathFactory.pathSeq(p1, new P_Inverse(p2)) ;
         break;
+        }
       default:
         jj_la1[116] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
     }
-     {if (true) return p1;}
+{if ("" != null) return p1;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Path PathElt() throws ParseException {
-                   String str ; Node n ; Path p ;
+  final public Path PathElt() throws ParseException {String str ; Node n ; Path p ;
     p = PathPrimary();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case LBRACE:
     case PLUS:
     case STAR:
-    case QMARK:
+    case QMARK:{
       p = PathMod(p);
       break;
+      }
     default:
       jj_la1[117] = jj_gen;
       ;
     }
-     {if (true) return p ;}
+{if ("" != null) return p ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Path PathEltOrInverse() throws ParseException {
-                            String str ; Node n ; Path p ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public Path PathEltOrInverse() throws ParseException {String str ; Node n ; Path p ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -3796,327 +3911,351 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case MULTI:
     case SHORTEST:
     case LPAREN:
-    case BANG:
+    case BANG:{
       p = PathElt();
       break;
-    case CARAT:
+      }
+    case CARAT:{
       jj_consume_token(CARAT);
       p = PathElt();
-       p = PathFactory.pathInverse(p) ;
+p = PathFactory.pathInverse(p) ;
       break;
+      }
     default:
       jj_la1[118] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-     {if (true) return p ;}
+{if ("" != null) return p ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Path PathMod(Path p) throws ParseException {
-                         long i1 ; long i2 ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case QMARK:
+  final public Path PathMod(Path p) throws ParseException {long i1 ; long i2 ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case QMARK:{
       jj_consume_token(QMARK);
-               {if (true) return PathFactory.pathZeroOrOne(p) ;}
+{if ("" != null) return PathFactory.pathZeroOrOne(p) ;}
       break;
-    case STAR:
+      }
+    case STAR:{
       jj_consume_token(STAR);
-              {if (true) return PathFactory.pathZeroOrMore1(p) ;}
+{if ("" != null) return PathFactory.pathZeroOrMore1(p) ;}
       break;
-    case PLUS:
+      }
+    case PLUS:{
       jj_consume_token(PLUS);
-              {if (true) return PathFactory.pathOneOrMore1(p) ;}
+{if ("" != null) return PathFactory.pathOneOrMore1(p) ;}
       break;
-    case LBRACE:
+      }
+    case LBRACE:{
       jj_consume_token(LBRACE);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case STAR:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case STAR:{
         jj_consume_token(STAR);
         jj_consume_token(RBRACE);
-                           {if (true) return PathFactory.pathZeroOrMoreN(p) ;}
+{if ("" != null) return PathFactory.pathZeroOrMoreN(p) ;}
         break;
-      case PLUS:
+        }
+      case PLUS:{
         jj_consume_token(PLUS);
         jj_consume_token(RBRACE);
-                           {if (true) return PathFactory.pathOneOrMoreN(p) ;}
+{if ("" != null) return PathFactory.pathOneOrMoreN(p) ;}
         break;
-      case INTEGER:
+        }
+      case INTEGER:{
         i1 = Integer();
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case COMMA:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case COMMA:{
           jj_consume_token(COMMA);
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-          case RBRACE:
+          switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+          case RBRACE:{
             jj_consume_token(RBRACE);
-                {if (true) return PathFactory.pathMod(p, i1, PathFactory.UNSET) ;}
+{if ("" != null) return PathFactory.pathMod(p, i1, PathFactory.UNSET) ;}
             break;
-          case INTEGER:
+            }
+          case INTEGER:{
             i2 = Integer();
             jj_consume_token(RBRACE);
-                {if (true) return PathFactory.pathMod(p, i1, i2) ;}
+{if ("" != null) return PathFactory.pathMod(p, i1, i2) ;}
             break;
+            }
           default:
             jj_la1[119] = jj_gen;
             jj_consume_token(-1);
             throw new ParseException();
           }
           break;
-        case RBRACE:
+          }
+        case RBRACE:{
           jj_consume_token(RBRACE);
-                       {if (true) return PathFactory.pathFixedLength(p, i1) ;}
+{if ("" != null) return PathFactory.pathFixedLength(p, i1) ;}
           break;
+          }
         default:
           jj_la1[120] = jj_gen;
           jj_consume_token(-1);
           throw new ParseException();
         }
         break;
-      case COMMA:
+        }
+      case COMMA:{
         jj_consume_token(COMMA);
         i2 = Integer();
         jj_consume_token(RBRACE);
-             {if (true) return PathFactory.pathMod(p, PathFactory.UNSET, i2) ;}
+{if ("" != null) return PathFactory.pathMod(p, PathFactory.UNSET, i2) ;}
         break;
+        }
       default:
         jj_la1[121] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
       break;
+      }
     default:
       jj_la1[122] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Path PathPrimary() throws ParseException {
-                       String str ; Path p ; Node n ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public Path PathPrimary() throws ParseException {String str ; Path p ; Node n ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       str = iri();
-       n = createNode(str) ; p = PathFactory.pathLink(n) ;
+n = createNode(str) ; p = PathFactory.pathLink(n) ;
       break;
-    case KW_A:
+      }
+    case KW_A:{
       jj_consume_token(KW_A);
-       p = PathFactory.pathLink(nRDFtype) ;
+p = PathFactory.pathLink(nRDFtype) ;
       break;
-    case BANG:
+      }
+    case BANG:{
       jj_consume_token(BANG);
       p = PathNegatedPropertySet();
       break;
-    case LPAREN:
+      }
+    case LPAREN:{
       jj_consume_token(LPAREN);
       p = Path();
       jj_consume_token(RPAREN);
       break;
-    case DISTINCT:
+      }
+    case DISTINCT:{
       jj_consume_token(DISTINCT);
       jj_consume_token(LPAREN);
       p = Path();
-       p = PathFactory.pathDistinct(p) ;
+p = PathFactory.pathDistinct(p) ;
       jj_consume_token(RPAREN);
       break;
-    case SHORTEST:
+      }
+    case SHORTEST:{
       jj_consume_token(SHORTEST);
       jj_consume_token(LPAREN);
       p = Path();
-       p = PathFactory.pathShortest(p) ;
+p = PathFactory.pathShortest(p) ;
       jj_consume_token(RPAREN);
       break;
-    case MULTI:
+      }
+    case MULTI:{
       jj_consume_token(MULTI);
       jj_consume_token(LPAREN);
       p = Path();
-       p = PathFactory.pathMulti(p) ;
+p = PathFactory.pathMulti(p) ;
       jj_consume_token(RPAREN);
       break;
+      }
     default:
       jj_la1[123] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-   {if (true) return p ;}
+{if ("" != null) return p ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Path PathNegatedPropertySet() throws ParseException {
-                                  P_Path0 p ; P_NegPropSet pNegSet ;
-    pNegSet = new P_NegPropSet() ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public Path PathNegatedPropertySet() throws ParseException {P_Path0 p ; P_NegPropSet pNegSet ;
+pNegSet = new P_NegPropSet() ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
     case KW_A:
-    case CARAT:
+    case CARAT:{
       p = PathOneInPropertySet();
-      pNegSet.add(p) ;
+pNegSet.add(p) ;
       break;
-    case LPAREN:
+      }
+    case LPAREN:{
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
       case KW_A:
-      case CARAT:
+      case CARAT:{
         p = PathOneInPropertySet();
-                                   pNegSet.add(p) ;
+pNegSet.add(p) ;
         label_34:
         while (true) {
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-          case VBAR:
+          switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+          case VBAR:{
             ;
             break;
+            }
           default:
             jj_la1[124] = jj_gen;
             break label_34;
           }
           jj_consume_token(VBAR);
           p = PathOneInPropertySet();
-                                           pNegSet.add(p) ;
+pNegSet.add(p) ;
         }
         break;
+        }
       default:
         jj_la1[125] = jj_gen;
         ;
       }
       jj_consume_token(RPAREN);
       break;
+      }
     default:
       jj_la1[126] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    {if (true) return pNegSet ;}
+{if ("" != null) return pNegSet ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public P_Path0 PathOneInPropertySet() throws ParseException {
-                                   String str ; Node n ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public P_Path0 PathOneInPropertySet() throws ParseException {String str ; Node n ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       str = iri();
-                  n = createNode(str) ; {if (true) return new P_Link(n) ;}
+n = createNode(str) ; {if ("" != null) return new P_Link(n) ;}
       break;
-    case KW_A:
+      }
+    case KW_A:{
       jj_consume_token(KW_A);
-             {if (true) return new P_Link(nRDFtype) ;}
+{if ("" != null) return new P_Link(nRDFtype) ;}
       break;
-    case CARAT:
+      }
+    case CARAT:{
       jj_consume_token(CARAT);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
-      case PNAME_LN:
+      case PNAME_LN:{
         str = iri();
-                    n = createNode(str) ; {if (true) return new P_ReverseLink(n) ;}
+n = createNode(str) ; {if ("" != null) return new P_ReverseLink(n) ;}
         break;
-      case KW_A:
+        }
+      case KW_A:{
         jj_consume_token(KW_A);
-               {if (true) return new P_ReverseLink(nRDFtype) ;}
+{if ("" != null) return new P_ReverseLink(nRDFtype) ;}
         break;
+        }
       default:
         jj_la1[127] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
       break;
+      }
     default:
       jj_la1[128] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public long Integer() throws ParseException {
-                  Token t ;
+  final public long Integer() throws ParseException {Token t ;
     t = jj_consume_token(INTEGER);
-      {if (true) return integerValue(t.image) ;}
+{if ("" != null) return integerValue(t.image) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node TriplesNode(TripleCollectorMark acc) throws ParseException {
-                                              Node n ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case LPAREN:
+  final public Node TriplesNode(TripleCollectorMark acc) throws ParseException {Node n ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case LPAREN:{
       n = Collection(acc);
-                        {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
-    case LBRACKET:
+      }
+    case LBRACKET:{
       n = BlankNodePropertyList(acc);
-                                   {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     default:
       jj_la1[129] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node BlankNodePropertyList(TripleCollector acc) throws ParseException {
-                                                    Token t ;
+  final public Node BlankNodePropertyList(TripleCollector acc) throws ParseException {Token t ;
     t = jj_consume_token(LBRACKET);
-      Node n = createBNode( t.beginLine, t.beginColumn) ;
+Node n = createBNode( t.beginLine, t.beginColumn) ;
     PropertyListNotEmpty(n, acc);
     jj_consume_token(RBRACKET);
-      {if (true) return n ;}
+{if ("" != null) return n ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node TriplesNodePath(TripleCollectorMark acc) throws ParseException {
-                                                  Node n ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case LPAREN:
+  final public Node TriplesNodePath(TripleCollectorMark acc) throws ParseException {Node n ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case LPAREN:{
       n = CollectionPath(acc);
-                            {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
-    case LBRACKET:
+      }
+    case LBRACKET:{
       n = BlankNodePropertyListPath(acc);
-                                       {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     default:
       jj_la1[130] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node BlankNodePropertyListPath(TripleCollector acc) throws ParseException {
-                                                        Token t ;
+  final public Node BlankNodePropertyListPath(TripleCollector acc) throws ParseException {Token t ;
     t = jj_consume_token(LBRACKET);
-      Node n = createBNode( t.beginLine, t.beginColumn) ;
+Node n = createBNode( t.beginLine, t.beginColumn) ;
     PropertyListPathNotEmpty(n, acc);
     jj_consume_token(RBRACKET);
-      {if (true) return n ;}
+{if ("" != null) return n ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node Collection(TripleCollectorMark acc) throws ParseException {
-      Node listHead = nRDFnil ; Node lastCell = null ; int mark ; Node n ; Token t ;
+  final public Node Collection(TripleCollectorMark acc) throws ParseException {Node listHead = nRDFnil ; Node lastCell = null ; int mark ; Node n ; Token t ;
     t = jj_consume_token(LPAREN);
-    int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
+int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
     label_35:
     while (true) {
-      Node cell = createListNode( beginLine, beginColumn) ;
+Node cell = createListNode( beginLine, beginColumn) ;
       if ( listHead == nRDFnil )
          listHead = cell ;
       if ( lastCell != null )
         insert(acc, lastCell, nRDFrest, cell) ;
       mark = acc.mark() ;
       n = GraphNode(acc);
-      insert(acc, mark, cell, nRDFfirst, n) ;
+insert(acc, mark, cell, nRDFfirst, n) ;
       lastCell = cell ;
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
@@ -4142,37 +4281,37 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case NIL:
       case LBRACKET:
       case ANON:
-      case LT2:
+      case LT2:{
         ;
         break;
+        }
       default:
         jj_la1[131] = jj_gen;
         break label_35;
       }
     }
     jj_consume_token(RPAREN);
-     if ( lastCell != null )
+if ( lastCell != null )
        insert(acc, lastCell, nRDFrest, nRDFnil) ;
-     {if (true) return listHead ;}
+     {if ("" != null) return listHead ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node CollectionPath(TripleCollectorMark acc) throws ParseException {
-      Node listHead = nRDFnil ; Node lastCell = null ; int mark ; Node n ; Token t ;
+  final public Node CollectionPath(TripleCollectorMark acc) throws ParseException {Node listHead = nRDFnil ; Node lastCell = null ; int mark ; Node n ; Token t ;
     t = jj_consume_token(LPAREN);
-    int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
+int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
     label_36:
     while (true) {
-      Node cell = createListNode( beginLine, beginColumn) ;
+Node cell = createListNode( beginLine, beginColumn) ;
       if ( listHead == nRDFnil )
          listHead = cell ;
       if ( lastCell != null )
         insert(acc, lastCell, nRDFrest, cell) ;
       mark = acc.mark() ;
       n = GraphNodePath(acc);
-      insert(acc, mark, cell, nRDFfirst, n) ;
+insert(acc, mark, cell, nRDFfirst, n) ;
       lastCell = cell ;
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
@@ -4198,54 +4337,56 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case NIL:
       case LBRACKET:
       case ANON:
-      case LT2:
+      case LT2:{
         ;
         break;
+        }
       default:
         jj_la1[132] = jj_gen;
         break label_36;
       }
     }
     jj_consume_token(RPAREN);
-     if ( lastCell != null )
+if ( lastCell != null )
        insert(acc, lastCell, nRDFrest, nRDFnil) ;
-     {if (true) return listHead ;}
+     {if ("" != null) return listHead ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
   final public void AnnotationPath(TripleCollector acc, Node s, Node p, Path path, Node o) throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case L_ANN:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case L_ANN:{
       jj_consume_token(L_ANN);
-        Node pAnn = preConditionAnnotation(s, p, path, o, token.beginLine, token.beginColumn) ;
+Node pAnn = preConditionAnnotation(s, p, path, o, token.beginLine, token.beginColumn) ;
         Node x = createQuotedTriple(s, pAnn, o, token.beginLine, token.beginColumn);
       PropertyListPathNotEmpty(x, acc);
       jj_consume_token(R_ANN);
       break;
+      }
     default:
       jj_la1[133] = jj_gen;
       ;
     }
-  }
+}
 
   final public void Annotation(TripleCollector acc, Node s, Node p, Path path, Node o) throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case L_ANN:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case L_ANN:{
       jj_consume_token(L_ANN);
-        Node pAnn = preConditionAnnotation(s, p, path, o, token.beginLine, token.beginColumn) ;
+Node pAnn = preConditionAnnotation(s, p, path, o, token.beginLine, token.beginColumn) ;
         Node x = createQuotedTriple(s, p, o, token.beginLine, token.beginColumn);
       PropertyListNotEmpty(x, acc);
       jj_consume_token(R_ANN);
       break;
+      }
     default:
       jj_la1[134] = jj_gen;
       ;
     }
-  }
+}
 
-  final public Node GraphNode(TripleCollectorMark acc) throws ParseException {
-                                            Node n ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public Node GraphNode(TripleCollectorMark acc) throws ParseException {Node n ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -4269,26 +4410,27 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case STRING_LITERAL_LONG2:
     case NIL:
     case ANON:
-    case LT2:
+    case LT2:{
       n = VarOrTerm();
-                    {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     case LPAREN:
-    case LBRACKET:
+    case LBRACKET:{
       n = TriplesNode(acc);
-                         {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     default:
       jj_la1[135] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node GraphNodePath(TripleCollectorMark acc) throws ParseException {
-                                                Node n ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public Node GraphNodePath(TripleCollectorMark acc) throws ParseException {Node n ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -4312,43 +4454,47 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case STRING_LITERAL_LONG2:
     case NIL:
     case ANON:
-    case LT2:
+    case LT2:{
       n = VarOrTerm();
-                    {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     case LPAREN:
-    case LBRACKET:
+    case LBRACKET:{
       n = TriplesNodePath(acc);
-                             {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     default:
       jj_la1[136] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node VarOrTerm() throws ParseException {
-                     Node n = null ; String iri ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public Node VarOrTerm() throws ParseException {Node n = null ; String iri ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case VAR1:
-    case VAR2:
+    case VAR2:{
       n = Var();
       break;
+      }
     case IRIref:
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       iri = iri();
-                  {if (true) return createNode(iri) ;}
+{if ("" != null) return createNode(iri) ;}
       break;
+      }
     case STRING_LITERAL1:
     case STRING_LITERAL2:
     case STRING_LITERAL_LONG1:
-    case STRING_LITERAL_LONG2:
+    case STRING_LITERAL_LONG2:{
       n = RDFLiteral();
-                       {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     case INTEGER:
     case DECIMAL:
     case DOUBLE:
@@ -4357,91 +4503,97 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case DOUBLE_POSITIVE:
     case INTEGER_NEGATIVE:
     case DECIMAL_NEGATIVE:
-    case DOUBLE_NEGATIVE:
+    case DOUBLE_NEGATIVE:{
       n = NumericLiteral();
-                           {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     case TRUE:
-    case FALSE:
+    case FALSE:{
       n = BooleanLiteral();
-                           {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     case BLANK_NODE_LABEL:
-    case ANON:
+    case ANON:{
       n = BlankNode();
-                      {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
-    case NIL:
+      }
+    case NIL:{
       jj_consume_token(NIL);
-            {if (true) return nRDFnil ;}
+{if ("" != null) return nRDFnil ;}
       break;
-    case LT2:
+      }
+    case LT2:{
       n = QuotedTriple();
       break;
+      }
     default:
       jj_la1[137] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    {if (true) return n ;}
+{if ("" != null) return n ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node QuotedTriple() throws ParseException {
-                        Node n = null ; Token t ; Node s , p , o ;
+  final public Node QuotedTriple() throws ParseException {Node n = null ; Token t ; Node s , p , o ;
     t = jj_consume_token(LT2);
     s = VarOrTerm();
     p = Verb();
     o = VarOrTerm();
-    n = createQuotedTriple(s, p, o, t.beginLine, t.beginColumn);
+n = createQuotedTriple(s, p, o, t.beginLine, t.beginColumn);
     jj_consume_token(GT2);
-    {if (true) return n;}
+{if ("" != null) return n;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node QuotedTripleData() throws ParseException {
-                            Node n = null ; Token t ; String iri ; Node s , p , o ;
+  final public Node QuotedTripleData() throws ParseException {Node n = null ; Token t ; String iri ; Node s , p , o ;
     t = jj_consume_token(LT2);
     s = DataValueTerm();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       iri = iri();
-                  p = createNode(iri) ;
+p = createNode(iri) ;
       break;
-    case KW_A:
+      }
+    case KW_A:{
       jj_consume_token(KW_A);
-                                                     p = nRDFtype ;
+p = nRDFtype ;
       break;
+      }
     default:
       jj_la1[138] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     o = DataValueTerm();
-    n = createQuotedTriple(s, p, o, t.beginLine, t.beginColumn);
+n = createQuotedTriple(s, p, o, t.beginLine, t.beginColumn);
     jj_consume_token(GT2);
-    {if (true) return n;}
+{if ("" != null) return n;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node DataValueTerm() throws ParseException {
-                         Node n = null ; String iri ; Node s , p , o ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public Node DataValueTerm() throws ParseException {Node n = null ; String iri ; Node s , p , o ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       iri = iri();
-                {if (true) return createNode(iri) ;}
+{if ("" != null) return createNode(iri) ;}
       break;
+      }
     case STRING_LITERAL1:
     case STRING_LITERAL2:
     case STRING_LITERAL_LONG1:
-    case STRING_LITERAL_LONG2:
+    case STRING_LITERAL_LONG2:{
       n = RDFLiteral();
-                     {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     case INTEGER:
     case DECIMAL:
     case DOUBLE:
@@ -4450,153 +4602,157 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case DOUBLE_POSITIVE:
     case INTEGER_NEGATIVE:
     case DECIMAL_NEGATIVE:
-    case DOUBLE_NEGATIVE:
+    case DOUBLE_NEGATIVE:{
       n = NumericLiteral();
-                         {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     case TRUE:
-    case FALSE:
+    case FALSE:{
       n = BooleanLiteral();
-                         {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
-    case LT2:
+      }
+    case LT2:{
       n = QuotedTripleData();
-                           {if (true) return n ;}
+{if ("" != null) return n ;}
       break;
+      }
     default:
       jj_la1[139] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node VarOrIri() throws ParseException {
-                   Node n = null ; String iri ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public Node VarOrIri() throws ParseException {Node n = null ; String iri ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case VAR1:
-    case VAR2:
+    case VAR2:{
       n = Var();
       break;
+      }
     case IRIref:
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       iri = iri();
-                              n = createNode(iri) ;
+n = createNode(iri) ;
       break;
+      }
     default:
       jj_la1[140] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    {if (true) return n ;}
+{if ("" != null) return n ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node VarOrBlankNodeOrIri() throws ParseException {
-                              Node n = null ; String iri ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public Node VarOrBlankNodeOrIri() throws ParseException {Node n = null ; String iri ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case VAR1:
-    case VAR2:
+    case VAR2:{
       n = Var();
       break;
+      }
     case BLANK_NODE_LABEL:
-    case ANON:
+    case ANON:{
       n = BlankNode();
       break;
+      }
     case IRIref:
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       iri = iri();
-                                                n = createNode(iri) ;
+n = createNode(iri) ;
       break;
+      }
     default:
       jj_la1[141] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    {if (true) return n ;}
+{if ("" != null) return n ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Var Var() throws ParseException {
-              Token t ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case VAR1:
+  final public Var Var() throws ParseException {Token t ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case VAR1:{
       t = jj_consume_token(VAR1);
       break;
-    case VAR2:
+      }
+    case VAR2:{
       t = jj_consume_token(VAR2);
       break;
+      }
     default:
       jj_la1[142] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-      {if (true) return createVariable(t.image, t.beginLine, t.beginColumn) ;}
+{if ("" != null) return createVariable(t.image, t.beginLine, t.beginColumn) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr Expression() throws ParseException {
-                      Expr expr ;
+  final public Expr Expression() throws ParseException {Expr expr ;
     expr = ConditionalOrExpression();
-    {if (true) return expr ;}
+{if ("" != null) return expr ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr ConditionalOrExpression() throws ParseException {
-                                   Expr expr1, expr2 ;
+  final public Expr ConditionalOrExpression() throws ParseException {Expr expr1, expr2 ;
     expr1 = ConditionalAndExpression();
     label_37:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case SC_OR:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case SC_OR:{
         ;
         break;
+        }
       default:
         jj_la1[143] = jj_gen;
         break label_37;
       }
       jj_consume_token(SC_OR);
       expr2 = ConditionalAndExpression();
-      expr1 = new E_LogicalOr(expr1, expr2) ;
+expr1 = new E_LogicalOr(expr1, expr2) ;
     }
-      {if (true) return expr1 ;}
+{if ("" != null) return expr1 ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr ConditionalAndExpression() throws ParseException {
-                                    Expr expr1, expr2 ;
+  final public Expr ConditionalAndExpression() throws ParseException {Expr expr1, expr2 ;
     expr1 = ValueLogical();
     label_38:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case SC_AND:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case SC_AND:{
         ;
         break;
+        }
       default:
         jj_la1[144] = jj_gen;
         break label_38;
       }
       jj_consume_token(SC_AND);
       expr2 = ValueLogical();
-      expr1 = new E_LogicalAnd(expr1, expr2) ;
+expr1 = new E_LogicalAnd(expr1, expr2) ;
     }
-      {if (true) return expr1 ;}
+{if ("" != null) return expr1 ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr ValueLogical() throws ParseException {
-                        Expr expr ;
+  final public Expr ValueLogical() throws ParseException {Expr expr ;
     expr = RelationalExpression();
-      {if (true) return expr ;}
+{if ("" != null) return expr ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr RelationalExpression() throws ParseException {
-                                Expr expr1, expr2 ; ExprList a ;
+  final public Expr RelationalExpression() throws ParseException {Expr expr1, expr2 ; ExprList a ;
     expr1 = NumericExpression();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case NOT:
     case IN:
     case EQ:
@@ -4604,76 +4760,83 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case GT:
     case LT:
     case LE:
-    case GE:
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case EQ:
+    case GE:{
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case EQ:{
         jj_consume_token(EQ);
         expr2 = NumericExpression();
-        expr1 = new E_Equals(expr1, expr2) ;
+expr1 = new E_Equals(expr1, expr2) ;
         break;
-      case NE:
+        }
+      case NE:{
         jj_consume_token(NE);
         expr2 = NumericExpression();
-        expr1 = new E_NotEquals(expr1, expr2) ;
+expr1 = new E_NotEquals(expr1, expr2) ;
         break;
-      case LT:
+        }
+      case LT:{
         jj_consume_token(LT);
         expr2 = NumericExpression();
-        expr1 = new E_LessThan(expr1, expr2) ;
+expr1 = new E_LessThan(expr1, expr2) ;
         break;
-      case GT:
+        }
+      case GT:{
         jj_consume_token(GT);
         expr2 = NumericExpression();
-        expr1 = new E_GreaterThan(expr1, expr2) ;
+expr1 = new E_GreaterThan(expr1, expr2) ;
         break;
-      case LE:
+        }
+      case LE:{
         jj_consume_token(LE);
         expr2 = NumericExpression();
-        expr1 = new E_LessThanOrEqual(expr1, expr2) ;
+expr1 = new E_LessThanOrEqual(expr1, expr2) ;
         break;
-      case GE:
+        }
+      case GE:{
         jj_consume_token(GE);
         expr2 = NumericExpression();
-        expr1 = new E_GreaterThanOrEqual(expr1, expr2) ;
+expr1 = new E_GreaterThanOrEqual(expr1, expr2) ;
         break;
-      case IN:
+        }
+      case IN:{
         jj_consume_token(IN);
         a = ExpressionList();
-        expr1 = new E_OneOf(expr1, a) ;
+expr1 = new E_OneOf(expr1, a) ;
         break;
-      case NOT:
+        }
+      case NOT:{
         jj_consume_token(NOT);
         jj_consume_token(IN);
         a = ExpressionList();
-        expr1 = new E_NotOneOf(expr1, a) ;
+expr1 = new E_NotOneOf(expr1, a) ;
         break;
+        }
       default:
         jj_la1[145] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
       break;
+      }
     default:
       jj_la1[146] = jj_gen;
       ;
     }
-      {if (true) return expr1 ;}
+{if ("" != null) return expr1 ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr NumericExpression() throws ParseException {
-                              Expr expr ;
+  final public Expr NumericExpression() throws ParseException {Expr expr ;
     expr = AdditiveExpression();
-      {if (true) return expr ;}
+{if ("" != null) return expr ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr AdditiveExpression() throws ParseException {
-                              Expr expr1, expr2, expr3 ; boolean addition ; Node n ;
+  final public Expr AdditiveExpression() throws ParseException {Expr expr1, expr2, expr3 ; boolean addition ; Node n ;
     expr1 = MultiplicativeExpression();
     label_39:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case INTEGER_POSITIVE:
       case DECIMAL_POSITIVE:
       case DOUBLE_POSITIVE:
@@ -4681,47 +4844,52 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case DECIMAL_NEGATIVE:
       case DOUBLE_NEGATIVE:
       case PLUS:
-      case MINUS:
+      case MINUS:{
         ;
         break;
+        }
       default:
         jj_la1[147] = jj_gen;
         break label_39;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case PLUS:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case PLUS:{
         jj_consume_token(PLUS);
         expr2 = MultiplicativeExpression();
-      expr1 = new E_Add(expr1, expr2) ;
+expr1 = new E_Add(expr1, expr2) ;
         break;
-      case MINUS:
+        }
+      case MINUS:{
         jj_consume_token(MINUS);
         expr2 = MultiplicativeExpression();
-      expr1 = new E_Subtract(expr1, expr2) ;
+expr1 = new E_Subtract(expr1, expr2) ;
         break;
+        }
       case INTEGER_POSITIVE:
       case DECIMAL_POSITIVE:
       case DOUBLE_POSITIVE:
       case INTEGER_NEGATIVE:
       case DECIMAL_NEGATIVE:
-      case DOUBLE_NEGATIVE:
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      case DOUBLE_NEGATIVE:{
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
         case INTEGER_POSITIVE:
         case DECIMAL_POSITIVE:
-        case DOUBLE_POSITIVE:
+        case DOUBLE_POSITIVE:{
           n = NumericLiteralPositive();
-         n = stripSign(n) ;
+n = stripSign(n) ;
          expr2 = asExpr(n) ;
          addition = true ;
           break;
+          }
         case INTEGER_NEGATIVE:
         case DECIMAL_NEGATIVE:
-        case DOUBLE_NEGATIVE:
+        case DOUBLE_NEGATIVE:{
           n = NumericLiteralNegative();
-         n = stripSign(n) ;
+n = stripSign(n) ;
          expr2 = asExpr(n) ;
          addition = false ;
           break;
+          }
         default:
           jj_la1[148] = jj_gen;
           jj_consume_token(-1);
@@ -4729,112 +4897,122 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
         }
         label_40:
         while (true) {
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+          switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
           case STAR:
-          case SLASH:
+          case SLASH:{
             ;
             break;
+            }
           default:
             jj_la1[149] = jj_gen;
             break label_40;
           }
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-          case STAR:
+          switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+          case STAR:{
             jj_consume_token(STAR);
             expr3 = UnaryExpression();
-                                           expr2 = new E_Multiply(expr2, expr3) ;
+expr2 = new E_Multiply(expr2, expr3) ;
             break;
-          case SLASH:
+            }
+          case SLASH:{
             jj_consume_token(SLASH);
             expr3 = UnaryExpression();
-                                            expr2 = new E_Divide(expr2, expr3) ;
+expr2 = new E_Divide(expr2, expr3) ;
             break;
+            }
           default:
             jj_la1[150] = jj_gen;
             jj_consume_token(-1);
             throw new ParseException();
           }
         }
-      if ( addition )
+if ( addition )
          expr1 = new E_Add(expr1, expr2) ;
       else
          expr1 = new E_Subtract(expr1, expr2) ;
         break;
+        }
       default:
         jj_la1[151] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
     }
-    {if (true) return expr1 ;}
+{if ("" != null) return expr1 ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr MultiplicativeExpression() throws ParseException {
-                                    Expr expr1, expr2 ;
+  final public Expr MultiplicativeExpression() throws ParseException {Expr expr1, expr2 ;
     expr1 = UnaryExpression();
     label_41:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case MOD:
       case IDIV:
       case STAR:
-      case SLASH:
+      case SLASH:{
         ;
         break;
+        }
       default:
         jj_la1[152] = jj_gen;
         break label_41;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case STAR:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case STAR:{
         jj_consume_token(STAR);
         expr2 = UnaryExpression();
-      expr1 = new E_Multiply(expr1, expr2) ;
+expr1 = new E_Multiply(expr1, expr2) ;
         break;
-      case SLASH:
+        }
+      case SLASH:{
         jj_consume_token(SLASH);
         expr2 = UnaryExpression();
-      expr1 = new E_Divide(expr1, expr2) ;
+expr1 = new E_Divide(expr1, expr2) ;
         break;
-      case MOD:
+        }
+      case MOD:{
         jj_consume_token(MOD);
         expr2 = UnaryExpression();
-      expr1 = new E_OpNumericMod(expr1, expr2) ;
+expr1 = new E_OpNumericMod(expr1, expr2) ;
         break;
-      case IDIV:
+        }
+      case IDIV:{
         jj_consume_token(IDIV);
         expr2 = UnaryExpression();
-      expr1 = new E_OpNumericIntegerDivide(expr1, expr2) ;
+expr1 = new E_OpNumericIntegerDivide(expr1, expr2) ;
         break;
+        }
       default:
         jj_la1[153] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
     }
-      {if (true) return expr1 ;}
+{if ("" != null) return expr1 ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr UnaryExpression() throws ParseException {
-                           Expr expr ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case BANG:
+  final public Expr UnaryExpression() throws ParseException {Expr expr ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case BANG:{
       jj_consume_token(BANG);
       expr = PrimaryExpression();
-      {if (true) return new E_LogicalNot(expr) ;}
+{if ("" != null) return new E_LogicalNot(expr) ;}
       break;
-    case PLUS:
+      }
+    case PLUS:{
       jj_consume_token(PLUS);
       expr = PrimaryExpression();
-                                        {if (true) return new E_UnaryPlus(expr) ;}
+{if ("" != null) return new E_UnaryPlus(expr) ;}
       break;
-    case MINUS:
+      }
+    case MINUS:{
       jj_consume_token(MINUS);
       expr = PrimaryExpression();
-                                         {if (true) return new E_UnaryMinus(expr) ;}
+{if ("" != null) return new E_UnaryMinus(expr) ;}
       break;
+      }
     case IRIref:
     case PNAME_NS:
     case PNAME_LN:
@@ -4937,25 +5115,26 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case STRING_LITERAL_LONG1:
     case STRING_LITERAL_LONG2:
     case LPAREN:
-    case LT2:
+    case LT2:{
       expr = PrimaryExpression();
-                                 {if (true) return expr ;}
+{if ("" != null) return expr ;}
       break;
+      }
     default:
       jj_la1[154] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr PrimaryExpression() throws ParseException {
-                             Expr expr ; Node n ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case LPAREN:
+  final public Expr PrimaryExpression() throws ParseException {Expr expr ; Node n ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case LPAREN:{
       expr = BrackettedExpression();
-                                    {if (true) return expr ;}
+{if ("" != null) return expr ;}
       break;
+      }
     case TRIPLE:
     case IS_TRIPLE:
     case SUBJECT:
@@ -5036,23 +5215,26 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case SHA1:
     case SHA256:
     case SHA384:
-    case SHA512:
+    case SHA512:{
       expr = BuiltInCall();
-                           {if (true) return expr ;}
+{if ("" != null) return expr ;}
       break;
+      }
     case IRIref:
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       expr = iriOrFunction();
-                             {if (true) return expr ;}
+{if ("" != null) return expr ;}
       break;
+      }
     case STRING_LITERAL1:
     case STRING_LITERAL2:
     case STRING_LITERAL_LONG1:
-    case STRING_LITERAL_LONG2:
+    case STRING_LITERAL_LONG2:{
       n = RDFLiteral();
-                       {if (true) return asExpr(n) ;}
+{if ("" != null) return asExpr(n) ;}
       break;
+      }
     case INTEGER:
     case DECIMAL:
     case DOUBLE:
@@ -5061,47 +5243,52 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case DOUBLE_POSITIVE:
     case INTEGER_NEGATIVE:
     case DECIMAL_NEGATIVE:
-    case DOUBLE_NEGATIVE:
+    case DOUBLE_NEGATIVE:{
       n = NumericLiteral();
-                           {if (true) return asExpr(n) ;}
+{if ("" != null) return asExpr(n) ;}
       break;
+      }
     case TRUE:
-    case FALSE:
+    case FALSE:{
       n = BooleanLiteral();
-                           {if (true) return asExpr(n) ;}
+{if ("" != null) return asExpr(n) ;}
       break;
+      }
     case VAR1:
-    case VAR2:
+    case VAR2:{
       n = Var();
-                {if (true) return asExpr(n) ;}
+{if ("" != null) return asExpr(n) ;}
       break;
-    case LT2:
+      }
+    case LT2:{
       n = ExprQuotedTriple();
-                             {if (true) return asExpr(n) ;}
+{if ("" != null) return asExpr(n) ;}
       break;
+      }
     default:
       jj_la1[155] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node ExprVarOrTerm() throws ParseException {
-                         Node n; String s;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public Node ExprVarOrTerm() throws ParseException {Node n; String s;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case IRIref:
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       s = iri();
-                n = createNode(s);
+n = createNode(s);
       break;
+      }
     case STRING_LITERAL1:
     case STRING_LITERAL2:
     case STRING_LITERAL_LONG1:
-    case STRING_LITERAL_LONG2:
+    case STRING_LITERAL_LONG2:{
       n = RDFLiteral();
       break;
+      }
     case INTEGER:
     case DECIMAL:
     case DOUBLE:
@@ -5110,55 +5297,56 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case DOUBLE_POSITIVE:
     case INTEGER_NEGATIVE:
     case DECIMAL_NEGATIVE:
-    case DOUBLE_NEGATIVE:
+    case DOUBLE_NEGATIVE:{
       n = NumericLiteral();
       break;
+      }
     case TRUE:
-    case FALSE:
+    case FALSE:{
       n = BooleanLiteral();
       break;
+      }
     case VAR1:
-    case VAR2:
+    case VAR2:{
       n = Var();
       break;
-    case LT2:
+      }
+    case LT2:{
       n = ExprQuotedTriple();
       break;
+      }
     default:
       jj_la1[156] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    {if (true) return n;}
+{if ("" != null) return n;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node ExprQuotedTriple() throws ParseException {
-                            Token t ; Node s,p,o,n;
+  final public Node ExprQuotedTriple() throws ParseException {Token t ; Node s,p,o,n;
     t = jj_consume_token(LT2);
     s = ExprVarOrTerm();
     p = Verb();
     o = ExprVarOrTerm();
-    n = createQuotedTriple(s, p, o, t.beginLine, t.beginColumn);
+n = createQuotedTriple(s, p, o, t.beginLine, t.beginColumn);
     jj_consume_token(GT2);
-    {if (true) return n;}
+{if ("" != null) return n;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr BrackettedExpression() throws ParseException {
-                                Expr expr ;
+  final public Expr BrackettedExpression() throws ParseException {Expr expr ;
     jj_consume_token(LPAREN);
     expr = Expression();
     jj_consume_token(RPAREN);
-                                            {if (true) return expr ;}
+{if ("" != null) return expr ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr BuiltInCall() throws ParseException {
-                       Expr expr ;
+  final public Expr BuiltInCall() throws ParseException {Expr expr ;
                        Expr expr1 = null ; Expr expr2 = null ; Expr expr3 = null ;
                        Node gn ; ExprList a ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case AGG:
     case COUNT:
     case MIN:
@@ -5175,391 +5363,445 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     case VAR_POP:
     case FOLD:
     case SAMPLE:
-    case GROUP_CONCAT:
+    case GROUP_CONCAT:{
       expr = Aggregate();
-                         {if (true) return expr ;}
+{if ("" != null) return expr ;}
       break;
-    case STR:
+      }
+    case STR:{
       jj_consume_token(STR);
       jj_consume_token(LPAREN);
       expr = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_Str(expr) ;}
+{if ("" != null) return new E_Str(expr) ;}
       break;
-    case LANG:
+      }
+    case LANG:{
       jj_consume_token(LANG);
       jj_consume_token(LPAREN);
       expr = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_Lang(expr) ;}
+{if ("" != null) return new E_Lang(expr) ;}
       break;
-    case LANGMATCHES:
+      }
+    case LANGMATCHES:{
       jj_consume_token(LANGMATCHES);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(COMMA);
       expr2 = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_LangMatches(expr1, expr2) ;}
+{if ("" != null) return new E_LangMatches(expr1, expr2) ;}
       break;
-    case DTYPE:
+      }
+    case DTYPE:{
       jj_consume_token(DTYPE);
       jj_consume_token(LPAREN);
       expr = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_Datatype(expr) ;}
+{if ("" != null) return new E_Datatype(expr) ;}
       break;
-    case BOUND:
+      }
+    case BOUND:{
       jj_consume_token(BOUND);
       jj_consume_token(LPAREN);
       gn = Var();
       jj_consume_token(RPAREN);
-      {if (true) return new E_Bound(new ExprVar(gn)) ;}
+{if ("" != null) return new E_Bound(new ExprVar(gn)) ;}
       break;
-    case IRI:
+      }
+    case IRI:{
       jj_consume_token(IRI);
       jj_consume_token(LPAREN);
       expr1 = Expression();
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case COMMA:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case COMMA:{
         jj_consume_token(COMMA);
         expr2 = Expression();
         break;
+        }
       default:
         jj_la1[157] = jj_gen;
         ;
       }
       jj_consume_token(RPAREN);
-      {if (true) return makeFunction_IRI(expr1, expr2) ;}
+{if ("" != null) return makeFunction_IRI(expr1, expr2) ;}
       break;
-    case URI:
+      }
+    case URI:{
       jj_consume_token(URI);
       jj_consume_token(LPAREN);
       expr1 = Expression();
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case COMMA:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case COMMA:{
         jj_consume_token(COMMA);
         expr2 = Expression();
         break;
+        }
       default:
         jj_la1[158] = jj_gen;
         ;
       }
       jj_consume_token(RPAREN);
-      {if (true) return makeFunction_URI(expr1, expr2) ;}
+{if ("" != null) return makeFunction_URI(expr1, expr2) ;}
       break;
-    case BNODE:
+      }
+    case BNODE:{
       jj_consume_token(BNODE);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case LPAREN:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case LPAREN:{
         jj_consume_token(LPAREN);
         expr1 = Expression();
         jj_consume_token(RPAREN);
-        {if (true) return makeFunction_BNode(expr1) ;}
+{if ("" != null) return makeFunction_BNode(expr1) ;}
         break;
-      case NIL:
+        }
+      case NIL:{
         jj_consume_token(NIL);
-              {if (true) return makeFunction_BNode() ;}
+{if ("" != null) return makeFunction_BNode() ;}
         break;
+        }
       default:
         jj_la1[159] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
       break;
-    case RAND:
+      }
+    case RAND:{
       jj_consume_token(RAND);
       jj_consume_token(NIL);
-                   {if (true) return new E_Random() ;}
+{if ("" != null) return new E_Random() ;}
       break;
-    case ABS:
+      }
+    case ABS:{
       jj_consume_token(ABS);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                   {if (true) return new E_NumAbs(expr1) ;}
+{if ("" != null) return new E_NumAbs(expr1) ;}
       break;
-    case CEIL:
+      }
+    case CEIL:{
       jj_consume_token(CEIL);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                    {if (true) return new E_NumCeiling(expr1) ;}
+{if ("" != null) return new E_NumCeiling(expr1) ;}
       break;
-    case FLOOR:
+      }
+    case FLOOR:{
       jj_consume_token(FLOOR);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                     {if (true) return new E_NumFloor(expr1) ;}
+{if ("" != null) return new E_NumFloor(expr1) ;}
       break;
-    case ROUND:
+      }
+    case ROUND:{
       jj_consume_token(ROUND);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                     {if (true) return new E_NumRound(expr1) ;}
+{if ("" != null) return new E_NumRound(expr1) ;}
       break;
-    case MOD:
+      }
+    case MOD:{
       jj_consume_token(MOD);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(COMMA);
       expr2 = Expression();
       jj_consume_token(RPAREN);
-                                                                                {if (true) return new E_OpNumericMod(expr1, expr2);}
+{if ("" != null) return new E_OpNumericMod(expr1, expr2);}
       break;
-    case IDIV:
+      }
+    case IDIV:{
       jj_consume_token(IDIV);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(COMMA);
       expr2 = Expression();
       jj_consume_token(RPAREN);
-                                                                                 {if (true) return new E_OpNumericIntegerDivide(expr1, expr2);}
+{if ("" != null) return new E_OpNumericIntegerDivide(expr1, expr2);}
       break;
-    case CONCAT:
+      }
+    case CONCAT:{
       jj_consume_token(CONCAT);
       a = ExpressionList();
-                                    {if (true) return new E_StrConcat(a) ;}
+{if ("" != null) return new E_StrConcat(a) ;}
       break;
-    case SUBSTR:
+      }
+    case SUBSTR:{
       expr = SubstringExpression();
-                                   {if (true) return expr ;}
+{if ("" != null) return expr ;}
       break;
-    case STRLEN:
+      }
+    case STRLEN:{
       jj_consume_token(STRLEN);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                      {if (true) return new E_StrLength(expr1) ;}
+{if ("" != null) return new E_StrLength(expr1) ;}
       break;
-    case REPLACE:
+      }
+    case REPLACE:{
       expr = StrReplaceExpression();
-                                    {if (true) return expr ;}
+{if ("" != null) return expr ;}
       break;
-    case UCASE:
+      }
+    case UCASE:{
       jj_consume_token(UCASE);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                     {if (true) return new E_StrUpperCase(expr1) ;}
+{if ("" != null) return new E_StrUpperCase(expr1) ;}
       break;
-    case LCASE:
+      }
+    case LCASE:{
       jj_consume_token(LCASE);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                     {if (true) return new E_StrLowerCase(expr1) ;}
+{if ("" != null) return new E_StrLowerCase(expr1) ;}
       break;
-    case ENCODE_FOR_URI:
+      }
+    case ENCODE_FOR_URI:{
       jj_consume_token(ENCODE_FOR_URI);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                              {if (true) return new E_StrEncodeForURI(expr1) ;}
+{if ("" != null) return new E_StrEncodeForURI(expr1) ;}
       break;
-    case CONTAINS:
+      }
+    case CONTAINS:{
       jj_consume_token(CONTAINS);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(COMMA);
       expr2 = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_StrContains(expr1, expr2) ;}
+{if ("" != null) return new E_StrContains(expr1, expr2) ;}
       break;
-    case STRSTARTS:
+      }
+    case STRSTARTS:{
       jj_consume_token(STRSTARTS);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(COMMA);
       expr2 = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_StrStartsWith(expr1, expr2) ;}
+{if ("" != null) return new E_StrStartsWith(expr1, expr2) ;}
       break;
-    case STRENDS:
+      }
+    case STRENDS:{
       jj_consume_token(STRENDS);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(COMMA);
       expr2 = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_StrEndsWith(expr1, expr2) ;}
+{if ("" != null) return new E_StrEndsWith(expr1, expr2) ;}
       break;
-    case STRBEFORE:
+      }
+    case STRBEFORE:{
       jj_consume_token(STRBEFORE);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(COMMA);
       expr2 = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_StrBefore(expr1, expr2) ;}
+{if ("" != null) return new E_StrBefore(expr1, expr2) ;}
       break;
-    case STRAFTER:
+      }
+    case STRAFTER:{
       jj_consume_token(STRAFTER);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(COMMA);
       expr2 = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_StrAfter(expr1, expr2) ;}
+{if ("" != null) return new E_StrAfter(expr1, expr2) ;}
       break;
-    case YEAR:
+      }
+    case YEAR:{
       jj_consume_token(YEAR);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                    {if (true) return new E_DateTimeYear(expr1) ;}
+{if ("" != null) return new E_DateTimeYear(expr1) ;}
       break;
-    case MONTH:
+      }
+    case MONTH:{
       jj_consume_token(MONTH);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                     {if (true) return new E_DateTimeMonth(expr1) ;}
+{if ("" != null) return new E_DateTimeMonth(expr1) ;}
       break;
-    case DAY:
+      }
+    case DAY:{
       jj_consume_token(DAY);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                   {if (true) return new E_DateTimeDay(expr1) ;}
+{if ("" != null) return new E_DateTimeDay(expr1) ;}
       break;
-    case HOURS:
+      }
+    case HOURS:{
       jj_consume_token(HOURS);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                     {if (true) return new E_DateTimeHours(expr1) ;}
+{if ("" != null) return new E_DateTimeHours(expr1) ;}
       break;
-    case MINUTES:
+      }
+    case MINUTES:{
       jj_consume_token(MINUTES);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                       {if (true) return new E_DateTimeMinutes(expr1) ;}
+{if ("" != null) return new E_DateTimeMinutes(expr1) ;}
       break;
-    case SECONDS:
+      }
+    case SECONDS:{
       jj_consume_token(SECONDS);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                       {if (true) return new E_DateTimeSeconds(expr1) ;}
+{if ("" != null) return new E_DateTimeSeconds(expr1) ;}
       break;
-    case TIMEZONE:
+      }
+    case TIMEZONE:{
       jj_consume_token(TIMEZONE);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                        {if (true) return new E_DateTimeTimezone(expr1) ;}
+{if ("" != null) return new E_DateTimeTimezone(expr1) ;}
       break;
-    case TZ:
+      }
+    case TZ:{
       jj_consume_token(TZ);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                  {if (true) return new E_DateTimeTZ(expr1) ;}
+{if ("" != null) return new E_DateTimeTZ(expr1) ;}
       break;
-    case ADJUST:
+      }
+    case ADJUST:{
       jj_consume_token(ADJUST);
       jj_consume_token(LPAREN);
       expr1 = Expression();
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case COMMA:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case COMMA:{
         jj_consume_token(COMMA);
         expr2 = Expression();
         break;
+        }
       default:
         jj_la1[160] = jj_gen;
         ;
       }
       jj_consume_token(RPAREN);
-      {if (true) return new E_AdjustToTimezone(expr1, expr2) ;}
+{if ("" != null) return new E_AdjustToTimezone(expr1, expr2) ;}
       break;
-    case NOW:
+      }
+    case NOW:{
       jj_consume_token(NOW);
       jj_consume_token(NIL);
-                  {if (true) return new E_Now() ;}
+{if ("" != null) return new E_Now() ;}
       break;
-    case UUID:
+      }
+    case UUID:{
       jj_consume_token(UUID);
       jj_consume_token(NIL);
-                   {if (true) return new E_UUID() ;}
+{if ("" != null) return new E_UUID() ;}
       break;
-    case STRUUID:
+      }
+    case STRUUID:{
       jj_consume_token(STRUUID);
       jj_consume_token(NIL);
-                      {if (true) return new E_StrUUID() ;}
+{if ("" != null) return new E_StrUUID() ;}
       break;
-    case MD5:
+      }
+    case MD5:{
       jj_consume_token(MD5);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                   {if (true) return new E_MD5(expr1) ;}
+{if ("" != null) return new E_MD5(expr1) ;}
       break;
-    case SHA1:
+      }
+    case SHA1:{
       jj_consume_token(SHA1);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                    {if (true) return new E_SHA1(expr1) ;}
+{if ("" != null) return new E_SHA1(expr1) ;}
       break;
-    case SHA256:
+      }
+    case SHA256:{
       jj_consume_token(SHA256);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                      {if (true) return new E_SHA256(expr1) ;}
+{if ("" != null) return new E_SHA256(expr1) ;}
       break;
-    case SHA384:
+      }
+    case SHA384:{
       jj_consume_token(SHA384);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                      {if (true) return new E_SHA384(expr1) ;}
+{if ("" != null) return new E_SHA384(expr1) ;}
       break;
-    case SHA512:
+      }
+    case SHA512:{
       jj_consume_token(SHA512);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(RPAREN);
-                                                      {if (true) return new E_SHA512(expr1) ;}
+{if ("" != null) return new E_SHA512(expr1) ;}
       break;
-    case VERSION:
+      }
+    case VERSION:{
       jj_consume_token(VERSION);
       jj_consume_token(NIL);
-                      {if (true) return new E_Version();}
+{if ("" != null) return new E_Version();}
       break;
-    case COALESCE:
+      }
+    case COALESCE:{
       jj_consume_token(COALESCE);
       a = ExpressionList();
-      {if (true) return new E_Coalesce(a) ;}
+{if ("" != null) return new E_Coalesce(a) ;}
       break;
-    case CALL:
+      }
+    case CALL:{
       jj_consume_token(CALL);
-        a = new ExprList() ;
+a = new ExprList() ;
       jj_consume_token(LPAREN);
       expr = Expression();
-                            a.add(expr) ;
+a.add(expr) ;
       label_42:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case COMMA:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case COMMA:{
           ;
           break;
+          }
         default:
           jj_la1[161] = jj_gen;
           break label_42;
         }
         jj_consume_token(COMMA);
         expr = Expression();
-                                      a.add(expr) ;
+a.add(expr) ;
       }
       jj_consume_token(RPAREN);
-      {if (true) return new E_Call(a) ;}
+{if ("" != null) return new E_Call(a) ;}
       break;
-    case IF:
+      }
+    case IF:{
       jj_consume_token(IF);
       jj_consume_token(LPAREN);
       expr = Expression();
@@ -5568,90 +5810,103 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       jj_consume_token(COMMA);
       expr2 = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_Conditional(expr, expr1, expr2) ;}
+{if ("" != null) return new E_Conditional(expr, expr1, expr2) ;}
       break;
-    case STRLANG:
+      }
+    case STRLANG:{
       jj_consume_token(STRLANG);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(COMMA);
       expr2 = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_StrLang(expr1, expr2) ;}
+{if ("" != null) return new E_StrLang(expr1, expr2) ;}
       break;
-    case STRDT:
+      }
+    case STRDT:{
       jj_consume_token(STRDT);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(COMMA);
       expr2 = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_StrDatatype(expr1, expr2) ;}
+{if ("" != null) return new E_StrDatatype(expr1, expr2) ;}
       break;
-    case SAME_TERM:
+      }
+    case SAME_TERM:{
       jj_consume_token(SAME_TERM);
       jj_consume_token(LPAREN);
       expr1 = Expression();
       jj_consume_token(COMMA);
       expr2 = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_SameTerm(expr1, expr2) ;}
+{if ("" != null) return new E_SameTerm(expr1, expr2) ;}
       break;
-    case IS_IRI:
+      }
+    case IS_IRI:{
       jj_consume_token(IS_IRI);
       jj_consume_token(LPAREN);
       expr = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_IsIRI(expr) ;}
+{if ("" != null) return new E_IsIRI(expr) ;}
       break;
-    case IS_URI:
+      }
+    case IS_URI:{
       jj_consume_token(IS_URI);
       jj_consume_token(LPAREN);
       expr = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_IsURI(expr) ;}
+{if ("" != null) return new E_IsURI(expr) ;}
       break;
-    case IS_BLANK:
+      }
+    case IS_BLANK:{
       jj_consume_token(IS_BLANK);
       jj_consume_token(LPAREN);
       expr = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_IsBlank(expr) ;}
+{if ("" != null) return new E_IsBlank(expr) ;}
       break;
-    case IS_LITERAL:
+      }
+    case IS_LITERAL:{
       jj_consume_token(IS_LITERAL);
       jj_consume_token(LPAREN);
       expr = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_IsLiteral(expr) ;}
+{if ("" != null) return new E_IsLiteral(expr) ;}
       break;
-    case IS_NUMERIC:
+      }
+    case IS_NUMERIC:{
       jj_consume_token(IS_NUMERIC);
       jj_consume_token(LPAREN);
       expr = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_IsNumeric(expr) ;}
+{if ("" != null) return new E_IsNumeric(expr) ;}
       break;
-    case REGEX:
+      }
+    case REGEX:{
       expr = RegexExpression();
-                               {if (true) return expr ;}
+{if ("" != null) return expr ;}
       break;
-    case EXISTS:
+      }
+    case EXISTS:{
       expr = ExistsFunc();
-                          {if (true) return expr ;}
+{if ("" != null) return expr ;}
       break;
-    case NOT:
+      }
+    case NOT:{
       expr = NotExistsFunc();
-                             {if (true) return expr ;}
+{if ("" != null) return expr ;}
       break;
-    case IS_TRIPLE:
+      }
+    case IS_TRIPLE:{
       jj_consume_token(IS_TRIPLE);
       jj_consume_token(LPAREN);
       expr = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_IsTriple(expr) ;}
+{if ("" != null) return new E_IsTriple(expr) ;}
       break;
-    case TRIPLE:
+      }
+    case TRIPLE:{
       jj_consume_token(TRIPLE);
       jj_consume_token(LPAREN);
       expr1 = Expression();
@@ -5660,81 +5915,84 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       jj_consume_token(COMMA);
       expr3 = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_TripleFn(expr1, expr2, expr3) ;}
+{if ("" != null) return new E_TripleFn(expr1, expr2, expr3) ;}
       break;
-    case SUBJECT:
+      }
+    case SUBJECT:{
       jj_consume_token(SUBJECT);
       jj_consume_token(LPAREN);
       expr = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_TripleSubject(expr) ;}
+{if ("" != null) return new E_TripleSubject(expr) ;}
       break;
-    case PREDICATE:
+      }
+    case PREDICATE:{
       jj_consume_token(PREDICATE);
       jj_consume_token(LPAREN);
       expr = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_TriplePredicate(expr) ;}
+{if ("" != null) return new E_TriplePredicate(expr) ;}
       break;
-    case OBJECT:
+      }
+    case OBJECT:{
       jj_consume_token(OBJECT);
       jj_consume_token(LPAREN);
       expr = Expression();
       jj_consume_token(RPAREN);
-      {if (true) return new E_TripleObject(expr) ;}
+{if ("" != null) return new E_TripleObject(expr) ;}
       break;
+      }
     default:
       jj_la1[162] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr RegexExpression() throws ParseException {
-  Expr expr ; Expr patExpr = null ; Expr flagsExpr = null ;
+  final public Expr RegexExpression() throws ParseException {Expr expr ; Expr patExpr = null ; Expr flagsExpr = null ;
     jj_consume_token(REGEX);
     jj_consume_token(LPAREN);
     expr = Expression();
     jj_consume_token(COMMA);
     patExpr = Expression();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case COMMA:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case COMMA:{
       jj_consume_token(COMMA);
       flagsExpr = Expression();
       break;
+      }
     default:
       jj_la1[163] = jj_gen;
       ;
     }
     jj_consume_token(RPAREN);
-        {if (true) return new E_Regex(expr, patExpr, flagsExpr) ;}
+{if ("" != null) return new E_Regex(expr, patExpr, flagsExpr) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr SubstringExpression() throws ParseException {
-  Expr expr1 ; Expr expr2 = null ; Expr expr3 = null ;
+  final public Expr SubstringExpression() throws ParseException {Expr expr1 ; Expr expr2 = null ; Expr expr3 = null ;
     jj_consume_token(SUBSTR);
     jj_consume_token(LPAREN);
     expr1 = Expression();
     jj_consume_token(COMMA);
     expr2 = Expression();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case COMMA:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case COMMA:{
       jj_consume_token(COMMA);
       expr3 = Expression();
       break;
+      }
     default:
       jj_la1[164] = jj_gen;
       ;
     }
     jj_consume_token(RPAREN);
-        {if (true) return new E_StrSubstring(expr1, expr2, expr3) ;}
+{if ("" != null) return new E_StrSubstring(expr1, expr2, expr3) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr StrReplaceExpression() throws ParseException {
-  Expr expr1 ; Expr expr2 = null ; Expr expr3 = null ; Expr expr4 = null ;
+  final public Expr StrReplaceExpression() throws ParseException {Expr expr1 ; Expr expr2 = null ; Expr expr3 = null ; Expr expr4 = null ;
     jj_consume_token(REPLACE);
     jj_consume_token(LPAREN);
     expr1 = Expression();
@@ -5742,61 +6000,61 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     expr2 = Expression();
     jj_consume_token(COMMA);
     expr3 = Expression();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case COMMA:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case COMMA:{
       jj_consume_token(COMMA);
       expr4 = Expression();
       break;
+      }
     default:
       jj_la1[165] = jj_gen;
       ;
     }
     jj_consume_token(RPAREN);
-    {if (true) return new E_StrReplace(expr1,expr2,expr3,expr4) ;}
+{if ("" != null) return new E_StrReplace(expr1,expr2,expr3,expr4) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr ExistsFunc() throws ParseException {
-                      Element el ;
+  final public Expr ExistsFunc() throws ParseException {Element el ;
     jj_consume_token(EXISTS);
     el = GroupGraphPattern();
-     {if (true) return createExprExists(el) ;}
+{if ("" != null) return createExprExists(el) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr NotExistsFunc() throws ParseException {
-                         Element el ;
+  final public Expr NotExistsFunc() throws ParseException {Element el ;
     jj_consume_token(NOT);
     jj_consume_token(EXISTS);
     el = GroupGraphPattern();
-     {if (true) return createExprNotExists(el) ;}
+{if ("" != null) return createExprNotExists(el) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr Aggregate() throws ParseException {
-                     Aggregator agg = null ; String sep = null ;
+  final public Expr Aggregate() throws ParseException {Aggregator agg = null ; String sep = null ;
                      Expr expr = null ; Expr expr2 = null ;
                      boolean distinct = false ;
                      ExprList ordered = new ExprList() ;
                      Token t ;
-    startAggregate();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case COUNT:
+startAggregate();
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case COUNT:{
       t = jj_consume_token(COUNT);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                   distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[166] = jj_gen;
         ;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case STAR:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case STAR:{
         jj_consume_token(STAR);
         break;
+        }
       case IRIref:
       case PNAME_NS:
       case PNAME_LN:
@@ -5902,171 +6160,190 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
       case LT2:
       case BANG:
       case PLUS:
-      case MINUS:
+      case MINUS:{
         expr = Expression();
         break;
+        }
       default:
         jj_la1[167] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
       jj_consume_token(RPAREN);
-      if ( expr == null ) { agg = AggregatorFactory.createCount(distinct) ; }
+if ( expr == null ) { agg = AggregatorFactory.createCount(distinct) ; }
       if ( expr != null ) { agg = AggregatorFactory.createCountExpr(distinct, expr) ; }
       break;
-    case SUM:
+      }
+    case SUM:{
       t = jj_consume_token(SUM);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                                      distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[168] = jj_gen;
         ;
       }
       expr = Expression();
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createSum(distinct, expr) ;
+agg = AggregatorFactory.createSum(distinct, expr) ;
       break;
-    case MIN:
+      }
+    case MIN:{
       t = jj_consume_token(MIN);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                                      distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[169] = jj_gen;
         ;
       }
       expr = Expression();
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createMin(distinct, expr) ;
+agg = AggregatorFactory.createMin(distinct, expr) ;
       break;
-    case MAX:
+      }
+    case MAX:{
       t = jj_consume_token(MAX);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                                      distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[170] = jj_gen;
         ;
       }
       expr = Expression();
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createMax(distinct, expr) ;
+agg = AggregatorFactory.createMax(distinct, expr) ;
       break;
-    case AVG:
+      }
+    case AVG:{
       t = jj_consume_token(AVG);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                                      distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[171] = jj_gen;
         ;
       }
       expr = Expression();
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createAvg(distinct, expr) ;
+agg = AggregatorFactory.createAvg(distinct, expr) ;
       break;
-    case MEDIAN:
+      }
+    case MEDIAN:{
       t = jj_consume_token(MEDIAN);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                                         distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[172] = jj_gen;
         ;
       }
       expr = Expression();
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createMedian(distinct, expr) ;
+agg = AggregatorFactory.createMedian(distinct, expr) ;
       break;
-    case MODE:
+      }
+    case MODE:{
       t = jj_consume_token(MODE);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                                       distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[173] = jj_gen;
         ;
       }
       expr = Expression();
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createMode(distinct, expr) ;
+agg = AggregatorFactory.createMode(distinct, expr) ;
       break;
-    case SAMPLE:
+      }
+    case SAMPLE:{
       t = jj_consume_token(SAMPLE);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                                         distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[174] = jj_gen;
         ;
       }
       expr = Expression();
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createSample(distinct, expr) ;
+agg = AggregatorFactory.createSample(distinct, expr) ;
       break;
-    case GROUP_CONCAT:
+      }
+    case GROUP_CONCAT:{
       t = jj_consume_token(GROUP_CONCAT);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         t = jj_consume_token(DISTINCT);
-                      distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[175] = jj_gen;
         ;
       }
       expr = Expression();
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case SEMICOLON:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case SEMICOLON:{
         if (jj_2_5(2)) {
           jj_consume_token(SEMICOLON);
           jj_consume_token(SEPARATOR);
           jj_consume_token(EQ);
           sep = String();
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-          case SEMICOLON:
+          switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+          case SEMICOLON:{
             jj_consume_token(SEMICOLON);
             jj_consume_token(ORDER);
             jj_consume_token(BY);
             expr2 = Expression();
-                                                           ordered.add(expr2) ;
+ordered.add(expr2) ;
             break;
+            }
           default:
             jj_la1[176] = jj_gen;
             ;
           }
         } else {
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-          case SEMICOLON:
+          switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+          case SEMICOLON:{
             jj_consume_token(SEMICOLON);
             jj_consume_token(ORDER);
             jj_consume_token(BY);
             expr2 = Expression();
-                                                       ordered.add(expr2) ;
+ordered.add(expr2) ;
             break;
+            }
           default:
             jj_la1[177] = jj_gen;
             jj_consume_token(-1);
@@ -6074,144 +6351,160 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
           }
         }
         break;
+        }
       default:
         jj_la1[178] = jj_gen;
         ;
       }
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createGroupConcat(distinct, expr, sep, ordered) ;
+agg = AggregatorFactory.createGroupConcat(distinct, expr, sep, ordered) ;
       break;
-    case STDEV:
+      }
+    case STDEV:{
       t = jj_consume_token(STDEV);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                                        distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[179] = jj_gen;
         ;
       }
       expr = Expression();
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createCustom(AggURI.stdev, distinct, expr) ;
+agg = AggregatorFactory.createCustom(AggURI.stdev, distinct, expr) ;
       break;
-    case STDEV_SAMP:
+      }
+    case STDEV_SAMP:{
       t = jj_consume_token(STDEV_SAMP);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                                             distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[180] = jj_gen;
         ;
       }
       expr = Expression();
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createCustom(AggURI.stdev_samp, distinct, expr) ;
+agg = AggregatorFactory.createCustom(AggURI.stdev_samp, distinct, expr) ;
       break;
-    case STDEV_POP:
+      }
+    case STDEV_POP:{
       t = jj_consume_token(STDEV_POP);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                                            distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[181] = jj_gen;
         ;
       }
       expr = Expression();
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createCustom(AggURI.stdev_pop, distinct, expr) ;
+agg = AggregatorFactory.createCustom(AggURI.stdev_pop, distinct, expr) ;
       break;
-    case VARIANCE:
+      }
+    case VARIANCE:{
       t = jj_consume_token(VARIANCE);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                                           distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[182] = jj_gen;
         ;
       }
       expr = Expression();
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createCustom(AggURI.variance, distinct, expr) ;
+agg = AggregatorFactory.createCustom(AggURI.variance, distinct, expr) ;
       break;
-    case VAR_SAMP:
+      }
+    case VAR_SAMP:{
       t = jj_consume_token(VAR_SAMP);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                                           distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[183] = jj_gen;
         ;
       }
       expr = Expression();
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createCustom(AggURI.var_samp, distinct, expr) ;
+agg = AggregatorFactory.createCustom(AggURI.var_samp, distinct, expr) ;
       break;
-    case VAR_POP:
+      }
+    case VAR_POP:{
       t = jj_consume_token(VAR_POP);
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                                          distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[184] = jj_gen;
         ;
       }
       expr = Expression();
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createCustom(AggURI.var_pop, distinct, expr) ;
+agg = AggregatorFactory.createCustom(AggURI.var_pop, distinct, expr) ;
       break;
-    case FOLD:
+      }
+    case FOLD:{
       t = jj_consume_token(FOLD);
-      java.util.List<SortCondition> scs = null ;
+java.util.List<SortCondition> scs = null ;
       SortCondition sc = null ;
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DISTINCT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case DISTINCT:{
         jj_consume_token(DISTINCT);
-                   distinct = true ;
+distinct = true ;
         break;
+        }
       default:
         jj_la1[185] = jj_gen;
         ;
       }
       expr = Expression();
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case COMMA:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case COMMA:{
         jj_consume_token(COMMA);
         expr2 = Expression();
         break;
+        }
       default:
         jj_la1[186] = jj_gen;
         ;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case ORDER:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case ORDER:{
         jj_consume_token(ORDER);
         jj_consume_token(BY);
         label_43:
         while (true) {
           sc = OrderConditionForAggregationFunction();
-           if ( scs == null )
+if ( scs == null )
              scs = new java.util.ArrayList<SortCondition>();
            scs.add(sc);
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+          switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
           case IRIref:
           case PNAME_NS:
           case PNAME_LN:
@@ -6300,371 +6593,402 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
           case SHA256:
           case SHA384:
           case SHA512:
-          case LPAREN:
+          case LPAREN:{
             ;
             break;
+            }
           default:
             jj_la1[187] = jj_gen;
             break label_43;
           }
         }
         break;
+        }
       default:
         jj_la1[188] = jj_gen;
         ;
       }
       jj_consume_token(RPAREN);
-      agg = AggregatorFactory.createFold(distinct, expr, expr2, scs) ;
+agg = AggregatorFactory.createFold(distinct, expr, expr2, scs) ;
       break;
-    case AGG:
+      }
+    case AGG:{
       t = jj_consume_token(AGG);
-      String iri ;
+String iri ;
       iri = iri();
-      Args a = new Args() ;
+Args a = new Args() ;
       a = ArgList();
-      agg = AggregatorFactory.createCustom(iri, a) ;
+agg = AggregatorFactory.createCustom(iri, a) ;
       break;
+      }
     default:
       jj_la1[189] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    if ( ! getAllowAggregatesInExpressions() )
+if ( ! getAllowAggregatesInExpressions() )
         throwParseException("Aggregate expression not legal at this point", t.beginLine, t.beginColumn) ;
     if ( getAggregateDepth() > 1 )
         throwParseException("Nested aggregate in expression not legal", t.beginLine, t.beginColumn) ;
-    Expr exprAgg = getQuery().allocAggregate(agg) ;
+Expr exprAgg = getQuery().allocAggregate(agg) ;
     finishAggregate();
-    {if (true) return exprAgg ;}
+    {if ("" != null) return exprAgg ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Expr iriOrFunction() throws ParseException {
-                         String iri ; Args a = null ;
+  final public Expr iriOrFunction() throws ParseException {String iri ; Args a = null ;
     iri = iri();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case LPAREN:
-    case NIL:
+    case NIL:{
       a = ArgList();
       break;
+      }
     default:
       jj_la1[190] = jj_gen;
       ;
     }
-    if ( a == null )
-       {if (true) return asExpr(createNode(iri)) ;}
+if ( a == null )
+       {if ("" != null) return asExpr(createNode(iri)) ;}
     if ( AggregateRegistry.isRegistered(iri) ) {
          if ( ! getAllowAggregatesInExpressions() )
             throwParseException("Aggregate expression not legal at this point : "+iri, -1, -1) ;
          Aggregator agg = AggregatorFactory.createCustom(iri, a) ;
          Expr exprAgg = getQuery().allocAggregate(agg) ;
-         {if (true) return exprAgg ;}
+         {if ("" != null) return exprAgg ;}
       }
-    {if (true) return new E_Function(iri, a) ;}
+    {if ("" != null) return new E_Function(iri, a) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node RDFLiteral() throws ParseException {
-                      Token t ; String lex = null ;
+  final public Node RDFLiteral() throws ParseException {Token t ; String lex = null ;
     lex = String();
-    String lang = null ; String uri = null ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+String lang = null ; String uri = null ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case LANGTAG:
-    case DATATYPE:
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case LANGTAG:
+    case DATATYPE:{
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case LANGTAG:{
         t = jj_consume_token(LANGTAG);
-                      lang = stripChars(t.image, 1) ;
+lang = stripChars(t.image, 1) ;
         break;
-      case DATATYPE:
+        }
+      case DATATYPE:{
         jj_consume_token(DATATYPE);
         uri = iri();
         break;
+        }
       default:
         jj_la1[191] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
       break;
+      }
     default:
       jj_la1[192] = jj_gen;
       ;
     }
-      {if (true) return createLiteral(lex, lang, uri) ;}
+{if ("" != null) return createLiteral(lex, lang, uri) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node NumericLiteral() throws ParseException {
-                          Node n ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+  final public Node NumericLiteral() throws ParseException {Node n ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case INTEGER:
     case DECIMAL:
-    case DOUBLE:
+    case DOUBLE:{
       n = NumericLiteralUnsigned();
       break;
+      }
     case INTEGER_POSITIVE:
     case DECIMAL_POSITIVE:
-    case DOUBLE_POSITIVE:
+    case DOUBLE_POSITIVE:{
       n = NumericLiteralPositive();
       break;
+      }
     case INTEGER_NEGATIVE:
     case DECIMAL_NEGATIVE:
-    case DOUBLE_NEGATIVE:
+    case DOUBLE_NEGATIVE:{
       n = NumericLiteralNegative();
       break;
+      }
     default:
       jj_la1[193] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    {if (true) return n ;}
+{if ("" != null) return n ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node NumericLiteralUnsigned() throws ParseException {
-                                  Token t ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case INTEGER:
+  final public Node NumericLiteralUnsigned() throws ParseException {Token t ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case INTEGER:{
       t = jj_consume_token(INTEGER);
-                  {if (true) return createLiteralInteger(t.image) ;}
+{if ("" != null) return createLiteralInteger(t.image) ;}
       break;
-    case DECIMAL:
+      }
+    case DECIMAL:{
       t = jj_consume_token(DECIMAL);
-                  {if (true) return createLiteralDecimal(t.image) ;}
+{if ("" != null) return createLiteralDecimal(t.image) ;}
       break;
-    case DOUBLE:
+      }
+    case DOUBLE:{
       t = jj_consume_token(DOUBLE);
-                 {if (true) return createLiteralDouble(t.image) ;}
+{if ("" != null) return createLiteralDouble(t.image) ;}
       break;
+      }
     default:
       jj_la1[194] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node NumericLiteralPositive() throws ParseException {
-                                  Token t ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case INTEGER_POSITIVE:
+  final public Node NumericLiteralPositive() throws ParseException {Token t ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case INTEGER_POSITIVE:{
       t = jj_consume_token(INTEGER_POSITIVE);
-                           {if (true) return createLiteralInteger(t.image) ;}
+{if ("" != null) return createLiteralInteger(t.image) ;}
       break;
-    case DECIMAL_POSITIVE:
+      }
+    case DECIMAL_POSITIVE:{
       t = jj_consume_token(DECIMAL_POSITIVE);
-                           {if (true) return createLiteralDecimal(t.image) ;}
+{if ("" != null) return createLiteralDecimal(t.image) ;}
       break;
-    case DOUBLE_POSITIVE:
+      }
+    case DOUBLE_POSITIVE:{
       t = jj_consume_token(DOUBLE_POSITIVE);
-                          {if (true) return createLiteralDouble(t.image) ;}
+{if ("" != null) return createLiteralDouble(t.image) ;}
       break;
+      }
     default:
       jj_la1[195] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node NumericLiteralNegative() throws ParseException {
-                                  Token t ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case INTEGER_NEGATIVE:
+  final public Node NumericLiteralNegative() throws ParseException {Token t ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case INTEGER_NEGATIVE:{
       t = jj_consume_token(INTEGER_NEGATIVE);
-                           {if (true) return createLiteralInteger(t.image) ;}
+{if ("" != null) return createLiteralInteger(t.image) ;}
       break;
-    case DECIMAL_NEGATIVE:
+      }
+    case DECIMAL_NEGATIVE:{
       t = jj_consume_token(DECIMAL_NEGATIVE);
-                           {if (true) return createLiteralDecimal(t.image) ;}
+{if ("" != null) return createLiteralDecimal(t.image) ;}
       break;
-    case DOUBLE_NEGATIVE:
+      }
+    case DOUBLE_NEGATIVE:{
       t = jj_consume_token(DOUBLE_NEGATIVE);
-                          {if (true) return createLiteralDouble(t.image) ;}
+{if ("" != null) return createLiteralDouble(t.image) ;}
       break;
+      }
     default:
       jj_la1[196] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
   final public Node BooleanLiteral() throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case TRUE:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case TRUE:{
       jj_consume_token(TRUE);
-           {if (true) return XSD_TRUE ;}
+{if ("" != null) return XSD_TRUE ;}
       break;
-    case FALSE:
+      }
+    case FALSE:{
       jj_consume_token(FALSE);
-            {if (true) return XSD_FALSE ;}
+{if ("" != null) return XSD_FALSE ;}
       break;
+      }
     default:
       jj_la1[197] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public String String() throws ParseException {
-                    Token t ; String lex ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case STRING_LITERAL1:
+  final public String String() throws ParseException {Token t ; String lex ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case STRING_LITERAL1:{
       t = jj_consume_token(STRING_LITERAL1);
-                            lex = stripQuotes(t.image) ;
+lex = stripQuotes(t.image) ;
       break;
-    case STRING_LITERAL2:
+      }
+    case STRING_LITERAL2:{
       t = jj_consume_token(STRING_LITERAL2);
-                            lex = stripQuotes(t.image) ;
+lex = stripQuotes(t.image) ;
       break;
-    case STRING_LITERAL_LONG1:
+      }
+    case STRING_LITERAL_LONG1:{
       t = jj_consume_token(STRING_LITERAL_LONG1);
-                                 lex = stripQuotes3(t.image) ;
+lex = stripQuotes3(t.image) ;
       break;
-    case STRING_LITERAL_LONG2:
+      }
+    case STRING_LITERAL_LONG2:{
       t = jj_consume_token(STRING_LITERAL_LONG2);
-                                 lex = stripQuotes3(t.image) ;
+lex = stripQuotes3(t.image) ;
       break;
+      }
     default:
       jj_la1[198] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-      checkString(lex, t.beginLine, t.beginColumn) ;
+checkString(lex, t.beginLine, t.beginColumn) ;
       lex = unescapeStr(lex, t.beginLine, t.beginColumn) ;
-      {if (true) return lex ;}
+      {if ("" != null) return lex ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public String iri() throws ParseException {
-                 String iri ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case IRIref:
+  final public String iri() throws ParseException {String iri ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case IRIref:{
       iri = IRIREF();
-                   {if (true) return iri ;}
+{if ("" != null) return iri ;}
       break;
+      }
     case PNAME_NS:
-    case PNAME_LN:
+    case PNAME_LN:{
       iri = PrefixedName();
-                         {if (true) return iri ;}
+{if ("" != null) return iri ;}
       break;
+      }
     default:
       jj_la1[199] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public String PrefixedName() throws ParseException {
-                          Token t ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case PNAME_LN:
+  final public String PrefixedName() throws ParseException {Token t ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case PNAME_LN:{
       t = jj_consume_token(PNAME_LN);
-      {if (true) return resolvePName(t.image, t.beginLine, t.beginColumn) ;}
+{if ("" != null) return resolvePName(t.image, t.beginLine, t.beginColumn) ;}
       break;
-    case PNAME_NS:
+      }
+    case PNAME_NS:{
       t = jj_consume_token(PNAME_NS);
-      {if (true) return resolvePName(t.image, t.beginLine, t.beginColumn) ;}
+{if ("" != null) return resolvePName(t.image, t.beginLine, t.beginColumn) ;}
       break;
+      }
     default:
       jj_la1[200] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public Node BlankNode() throws ParseException {
-                     Token t = null ;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case BLANK_NODE_LABEL:
+  final public Node BlankNode() throws ParseException {Token t = null ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case BLANK_NODE_LABEL:{
       t = jj_consume_token(BLANK_NODE_LABEL);
-      {if (true) return createBNode(t.image, t.beginLine, t.beginColumn) ;}
+{if ("" != null) return createBNode(t.image, t.beginLine, t.beginColumn) ;}
       break;
-    case ANON:
+      }
+    case ANON:{
       t = jj_consume_token(ANON);
-               {if (true) return createBNode(t.beginLine, t.beginColumn) ;}
+{if ("" != null) return createBNode(t.beginLine, t.beginColumn) ;}
       break;
+      }
     default:
       jj_la1[201] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
-  final public String IRIREF() throws ParseException {
-                    Token t ;
+  final public String IRIREF() throws ParseException {Token t ;
     t = jj_consume_token(IRIref);
-    {if (true) return resolveQuotedIRI(t.image, t.beginLine, t.beginColumn) ;}
+{if ("" != null) return resolveQuotedIRI(t.image, t.beginLine, t.beginColumn) ;}
     throw new Error("Missing return statement in function");
-  }
+}
 
-  private boolean jj_2_1(int xla) {
+  private boolean jj_2_1(int xla)
+ {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_1(); }
+    try { return (!jj_3_1()); }
     catch(LookaheadSuccess ls) { return true; }
     finally { jj_save(0, xla); }
   }
 
-  private boolean jj_2_2(int xla) {
+  private boolean jj_2_2(int xla)
+ {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_2(); }
+    try { return (!jj_3_2()); }
     catch(LookaheadSuccess ls) { return true; }
     finally { jj_save(1, xla); }
   }
 
-  private boolean jj_2_3(int xla) {
+  private boolean jj_2_3(int xla)
+ {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_3(); }
+    try { return (!jj_3_3()); }
     catch(LookaheadSuccess ls) { return true; }
     finally { jj_save(2, xla); }
   }
 
-  private boolean jj_2_4(int xla) {
+  private boolean jj_2_4(int xla)
+ {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_4(); }
+    try { return (!jj_3_4()); }
     catch(LookaheadSuccess ls) { return true; }
     finally { jj_save(3, xla); }
   }
 
-  private boolean jj_2_5(int xla) {
+  private boolean jj_2_5(int xla)
+ {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_5(); }
+    try { return (!jj_3_5()); }
     catch(LookaheadSuccess ls) { return true; }
     finally { jj_save(4, xla); }
   }
 
-  private boolean jj_3R_101() {
+  private boolean jj_3R_BuiltInCall_1525_5_101()
+ {
     if (jj_scan_token(IS_BLANK)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_100() {
+  private boolean jj_3R_BuiltInCall_1523_5_100()
+ {
     if (jj_scan_token(IS_URI)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_99() {
+  private boolean jj_3R_BuiltInCall_1521_5_99()
+ {
     if (jj_scan_token(IS_IRI)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_98() {
+  private boolean jj_3R_BuiltInCall_1519_5_98()
+ {
     if (jj_scan_token(SAME_TERM)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3_2() {
+  private boolean jj_3_2()
+ {
     if (jj_scan_token(SEMICOLON)) return true;
-    if (jj_3R_45()) return true;
+    if (jj_3R_Prologue_72_3_45()) return true;
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(149)) {
@@ -6710,481 +7034,539 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     return false;
   }
 
-  private boolean jj_3R_97() {
+  private boolean jj_3R_BuiltInCall_1517_5_97()
+ {
     if (jj_scan_token(STRDT)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_96() {
+  private boolean jj_3R_BuiltInCall_1515_5_96()
+ {
     if (jj_scan_token(STRLANG)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_95() {
+  private boolean jj_3R_BuiltInCall_1511_5_95()
+ {
     if (jj_scan_token(IF)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_168() {
+  private boolean jj_3R_BlankNodePropertyList_1125_3_168()
+ {
     if (jj_scan_token(LBRACKET)) return true;
     return false;
   }
 
-  private boolean jj_3R_94() {
+  private boolean jj_3R_BuiltInCall_1504_5_94()
+ {
     if (jj_scan_token(CALL)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_158() {
-    if (jj_3R_168()) return true;
+  private boolean jj_3R_TriplesNode_1121_3_158()
+ {
+    if (jj_3R_BlankNodePropertyList_1125_3_168()) return true;
     return false;
   }
 
-  private boolean jj_3R_93() {
+  private boolean jj_3R_BuiltInCall_1502_5_93()
+ {
     if (jj_scan_token(COALESCE)) return true;
-    if (jj_3R_118()) return true;
+    if (jj_3R_ExpressionList_866_3_118()) return true;
     return false;
   }
 
-  private boolean jj_3R_92() {
+  private boolean jj_3R_BuiltInCall_1501_5_92()
+ {
     if (jj_scan_token(VERSION)) return true;
     if (jj_scan_token(NIL)) return true;
     return false;
   }
 
-  private boolean jj_3R_127() {
+  private boolean jj_3R_TriplesNode_1119_3_127()
+ {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_157()) {
+    if (jj_3R_TriplesNode_1119_3_157()) {
     jj_scanpos = xsp;
-    if (jj_3R_158()) return true;
+    if (jj_3R_TriplesNode_1121_3_158()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_157() {
-    if (jj_3R_167()) return true;
+  private boolean jj_3R_TriplesNode_1119_3_157()
+ {
+    if (jj_3R_Collection_1148_3_167()) return true;
     return false;
   }
 
-  private boolean jj_3R_91() {
+  private boolean jj_3R_BuiltInCall_1500_5_91()
+ {
     if (jj_scan_token(SHA512)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_90() {
+  private boolean jj_3R_BuiltInCall_1499_5_90()
+ {
     if (jj_scan_token(SHA384)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_89() {
+  private boolean jj_3R_BuiltInCall_1498_5_89()
+ {
     if (jj_scan_token(SHA256)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_88() {
+  private boolean jj_3R_BuiltInCall_1497_5_88()
+ {
     if (jj_scan_token(SHA1)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_87() {
+  private boolean jj_3R_BuiltInCall_1496_5_87()
+ {
     if (jj_scan_token(MD5)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_86() {
+  private boolean jj_3R_BuiltInCall_1495_5_86()
+ {
     if (jj_scan_token(STRUUID)) return true;
     if (jj_scan_token(NIL)) return true;
     return false;
   }
 
-  private boolean jj_3R_85() {
+  private boolean jj_3R_BuiltInCall_1494_5_85()
+ {
     if (jj_scan_token(UUID)) return true;
     if (jj_scan_token(NIL)) return true;
     return false;
   }
 
-  private boolean jj_3R_84() {
+  private boolean jj_3R_BuiltInCall_1493_5_84()
+ {
     if (jj_scan_token(NOW)) return true;
     if (jj_scan_token(NIL)) return true;
     return false;
   }
 
-  private boolean jj_3R_83() {
+  private boolean jj_3R_BuiltInCall_1490_5_83()
+ {
     if (jj_scan_token(ADJUST)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_82() {
+  private boolean jj_3R_BuiltInCall_1489_5_82()
+ {
     if (jj_scan_token(TZ)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_81() {
+  private boolean jj_3R_BuiltInCall_1488_5_81()
+ {
     if (jj_scan_token(TIMEZONE)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_80() {
+  private boolean jj_3R_BuiltInCall_1487_5_80()
+ {
     if (jj_scan_token(SECONDS)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_79() {
+  private boolean jj_3R_BuiltInCall_1486_5_79()
+ {
     if (jj_scan_token(MINUTES)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_78() {
+  private boolean jj_3R_BuiltInCall_1485_5_78()
+ {
     if (jj_scan_token(HOURS)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_77() {
+  private boolean jj_3R_BuiltInCall_1484_5_77()
+ {
     if (jj_scan_token(DAY)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_76() {
+  private boolean jj_3R_BuiltInCall_1483_5_76()
+ {
     if (jj_scan_token(MONTH)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_75() {
+  private boolean jj_3R_BuiltInCall_1482_5_75()
+ {
     if (jj_scan_token(YEAR)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_74() {
+  private boolean jj_3R_BuiltInCall_1480_5_74()
+ {
     if (jj_scan_token(STRAFTER)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_73() {
+  private boolean jj_3R_BuiltInCall_1478_5_73()
+ {
     if (jj_scan_token(STRBEFORE)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_72() {
+  private boolean jj_3R_BuiltInCall_1476_5_72()
+ {
     if (jj_scan_token(STRENDS)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_71() {
+  private boolean jj_3R_BuiltInCall_1474_5_71()
+ {
     if (jj_scan_token(STRSTARTS)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_70() {
+  private boolean jj_3R_BuiltInCall_1472_5_70()
+ {
     if (jj_scan_token(CONTAINS)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_69() {
+  private boolean jj_3R_BuiltInCall_1471_5_69()
+ {
     if (jj_scan_token(ENCODE_FOR_URI)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_68() {
+  private boolean jj_3R_BuiltInCall_1470_5_68()
+ {
     if (jj_scan_token(LCASE)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_67() {
+  private boolean jj_3R_BuiltInCall_1469_5_67()
+ {
     if (jj_scan_token(UCASE)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_66() {
-    if (jj_3R_120()) return true;
+  private boolean jj_3R_BuiltInCall_1468_5_66()
+ {
+    if (jj_3R_StrReplaceExpression_1573_3_120()) return true;
     return false;
   }
 
-  private boolean jj_3R_65() {
+  private boolean jj_3R_BuiltInCall_1467_5_65()
+ {
     if (jj_scan_token(STRLEN)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_64() {
-    if (jj_3R_119()) return true;
+  private boolean jj_3R_BuiltInCall_1466_5_64()
+ {
+    if (jj_3R_SubstringExpression_1561_5_119()) return true;
     return false;
   }
 
-  private boolean jj_3R_63() {
+  private boolean jj_3R_BuiltInCall_1465_5_63()
+ {
     if (jj_scan_token(CONCAT)) return true;
-    if (jj_3R_118()) return true;
+    if (jj_3R_ExpressionList_866_3_118()) return true;
     return false;
   }
 
-  private boolean jj_3R_62() {
+  private boolean jj_3R_BuiltInCall_1464_5_62()
+ {
     if (jj_scan_token(IDIV)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_61() {
+  private boolean jj_3R_BuiltInCall_1463_5_61()
+ {
     if (jj_scan_token(MOD)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_60() {
+  private boolean jj_3R_BuiltInCall_1462_5_60()
+ {
     if (jj_scan_token(ROUND)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_59() {
+  private boolean jj_3R_BuiltInCall_1461_5_59()
+ {
     if (jj_scan_token(FLOOR)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_58() {
+  private boolean jj_3R_BuiltInCall_1460_5_58()
+ {
     if (jj_scan_token(CEIL)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_57() {
+  private boolean jj_3R_BuiltInCall_1459_5_57()
+ {
     if (jj_scan_token(ABS)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_56() {
+  private boolean jj_3R_BuiltInCall_1458_5_56()
+ {
     if (jj_scan_token(RAND)) return true;
     if (jj_scan_token(NIL)) return true;
     return false;
   }
 
-  private boolean jj_3R_117() {
+  private boolean jj_3R_BuiltInCall_1456_7_117()
+ {
     if (jj_scan_token(NIL)) return true;
     return false;
   }
 
-  private boolean jj_3R_116() {
+  private boolean jj_3R_BuiltInCall_1453_7_116()
+ {
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_55() {
+  private boolean jj_3R_BuiltInCall_1452_5_55()
+ {
     if (jj_scan_token(BNODE)) return true;
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_116()) {
+    if (jj_3R_BuiltInCall_1453_7_116()) {
     jj_scanpos = xsp;
-    if (jj_3R_117()) return true;
+    if (jj_3R_BuiltInCall_1456_7_117()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_54() {
+  private boolean jj_3R_BuiltInCall_1450_5_54()
+ {
     if (jj_scan_token(URI)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_53() {
+  private boolean jj_3R_BuiltInCall_1448_5_53()
+ {
     if (jj_scan_token(IRI)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_52() {
+  private boolean jj_3R_BuiltInCall_1446_5_52()
+ {
     if (jj_scan_token(BOUND)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_51() {
+  private boolean jj_3R_BuiltInCall_1444_5_51()
+ {
     if (jj_scan_token(DTYPE)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_50() {
+  private boolean jj_3R_BuiltInCall_1441_5_50()
+ {
     if (jj_scan_token(LANGMATCHES)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_49() {
+  private boolean jj_3R_BuiltInCall_1439_5_49()
+ {
     if (jj_scan_token(LANG)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_48() {
+  private boolean jj_3R_BuiltInCall_1437_5_48()
+ {
     if (jj_scan_token(STR)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_47() {
-    if (jj_3R_115()) return true;
+  private boolean jj_3R_BuiltInCall_1435_5_47()
+ {
+    if (jj_3R_Aggregate_1600_3_115()) return true;
     return false;
   }
 
-  private boolean jj_3R_44() {
+  private boolean jj_3R_BuiltInCall_1435_5_44()
+ {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_47()) {
+    if (jj_3R_BuiltInCall_1435_5_47()) {
     jj_scanpos = xsp;
-    if (jj_3R_48()) {
+    if (jj_3R_BuiltInCall_1437_5_48()) {
     jj_scanpos = xsp;
-    if (jj_3R_49()) {
+    if (jj_3R_BuiltInCall_1439_5_49()) {
     jj_scanpos = xsp;
-    if (jj_3R_50()) {
+    if (jj_3R_BuiltInCall_1441_5_50()) {
     jj_scanpos = xsp;
-    if (jj_3R_51()) {
+    if (jj_3R_BuiltInCall_1444_5_51()) {
     jj_scanpos = xsp;
-    if (jj_3R_52()) {
+    if (jj_3R_BuiltInCall_1446_5_52()) {
     jj_scanpos = xsp;
-    if (jj_3R_53()) {
+    if (jj_3R_BuiltInCall_1448_5_53()) {
     jj_scanpos = xsp;
-    if (jj_3R_54()) {
+    if (jj_3R_BuiltInCall_1450_5_54()) {
     jj_scanpos = xsp;
-    if (jj_3R_55()) {
+    if (jj_3R_BuiltInCall_1452_5_55()) {
     jj_scanpos = xsp;
-    if (jj_3R_56()) {
+    if (jj_3R_BuiltInCall_1458_5_56()) {
     jj_scanpos = xsp;
-    if (jj_3R_57()) {
+    if (jj_3R_BuiltInCall_1459_5_57()) {
     jj_scanpos = xsp;
-    if (jj_3R_58()) {
+    if (jj_3R_BuiltInCall_1460_5_58()) {
     jj_scanpos = xsp;
-    if (jj_3R_59()) {
+    if (jj_3R_BuiltInCall_1461_5_59()) {
     jj_scanpos = xsp;
-    if (jj_3R_60()) {
+    if (jj_3R_BuiltInCall_1462_5_60()) {
     jj_scanpos = xsp;
-    if (jj_3R_61()) {
+    if (jj_3R_BuiltInCall_1463_5_61()) {
     jj_scanpos = xsp;
-    if (jj_3R_62()) {
+    if (jj_3R_BuiltInCall_1464_5_62()) {
     jj_scanpos = xsp;
-    if (jj_3R_63()) {
+    if (jj_3R_BuiltInCall_1465_5_63()) {
     jj_scanpos = xsp;
-    if (jj_3R_64()) {
+    if (jj_3R_BuiltInCall_1466_5_64()) {
     jj_scanpos = xsp;
-    if (jj_3R_65()) {
+    if (jj_3R_BuiltInCall_1467_5_65()) {
     jj_scanpos = xsp;
-    if (jj_3R_66()) {
+    if (jj_3R_BuiltInCall_1468_5_66()) {
     jj_scanpos = xsp;
-    if (jj_3R_67()) {
+    if (jj_3R_BuiltInCall_1469_5_67()) {
     jj_scanpos = xsp;
-    if (jj_3R_68()) {
+    if (jj_3R_BuiltInCall_1470_5_68()) {
     jj_scanpos = xsp;
-    if (jj_3R_69()) {
+    if (jj_3R_BuiltInCall_1471_5_69()) {
     jj_scanpos = xsp;
-    if (jj_3R_70()) {
+    if (jj_3R_BuiltInCall_1472_5_70()) {
     jj_scanpos = xsp;
-    if (jj_3R_71()) {
+    if (jj_3R_BuiltInCall_1474_5_71()) {
     jj_scanpos = xsp;
-    if (jj_3R_72()) {
+    if (jj_3R_BuiltInCall_1476_5_72()) {
     jj_scanpos = xsp;
-    if (jj_3R_73()) {
+    if (jj_3R_BuiltInCall_1478_5_73()) {
     jj_scanpos = xsp;
-    if (jj_3R_74()) {
+    if (jj_3R_BuiltInCall_1480_5_74()) {
     jj_scanpos = xsp;
-    if (jj_3R_75()) {
+    if (jj_3R_BuiltInCall_1482_5_75()) {
     jj_scanpos = xsp;
-    if (jj_3R_76()) {
+    if (jj_3R_BuiltInCall_1483_5_76()) {
     jj_scanpos = xsp;
-    if (jj_3R_77()) {
+    if (jj_3R_BuiltInCall_1484_5_77()) {
     jj_scanpos = xsp;
-    if (jj_3R_78()) {
+    if (jj_3R_BuiltInCall_1485_5_78()) {
     jj_scanpos = xsp;
-    if (jj_3R_79()) {
+    if (jj_3R_BuiltInCall_1486_5_79()) {
     jj_scanpos = xsp;
-    if (jj_3R_80()) {
+    if (jj_3R_BuiltInCall_1487_5_80()) {
     jj_scanpos = xsp;
-    if (jj_3R_81()) {
+    if (jj_3R_BuiltInCall_1488_5_81()) {
     jj_scanpos = xsp;
-    if (jj_3R_82()) {
+    if (jj_3R_BuiltInCall_1489_5_82()) {
     jj_scanpos = xsp;
-    if (jj_3R_83()) {
+    if (jj_3R_BuiltInCall_1490_5_83()) {
     jj_scanpos = xsp;
-    if (jj_3R_84()) {
+    if (jj_3R_BuiltInCall_1493_5_84()) {
     jj_scanpos = xsp;
-    if (jj_3R_85()) {
+    if (jj_3R_BuiltInCall_1494_5_85()) {
     jj_scanpos = xsp;
-    if (jj_3R_86()) {
+    if (jj_3R_BuiltInCall_1495_5_86()) {
     jj_scanpos = xsp;
-    if (jj_3R_87()) {
+    if (jj_3R_BuiltInCall_1496_5_87()) {
     jj_scanpos = xsp;
-    if (jj_3R_88()) {
+    if (jj_3R_BuiltInCall_1497_5_88()) {
     jj_scanpos = xsp;
-    if (jj_3R_89()) {
+    if (jj_3R_BuiltInCall_1498_5_89()) {
     jj_scanpos = xsp;
-    if (jj_3R_90()) {
+    if (jj_3R_BuiltInCall_1499_5_90()) {
     jj_scanpos = xsp;
-    if (jj_3R_91()) {
+    if (jj_3R_BuiltInCall_1500_5_91()) {
     jj_scanpos = xsp;
-    if (jj_3R_92()) {
+    if (jj_3R_BuiltInCall_1501_5_92()) {
     jj_scanpos = xsp;
-    if (jj_3R_93()) {
+    if (jj_3R_BuiltInCall_1502_5_93()) {
     jj_scanpos = xsp;
-    if (jj_3R_94()) {
+    if (jj_3R_BuiltInCall_1504_5_94()) {
     jj_scanpos = xsp;
-    if (jj_3R_95()) {
+    if (jj_3R_BuiltInCall_1511_5_95()) {
     jj_scanpos = xsp;
-    if (jj_3R_96()) {
+    if (jj_3R_BuiltInCall_1515_5_96()) {
     jj_scanpos = xsp;
-    if (jj_3R_97()) {
+    if (jj_3R_BuiltInCall_1517_5_97()) {
     jj_scanpos = xsp;
-    if (jj_3R_98()) {
+    if (jj_3R_BuiltInCall_1519_5_98()) {
     jj_scanpos = xsp;
-    if (jj_3R_99()) {
+    if (jj_3R_BuiltInCall_1521_5_99()) {
     jj_scanpos = xsp;
-    if (jj_3R_100()) {
+    if (jj_3R_BuiltInCall_1523_5_100()) {
     jj_scanpos = xsp;
-    if (jj_3R_101()) {
+    if (jj_3R_BuiltInCall_1525_5_101()) {
     jj_scanpos = xsp;
-    if (jj_3R_102()) {
+    if (jj_3R_BuiltInCall_1527_5_102()) {
     jj_scanpos = xsp;
-    if (jj_3R_103()) {
+    if (jj_3R_BuiltInCall_1529_5_103()) {
     jj_scanpos = xsp;
-    if (jj_3R_104()) {
+    if (jj_3R_BuiltInCall_1532_5_104()) {
     jj_scanpos = xsp;
-    if (jj_3R_105()) {
+    if (jj_3R_BuiltInCall_1533_5_105()) {
     jj_scanpos = xsp;
-    if (jj_3R_106()) {
+    if (jj_3R_BuiltInCall_1534_5_106()) {
     jj_scanpos = xsp;
-    if (jj_3R_107()) {
+    if (jj_3R_BuiltInCall_1535_3_107()) {
     jj_scanpos = xsp;
-    if (jj_3R_108()) {
+    if (jj_3R_BuiltInCall_1537_5_108()) {
     jj_scanpos = xsp;
-    if (jj_3R_109()) {
+    if (jj_3R_BuiltInCall_1539_5_109()) {
     jj_scanpos = xsp;
-    if (jj_3R_110()) {
+    if (jj_3R_BuiltInCall_1541_5_110()) {
     jj_scanpos = xsp;
-    if (jj_3R_111()) return true;
+    if (jj_3R_BuiltInCall_1543_5_111()) return true;
     }
     }
     }
@@ -7252,262 +7634,301 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     return false;
   }
 
-  private boolean jj_3R_160() {
+  private boolean jj_3R_IRIREF_1780_3_160()
+ {
     if (jj_scan_token(IRIref)) return true;
     return false;
   }
 
-  private boolean jj_3R_178() {
+  private boolean jj_3R_BlankNode_1776_3_178()
+ {
     if (jj_scan_token(ANON)) return true;
     return false;
   }
 
-  private boolean jj_3R_165() {
+  private boolean jj_3R_BlankNode_1773_3_165()
+ {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_177()) {
+    if (jj_3R_BlankNode_1773_3_177()) {
     jj_scanpos = xsp;
-    if (jj_3R_178()) return true;
+    if (jj_3R_BlankNode_1776_3_178()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_177() {
+  private boolean jj_3R_BlankNode_1773_3_177()
+ {
     if (jj_scan_token(BLANK_NODE_LABEL)) return true;
     return false;
... 5906 lines suppressed ...


(jena) 02/03: Fix multiple declarations of Unfold()

Posted by an...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch gh2518-cdt
in repository https://gitbox.apache.org/repos/asf/jena.git

commit f0ebba0d0674abbb029b8f4d45b389ad3e7db724
Author: Andy Seaborne <an...@apache.org>
AuthorDate: Thu Aug 29 12:45:28 2024 +0100

    Fix multiple declarations of Unfold()
---
 jena-arq/Grammar/main.jj | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/jena-arq/Grammar/main.jj b/jena-arq/Grammar/main.jj
index 46ff197b3b..65094b250f 100644
--- a/jena-arq/Grammar/main.jj
+++ b/jena-arq/Grammar/main.jj
@@ -923,8 +923,6 @@ Element GraphPatternNotTriples() : { Element el = null ; }
 #ifdef ARQ
  |
    el = Assignment()
- |
-   el = Unfold()
  |
    el = ExistsElt()
  |
@@ -1063,18 +1061,6 @@ Element Assignment() : { Var v ; Expr expr ; }
     { return new ElementAssign(v, expr) ; }
 }
 
-Element Unfold() : {  Var v1 ; Var v2 = null ; Expr expr ; }
-{
-  <UNFOLD>
-  <LPAREN>
-  expr = Expression()
-  <AS>
-  v1 = Var()
-  (<COMMA> v2 = Var() { ; } )?
-  <RPAREN>
-  { return new ElementUnfold(expr, v1, v2) ; }
-}
-
 Element ExistsElt() : { Element el ; }
 {
     <EXISTS>