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

Matt Massie commented on AVRO-268:
----------------------------------

I should also mention that a few unit tests are *removed* with this patch as 
well.  Tests with trailing character that used to fail now succeed with the new 
parser.

For example, the following JSON used to fail to parse

{code}
{ "key": "value" } foo bar baz
{code}

while now, the new parser will return immediately when it hits the last '}' 
ignoring the trailing junk characters.





> 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.

Reply via email to