[ 
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)

Reply via email to