[
https://issues.apache.org/jira/browse/JENA-1584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16569463#comment-16569463
]
ASF GitHub Bot commented on JENA-1584:
--------------------------------------
Github user kinow commented on a diff in the pull request:
https://github.com/apache/jena/pull/455#discussion_r207735246
--- Diff:
jena-arq/src/main/java/org/apache/jena/riot/lang/extra/javacc/TokenMgrError.java
---
@@ -0,0 +1,165 @@
+/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version
6.0 */
+/* JavaCCOptions: */
+/**
+ * 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 Manager Error. */
+public class TokenMgrError extends Error
+{
+
+ /**
+ * The version identifier for this Serializable class.
+ * Increment only if the <i>serialized</i> form of the
+ * class changes.
+ */
+ private static final long serialVersionUID = 1L;
+
+ /*
+ * Ordinals for various reasons why an Error of this type can be thrown.
+ */
+
+ /**
+ * Lexical error occurred.
+ */
+ 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;
+
+ /**
+ * Tried to change to an invalid lexical state.
+ */
+ 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;
+
+ /**
+ * Indicates the reason why the exception is thrown. It will have
+ * one of the above 4 values.
+ */
+ int errorCode;
+
+ /**
+ * Replaces unprintable characters by their escaped (or unicode escaped)
+ * equivalents in the given string
+ */
+ protected static final String addEscapes(String str) {
+ StringBuffer retval = new StringBuffer();
--- End diff --
See comment above about `StringBuffer` / `StringBuilder`
> Include a Javacc based Turtle parser in RIOT
> --------------------------------------------
>
> Key: JENA-1584
> URL: https://issues.apache.org/jira/browse/JENA-1584
> Project: Apache Jena
> Issue Type: Improvement
> Components: RIOT
> Affects Versions: Jena 3.8.0
> Reporter: Andy Seaborne
> Assignee: Andy Seaborne
> Priority: Minor
> Fix For: Jena 3.9.0
>
>
> Turtle is the basis for some additional languages (RDF*, SHACL and ShEX
> compact forms).
> The main RIOT Turtle parser is written for speed, with the tuned tokenizer
> and directly written java grammar parser. This makes it harder to reuse and
> extend.
> This ticket proposes including another RDF 1.1 compliant Turtle parser based
> on JavaCC to provide an easier route for additional languages by providing
> all the details of Turtle such as the tokens and prefix name handling, in a
> form more suitable as a base for the new language. It will still be by being
> a copy of the parser, system, not class inheritance.)
> RDF 1.1 Turtle and SPARQL 1.1 were aligned by the working groups and share
> tokens and several grammar rules.
> This would not be active by default (i.e. not a registered {{Lang}} and it's
> parser factory but registered by automatic initialization). It's test suite
> would be run in the build and pass the RDF 1.1 Turtle test suite.
>
> There is non-RDF1.1 Javacc Turtle parser in jena-core is based on the
> pre-RDF1.1 state of Turtle. It is sufficient for the assembler tests that
> read turtle files. It could be moved into the test area except there appear
> to be some legacy applications that only use jena-core.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)