Uploaded image for project: 'Apache Avro'
  1. Apache Avro
  2. AVRO-268

Replace lemon-generated JSON parser with simpler recursive descent parser

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • 1.3.0
    • c
    • None

    Description

      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.

      Attachments

        1. AVRO-268.patch
          253 kB
          Matt Massie

        Activity

          People

            massie Matt Massie
            massie Matt Massie
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: