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 2018/08/07 12:02:21 UTC

[09/16] jena git commit: JENA-1584: A Javacc Turtle parser for reference.

http://git-wip-us.apache.org/repos/asf/jena/blob/31dc8138/jena-arq/src/main/java/org/apache/jena/riot/lang/extra/javacc/TurtleJavacc.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/extra/javacc/TurtleJavacc.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/extra/javacc/TurtleJavacc.java
new file mode 100644
index 0000000..7bd1b1d
--- /dev/null
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/extra/javacc/TurtleJavacc.java
@@ -0,0 +1,973 @@
+/* TurtleJavacc.java */
+/* Generated By:JavaCC: Do not edit this line. TurtleJavacc.java */
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.riot.lang.extra.javacc;
+
+import org.apache.jena.graph.*;
+import org.apache.jena.riot.lang.extra.* ;
+
+public class TurtleJavacc extends TurtleParserBase implements TurtleJavaccConstants {
+
+// Entry point
+  final public void parse() throws ParseException {
+    ByteOrderMark();
+    label_1:
+    while (true) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case PREFIX_OLD:
+      case BASE_OLD:
+      case BASE:
+      case PREFIX:
+      case LPAREN:
+      case LBRACKET:
+      case ANON:
+      case IRIref:
+      case PNAME_NS:
+      case PNAME_LN:
+      case BLANK_NODE_LABEL:{
+
+        break;
+        }
+      default:
+        jj_la1[0] = jj_gen;
+        break label_1;
+      }
+      Statement();
+    }
+    jj_consume_token(0);
+  }
+
+  final public void ByteOrderMark() throws ParseException {
+    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 Statement() throws ParseException {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case BASE:
+    case PREFIX:{
+      Directive();
+      break;
+      }
+    case PREFIX_OLD:
+    case BASE_OLD:{
+      DirectiveOld();
+      break;
+      }
+    case LPAREN:
+    case LBRACKET:
+    case ANON:
+    case IRIref:
+    case PNAME_NS:
+    case PNAME_LN:
+    case BLANK_NODE_LABEL:{
+      TriplesSameSubject();
+      jj_consume_token(DOT);
+      break;
+      }
+    default:
+      jj_la1[2] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+  }
+
+  final public void Directive() throws ParseException {Token t ; String iri ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case PREFIX:{
+      jj_consume_token(PREFIX);
+      t = jj_consume_token(PNAME_NS);
+      iri = IRIREF();
+String s = fixupPrefix(t.image, t.beginLine, t.beginColumn) ;
+      setPrefix(t.beginLine, t.beginColumn, s, iri) ;
+      break;
+      }
+    case BASE:{
+      t = jj_consume_token(BASE);
+      iri = IRIREF();
+setBase(iri, t.beginLine, t.beginColumn) ;
+      break;
+      }
+    default:
+      jj_la1[3] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+  }
+
+  final public void DirectiveOld() throws ParseException {Token t ; String iri ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case PREFIX_OLD:{
+      jj_consume_token(PREFIX_OLD);
+      t = jj_consume_token(PNAME_NS);
+      iri = IRIREF();
+      jj_consume_token(DOT);
+String s = fixupPrefix(t.image, t.beginLine, t.beginColumn) ;
+      setPrefix(t.beginLine, t.beginColumn, s, iri) ;
+      break;
+      }
+    case BASE_OLD:{
+      t = jj_consume_token(BASE_OLD);
+      iri = IRIREF();
+      jj_consume_token(DOT);
+setBase(iri, t.beginLine, t.beginColumn) ;
+      break;
+      }
+    default:
+      jj_la1[4] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+  }
+
+  final public Token AnyDirective() throws ParseException {Token t ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case PREFIX:{
+      t = jj_consume_token(PREFIX);
+      break;
+      }
+    case BASE:{
+      t = jj_consume_token(BASE);
+      break;
+      }
+    default:
+      jj_la1[5] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+{if ("" != null) return t ;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public void TriplesSameSubject() throws ParseException {Node s ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case ANON:
+    case IRIref:
+    case PNAME_NS:
+    case PNAME_LN:
+    case BLANK_NODE_LABEL:{
+      s = SubjectNode();
+      PropertyListNotEmpty(s);
+      break;
+      }
+    case LPAREN:
+    case LBRACKET:{
+      s = TriplesNode();
+      PropertyList(s);
+      break;
+      }
+    default:
+      jj_la1[6] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+  }
+
+  final public void PropertyList(Node s) throws ParseException {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case KW_A:
+    case IRIref:
+    case PNAME_NS:
+    case PNAME_LN:{
+      PropertyListNotEmpty(s);
+      break;
+      }
+    default:
+      jj_la1[7] = jj_gen;
+
+    }
+  }
+
+  final public void PropertyListNotEmpty(Node s) throws ParseException {Node p = null ;
+    p = Verb();
+    ObjectList(s, p);
+    label_2:
+    while (true) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case SEMICOLON:{
+
+        break;
+        }
+      default:
+        jj_la1[8] = jj_gen;
+        break label_2;
+      }
+      jj_consume_token(SEMICOLON);
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case KW_A:
+      case IRIref:
+      case PNAME_NS:
+      case PNAME_LN:{
+        p = Verb();
+        ObjectList(s, p);
+        break;
+        }
+      default:
+        jj_la1[9] = jj_gen;
+
+      }
+    }
+  }
+
+  final public void ObjectList(Node s, Node p) throws ParseException {Node o ;
+    Object(s, p);
+    label_3:
+    while (true) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case COMMA:{
+
+        break;
+        }
+      default:
+        jj_la1[10] = jj_gen;
+        break label_3;
+      }
+      jj_consume_token(COMMA);
+      Object(s, p);
+    }
+  }
+
+  final public void Object(Node s, Node p) throws ParseException {Node o ;
+    o = GraphNode();
+emitTriple(token.beginLine, token.beginColumn, s, p, o) ;
+  }
+
+  final public Node Verb() throws ParseException {Node p ; String iri;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case IRIref:
+    case PNAME_NS:
+    case PNAME_LN:{
+      iri = iri();
+p = createNode(iri);
+      break;
+      }
+    case KW_A:{
+      jj_consume_token(KW_A);
+p = nRDFtype ;
+      break;
+      }
+    default:
+      jj_la1[11] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+{if ("" != null) return p ;}
+    throw new Error("Missing return statement in function");
+  }
+
+// -------- Triple expansions
+
+// Anything that can stand in a node slot and which is
+// a number of triples
+  final public 
+Node TriplesNode() throws ParseException {Node n ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case LPAREN:{
+      n = Collection();
+{if ("" != null) return n ;}
+      break;
+      }
+    case LBRACKET:{
+      n = BlankNodePropertyList();
+{if ("" != null) return n ;}
+      break;
+      }
+    default:
+      jj_la1[12] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node BlankNodePropertyList() throws ParseException {Token t ;
+    t = jj_consume_token(LBRACKET);
+Node n = createBNode( t.beginLine, t.beginColumn) ;
+    PropertyListNotEmpty(n);
+    jj_consume_token(RBRACKET);
+{if ("" != null) return n ;}
+    throw new Error("Missing return statement in function");
+  }
+
+// The syntax for RDF* 
+//Node TripleStar() : 
+//     { Node s , p , o ; Token t ; }
+// {
+//   t = "<<"
+//     { int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null; }
+//         id = createTripleId(beginLine, beginColumn() ;
+//     }
+//   s = GraphNode()
+//   p = GraphNode()
+//   o = GraphNode()
+//   ">>"
+//   { Node n = tripleStar(s, p, o);
+//     return n;
+//   }
+// }
+// 
+
+// ------- RDF collections
+// Ordering?
+  final public 
+Node Collection() throws ParseException {Node listHead = nRDFnil ; Node lastCell = null ; int mark ; Node n ; Token t ;
+    t = jj_consume_token(LPAREN);
+int line = t.beginLine; int column = t.beginColumn;
+    listStart(line, column);
+    label_4:
+    while (true) {
+Node cell = createListNode(line, column) ;
+      if ( listHead == nRDFnil )
+         listHead = cell ;
+      if ( lastCell != null )
+        listTriple(line, column, lastCell, nRDFrest,  cell) ;
+      n = GraphNode();
+listTriple(line, column, cell, nRDFfirst, n) ;
+      lastCell = cell ;
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case TRUE:
+      case FALSE:
+      case INTEGER:
+      case DECIMAL:
+      case DOUBLE:
+      case INTEGER_POSITIVE:
+      case DECIMAL_POSITIVE:
+      case DOUBLE_POSITIVE:
+      case INTEGER_NEGATIVE:
+      case DECIMAL_NEGATIVE:
+      case DOUBLE_NEGATIVE:
+      case STRING_LITERAL1:
+      case STRING_LITERAL2:
+      case STRING_LITERAL_LONG1:
+      case STRING_LITERAL_LONG2:
+      case LPAREN:
+      case NIL:
+      case LBRACKET:
+      case ANON:
+      case IRIref:
+      case PNAME_NS:
+      case PNAME_LN:
+      case BLANK_NODE_LABEL:{
+
+        break;
+        }
+      default:
+        jj_la1[13] = jj_gen;
+        break label_4;
+      }
+    }
+    jj_consume_token(RPAREN);
+if ( lastCell != null )
+       listTriple(line, column, lastCell, nRDFrest,  nRDFnil) ;
+     listFinish(line, column);
+     {if ("" != null) return listHead ;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node SubjectNode() throws ParseException {Node s; String iri ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case ANON:
+    case BLANK_NODE_LABEL:{
+      s = BlankNode();
+{if ("" != null) return s ;}
+      break;
+      }
+    case IRIref:
+    case PNAME_NS:
+    case PNAME_LN:{
+      iri = iri();
+{if ("" != null) return createNode(iri) ;}
+      break;
+      }
+    default:
+      jj_la1[14] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node GraphNode() throws ParseException {Node n ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case TRUE:
+    case FALSE:
+    case INTEGER:
+    case DECIMAL:
+    case DOUBLE:
+    case INTEGER_POSITIVE:
+    case DECIMAL_POSITIVE:
+    case DOUBLE_POSITIVE:
+    case INTEGER_NEGATIVE:
+    case DECIMAL_NEGATIVE:
+    case DOUBLE_NEGATIVE:
+    case STRING_LITERAL1:
+    case STRING_LITERAL2:
+    case STRING_LITERAL_LONG1:
+    case STRING_LITERAL_LONG2:
+    case NIL:
+    case ANON:
+    case IRIref:
+    case PNAME_NS:
+    case PNAME_LN:
+    case BLANK_NODE_LABEL:{
+      n = GraphTerm();
+{if ("" != null) return n ;}
+      break;
+      }
+    case LPAREN:
+    case LBRACKET:{
+      n = TriplesNode();
+{if ("" != null) return n ;}
+      break;
+      }
+    default:
+      jj_la1[15] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node GraphTerm() throws ParseException {Node n ; String iri ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case IRIref:
+    case PNAME_NS:
+    case PNAME_LN:{
+      iri = iri();
+{if ("" != null) return createNode(iri) ;}
+      break;
+      }
+    case STRING_LITERAL1:
+    case STRING_LITERAL2:
+    case STRING_LITERAL_LONG1:
+    case STRING_LITERAL_LONG2:{
+      n = RDFLiteral();
+{if ("" != null) return n ;}
+      break;
+      }
+    case INTEGER:
+    case DECIMAL:
+    case DOUBLE:
+    case INTEGER_POSITIVE:
+    case DECIMAL_POSITIVE:
+    case DOUBLE_POSITIVE:
+    case INTEGER_NEGATIVE:
+    case DECIMAL_NEGATIVE:
+    case DOUBLE_NEGATIVE:{
+      n = NumericLiteral();
+{if ("" != null) return n ;}
+      break;
+      }
+    case TRUE:
+    case FALSE:{
+      n = BooleanLiteral();
+{if ("" != null) return n ;}
+      break;
+      }
+    case ANON:
+    case BLANK_NODE_LABEL:{
+      n = BlankNode();
+{if ("" != null) return n ;}
+      break;
+      }
+    case NIL:{
+      jj_consume_token(NIL);
+{if ("" != null) return nRDFnil ;}
+      break;
+      }
+    default:
+      jj_la1[16] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+    throw new Error("Missing return statement in function");
+  }
+
+  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_f():jj_ntk) {
+    case BASE:
+    case PREFIX:
+    case DATATYPE:
+    case LANGTAG:{
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case BASE:
+      case PREFIX:
+      case LANGTAG:{
+        lang = LangTag();
+        break;
+        }
+      case DATATYPE:{
+        jj_consume_token(DATATYPE);
+        uri = iri();
+        break;
+        }
+      default:
+        jj_la1[17] = jj_gen;
+        jj_consume_token(-1);
+        throw new ParseException();
+      }
+      break;
+      }
+    default:
+      jj_la1[18] = jj_gen;
+
+    }
+{if ("" != null) return createLiteral(lex, lang, uri) ;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public String LangTag() throws ParseException {Token t ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case LANGTAG:{
+      t = jj_consume_token(LANGTAG);
+      break;
+      }
+    case BASE:
+    case PREFIX:{
+      t = AnyDirective();
+      break;
+      }
+    default:
+      jj_la1[19] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+String lang = stripChars(t.image, 1) ; {if ("" != null) return lang ;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node NumericLiteral() throws ParseException {Node n ;
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case INTEGER:
+    case DECIMAL:
+    case DOUBLE:{
+      n = NumericLiteralUnsigned();
+      break;
+      }
+    case INTEGER_POSITIVE:
+    case DECIMAL_POSITIVE:
+    case DOUBLE_POSITIVE:{
+      n = NumericLiteralPositive();
+      break;
+      }
+    case INTEGER_NEGATIVE:
+    case DECIMAL_NEGATIVE:
+    case DOUBLE_NEGATIVE:{
+      n = NumericLiteralNegative();
+      break;
+      }
+    default:
+      jj_la1[20] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+{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_f():jj_ntk) {
+    case INTEGER:{
+      t = jj_consume_token(INTEGER);
+{if ("" != null) return createLiteralInteger(t.image) ;}
+      break;
+      }
+    case DECIMAL:{
+      t = jj_consume_token(DECIMAL);
+{if ("" != null) return createLiteralDecimal(t.image) ;}
+      break;
+      }
+    case DOUBLE:{
+      t = jj_consume_token(DOUBLE);
+{if ("" != null) return createLiteralDouble(t.image) ;}
+      break;
+      }
+    default:
+      jj_la1[21] = 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_f():jj_ntk) {
+    case INTEGER_POSITIVE:{
+      t = jj_consume_token(INTEGER_POSITIVE);
+{if ("" != null) return createLiteralInteger(t.image) ;}
+      break;
+      }
+    case DECIMAL_POSITIVE:{
+      t = jj_consume_token(DECIMAL_POSITIVE);
+{if ("" != null) return createLiteralDecimal(t.image) ;}
+      break;
+      }
+    case DOUBLE_POSITIVE:{
+      t = jj_consume_token(DOUBLE_POSITIVE);
+{if ("" != null) return createLiteralDouble(t.image) ;}
+      break;
+      }
+    default:
+      jj_la1[22] = 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_f():jj_ntk) {
+    case INTEGER_NEGATIVE:{
+      t = jj_consume_token(INTEGER_NEGATIVE);
+{if ("" != null) return createLiteralInteger(t.image) ;}
+      break;
+      }
+    case DECIMAL_NEGATIVE:{
+      t = jj_consume_token(DECIMAL_NEGATIVE);
+{if ("" != null) return createLiteralDecimal(t.image) ;}
+      break;
+      }
+    case DOUBLE_NEGATIVE:{
+      t = jj_consume_token(DOUBLE_NEGATIVE);
+{if ("" != null) return createLiteralDouble(t.image) ;}
+      break;
+      }
+    default:
+      jj_la1[23] = 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_f():jj_ntk) {
+    case TRUE:{
+      jj_consume_token(TRUE);
+{if ("" != null) return XSD_TRUE ;}
+      break;
+      }
+    case FALSE:{
+      jj_consume_token(FALSE);
+{if ("" != null) return XSD_FALSE ;}
+      break;
+      }
+    default:
+      jj_la1[24] = 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_f():jj_ntk) {
+    case STRING_LITERAL1:{
+      t = jj_consume_token(STRING_LITERAL1);
+lex = stripQuotes(t.image) ;
+      break;
+      }
+    case STRING_LITERAL2:{
+      t = jj_consume_token(STRING_LITERAL2);
+lex = stripQuotes(t.image) ;
+      break;
+      }
+    case STRING_LITERAL_LONG1:{
+      t = jj_consume_token(STRING_LITERAL_LONG1);
+lex = stripQuotes3(t.image) ;
+      break;
+      }
+    case STRING_LITERAL_LONG2:{
+      t = jj_consume_token(STRING_LITERAL_LONG2);
+lex = stripQuotes3(t.image) ;
+      break;
+      }
+    default:
+      jj_la1[25] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+lex = unescapeStr(lex,  t.beginLine, t.beginColumn) ;
+      {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_f():jj_ntk) {
+    case IRIref:{
+      iri = IRIREF();
+{if ("" != null) return iri ;}
+      break;
+      }
+    case PNAME_NS:
+    case PNAME_LN:{
+      iri = PrefixedName();
+{if ("" != null) return iri ;}
+      break;
+      }
+    default:
+      jj_la1[26] = 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_f():jj_ntk) {
+    case PNAME_LN:{
+      t = jj_consume_token(PNAME_LN);
+{if ("" != null) return resolvePName(t.image, t.beginLine, t.beginColumn) ;}
+      break;
+      }
+    case PNAME_NS:{
+      t = jj_consume_token(PNAME_NS);
+{if ("" != null) return resolvePName(t.image, t.beginLine, t.beginColumn) ;}
+      break;
+      }
+    default:
+      jj_la1[27] = 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_f():jj_ntk) {
+    case BLANK_NODE_LABEL:{
+      t = jj_consume_token(BLANK_NODE_LABEL);
+{if ("" != null) return createBNode(t.image, t.beginLine, t.beginColumn) ;}
+      break;
+      }
+    case ANON:{
+      //  <LBRACKET> <RBRACKET> { return createBNode(t.beginLine, t.beginColumn) ; }
+        t = jj_consume_token(ANON);
+{if ("" != null) return createBNode(t.beginLine, t.beginColumn) ;}
+      break;
+      }
+    default:
+      jj_la1[28] = 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 ;
+    t = jj_consume_token(IRIref);
+{if ("" != null) return resolveQuotedIRI(t.image, t.beginLine, t.beginColumn) ;}
+    throw new Error("Missing return statement in function");
+  }
+
+  /** Generated Token Manager. */
+  public TurtleJavaccTokenManager token_source;
+  SimpleCharStream jj_input_stream;
+  /** Current token. */
+  public Token token;
+  /** Next token. */
+  public Token jj_nt;
+  private int jj_ntk;
+  private int jj_gen;
+  final private int[] jj_la1 = new int[29];
+  static private int[] jj_la1_0;
+  static private int[] jj_la1_1;
+  static private int[] jj_la1_2;
+  static {
+      jj_la1_init_0();
+      jj_la1_init_1();
+      jj_la1_init_2();
+   }
+   private static void jj_la1_init_0() {
+      jj_la1_0 = new int[] {0x1e00,0x10000,0x1e00,0x1800,0x600,0x1800,0x0,0x100,0x0,0x100,0x0,0x100,0x0,0x1ff06000,0x0,0x1ff06000,0x1ff06000,0x1800,0x1800,0x1800,0x1ff00000,0x700000,0x3800000,0x1c000000,0x6000,0x0,0x0,0x0,0x0,};
+   }
+   private static void jj_la1_init_1() {
+      jj_la1_1 = new int[] {0x781420,0x0,0x781420,0x0,0x0,0x0,0x781420,0x380000,0x2000,0x380000,0x4000,0x380000,0x420,0x7814be,0x781000,0x7814be,0x78109e,0x810000,0x810000,0x800000,0x0,0x0,0x0,0x0,0x0,0x1e,0x380000,0x300000,0x401000,};
+   }
+   private static void jj_la1_init_2() {
+      jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+   }
+
+  /** Constructor with InputStream. */
+  public TurtleJavacc(java.io.InputStream stream) {
+     this(stream, null);
+  }
+  /** Constructor with InputStream and supplied encoding */
+  public TurtleJavacc(java.io.InputStream stream, String encoding) {
+    try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
+    token_source = new TurtleJavaccTokenManager(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 29; i++) jj_la1[i] = -1;
+  }
+
+  /** Reinitialise. */
+  public void ReInit(java.io.InputStream stream) {
+     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 < 29; i++) jj_la1[i] = -1;
+  }
+
+  /** Constructor. */
+  public TurtleJavacc(java.io.Reader stream) {
+    jj_input_stream = new SimpleCharStream(stream, 1, 1);
+    token_source = new TurtleJavaccTokenManager(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 29; 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 < 29; i++) jj_la1[i] = -1;
+  }
+
+  /** Constructor with generated Token Manager. */
+  public TurtleJavacc(TurtleJavaccTokenManager tm) {
+    token_source = tm;
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 29; i++) jj_la1[i] = -1;
+  }
+
+  /** Reinitialise. */
+  public void ReInit(TurtleJavaccTokenManager tm) {
+    token_source = tm;
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 29; 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();
+  }
+
+
+/** 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;
+  }
+
+/** 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;
+  }
+
+  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[]>();
+  private int[] jj_expentry;
+  private int jj_kind = -1;
+
+  /** Generate ParseException. */
+  public ParseException generateParseException() {
+    jj_expentries.clear();
+    boolean[] la1tokens = new boolean[69];
+    if (jj_kind >= 0) {
+      la1tokens[jj_kind] = true;
+      jj_kind = -1;
+    }
+    for (int i = 0; i < 29; 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;
+          }
+          if ((jj_la1_2[i] & (1<<j)) != 0) {
+            la1tokens[64+j] = true;
+          }
+        }
+      }
+    }
+    for (int i = 0; i < 69; 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);
+  }
+
+  /** Enable tracing. */
+  final public void enable_tracing() {
+  }
+
+  /** Disable tracing. */
+  final public void disable_tracing() {
+  }
+
+ }

http://git-wip-us.apache.org/repos/asf/jena/blob/31dc8138/jena-arq/src/main/java/org/apache/jena/riot/lang/extra/javacc/TurtleJavaccConstants.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/extra/javacc/TurtleJavaccConstants.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/extra/javacc/TurtleJavaccConstants.java
new file mode 100644
index 0000000..3ab59dc
--- /dev/null
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/extra/javacc/TurtleJavaccConstants.java
@@ -0,0 +1,234 @@
+/* Generated By:JavaCC: Do not edit this line. TurtleJavaccConstants.java */
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.riot.lang.extra.javacc;
+
+
+/**
+ * Token literal values and constants.
+ * Generated by org.javacc.parser.OtherFilesGen#start()
+ */
+public interface TurtleJavaccConstants {
+
+  /** End of File. */
+  int EOF = 0;
+  /** RegularExpression Id. */
+  int WS = 6;
+  /** RegularExpression Id. */
+  int SINGLE_LINE_COMMENT = 7;
+  /** RegularExpression Id. */
+  int KW_A = 8;
+  /** RegularExpression Id. */
+  int PREFIX_OLD = 9;
+  /** RegularExpression Id. */
+  int BASE_OLD = 10;
+  /** RegularExpression Id. */
+  int BASE = 11;
+  /** RegularExpression Id. */
+  int PREFIX = 12;
+  /** RegularExpression Id. */
+  int TRUE = 13;
+  /** RegularExpression Id. */
+  int FALSE = 14;
+  /** RegularExpression Id. */
+  int WSC = 15;
+  /** RegularExpression Id. */
+  int BOM = 16;
+  /** RegularExpression Id. */
+  int PLUS = 17;
+  /** RegularExpression Id. */
+  int MINUS = 18;
+  /** RegularExpression Id. */
+  int DIGITS = 19;
+  /** RegularExpression Id. */
+  int INTEGER = 20;
+  /** RegularExpression Id. */
+  int DECIMAL = 21;
+  /** RegularExpression Id. */
+  int DOUBLE = 22;
+  /** RegularExpression Id. */
+  int INTEGER_POSITIVE = 23;
+  /** RegularExpression Id. */
+  int DECIMAL_POSITIVE = 24;
+  /** RegularExpression Id. */
+  int DOUBLE_POSITIVE = 25;
+  /** RegularExpression Id. */
+  int INTEGER_NEGATIVE = 26;
+  /** RegularExpression Id. */
+  int DECIMAL_NEGATIVE = 27;
+  /** RegularExpression Id. */
+  int DOUBLE_NEGATIVE = 28;
+  /** RegularExpression Id. */
+  int EXPONENT = 29;
+  /** RegularExpression Id. */
+  int QUOTE_3D = 30;
+  /** RegularExpression Id. */
+  int QUOTE_3S = 31;
+  /** RegularExpression Id. */
+  int ECHAR = 32;
+  /** RegularExpression Id. */
+  int STRING_LITERAL1 = 33;
+  /** RegularExpression Id. */
+  int STRING_LITERAL2 = 34;
+  /** RegularExpression Id. */
+  int STRING_LITERAL_LONG1 = 35;
+  /** RegularExpression Id. */
+  int STRING_LITERAL_LONG2 = 36;
+  /** RegularExpression Id. */
+  int LPAREN = 37;
+  /** RegularExpression Id. */
+  int RPAREN = 38;
+  /** RegularExpression Id. */
+  int NIL = 39;
+  /** RegularExpression Id. */
+  int LBRACE = 40;
+  /** RegularExpression Id. */
+  int RBRACE = 41;
+  /** RegularExpression Id. */
+  int LBRACKET = 42;
+  /** RegularExpression Id. */
+  int RBRACKET = 43;
+  /** RegularExpression Id. */
+  int ANON = 44;
+  /** RegularExpression Id. */
+  int SEMICOLON = 45;
+  /** RegularExpression Id. */
+  int COMMA = 46;
+  /** RegularExpression Id. */
+  int DOT = 47;
+  /** RegularExpression Id. */
+  int DATATYPE = 48;
+  /** RegularExpression Id. */
+  int AT = 49;
+  /** RegularExpression Id. */
+  int UCHAR = 50;
+  /** RegularExpression Id. */
+  int IRIref = 51;
+  /** RegularExpression Id. */
+  int PNAME_NS = 52;
+  /** RegularExpression Id. */
+  int PNAME_LN = 53;
+  /** RegularExpression Id. */
+  int BLANK_NODE_LABEL = 54;
+  /** RegularExpression Id. */
+  int LANGTAG = 55;
+  /** RegularExpression Id. */
+  int A2Z = 56;
+  /** RegularExpression Id. */
+  int A2ZN = 57;
+  /** RegularExpression Id. */
+  int PN_CHARS_BASE = 58;
+  /** RegularExpression Id. */
+  int PN_CHARS_U = 59;
+  /** RegularExpression Id. */
+  int PN_CHARS = 60;
+  /** RegularExpression Id. */
+  int PN_PREFIX = 61;
+  /** RegularExpression Id. */
+  int PN_LOCAL = 62;
+  /** RegularExpression Id. */
+  int VARNAME = 63;
+  /** RegularExpression Id. */
+  int PN_LOCAL_ESC = 64;
+  /** RegularExpression Id. */
+  int PLX = 65;
+  /** RegularExpression Id. */
+  int HEX = 66;
+  /** RegularExpression Id. */
+  int PERCENT = 67;
+  /** RegularExpression Id. */
+  int UNKNOWN = 68;
+
+  /** Lexical state. */
+  int DEFAULT = 0;
+
+  /** Literal token values. */
+  String[] tokenImage = {
+    "<EOF>",
+    "\" \"",
+    "\"\\t\"",
+    "\"\\n\"",
+    "\"\\r\"",
+    "\"\\f\"",
+    "<WS>",
+    "<SINGLE_LINE_COMMENT>",
+    "\"a\"",
+    "\"@prefix\"",
+    "\"@base\"",
+    "\"base\"",
+    "\"prefix\"",
+    "\"true\"",
+    "\"false\"",
+    "<WSC>",
+    "\"\\ufeff\"",
+    "\"+\"",
+    "\"-\"",
+    "<DIGITS>",
+    "<INTEGER>",
+    "<DECIMAL>",
+    "<DOUBLE>",
+    "<INTEGER_POSITIVE>",
+    "<DECIMAL_POSITIVE>",
+    "<DOUBLE_POSITIVE>",
+    "<INTEGER_NEGATIVE>",
+    "<DECIMAL_NEGATIVE>",
+    "<DOUBLE_NEGATIVE>",
+    "<EXPONENT>",
+    "\"\\\"\\\"\\\"\"",
+    "\"\\\'\\\'\\\'\"",
+    "<ECHAR>",
+    "<STRING_LITERAL1>",
+    "<STRING_LITERAL2>",
+    "<STRING_LITERAL_LONG1>",
+    "<STRING_LITERAL_LONG2>",
+    "\"(\"",
+    "\")\"",
+    "<NIL>",
+    "\"{\"",
+    "\"}\"",
+    "\"[\"",
+    "\"]\"",
+    "<ANON>",
+    "\";\"",
+    "\",\"",
+    "\".\"",
+    "\"^^\"",
+    "\"@\"",
+    "<UCHAR>",
+    "<IRIref>",
+    "<PNAME_NS>",
+    "<PNAME_LN>",
+    "<BLANK_NODE_LABEL>",
+    "<LANGTAG>",
+    "<A2Z>",
+    "<A2ZN>",
+    "<PN_CHARS_BASE>",
+    "<PN_CHARS_U>",
+    "<PN_CHARS>",
+    "<PN_PREFIX>",
+    "<PN_LOCAL>",
+    "<VARNAME>",
+    "<PN_LOCAL_ESC>",
+    "<PLX>",
+    "<HEX>",
+    "<PERCENT>",
+    "<UNKNOWN>",
+  };
+
+}