avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ryan King (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AVRO-268) Replace lemon-generated JSON parser with simpler recursive descent parser
Date Wed, 30 Dec 2009 17:24:29 GMT

    [ https://issues.apache.org/jira/browse/AVRO-268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12795359#action_12795359
] 

Ryan King commented on AVRO-268:
--------------------------------

Please don't use a non-standard json parser.

I was under the understanding  that part of the reason for choosing JSON is that it is a standard
format (http://www.ietf.org/rfc/rfc4627.txt) with parsers available in many languages already.
If you use a non-standard JSON parser, you lose that benefit.

> Replace lemon-generated JSON parser with simpler recursive descent parser
> -------------------------------------------------------------------------
>
>                 Key: AVRO-268
>                 URL: https://issues.apache.org/jira/browse/AVRO-268
>             Project: Avro
>          Issue Type: Improvement
>          Components: c
>            Reporter: Matt Massie
>            Assignee: Matt Massie
>             Fix For: 1.3.0
>
>         Attachments: AVRO-268.patch
>
>
> This is a drop-in replacement for the current JSON parser which is based on lemon (a
LALR parser generator).
> This parser 
> * reads and returns a single JSON_value and its nested children (using recursive descent
parsing)
> * allows you to process JSON from streams in addition to static memory buffers
> * correctly processes unicode \u escaping including surrogates
> * distinguishes between integer and real number representations 
> * provides information about the line and character in JSON that failed to parse
> * is much simpler to understand and maintain (less lines of code and source files)
> * is written to allow error recovery to be added later
> This patch also adds more unit tests.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message