Avro
  1. Avro
  2. AVRO-956

Remove dependency on Flex/Bison

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6.1
    • Fix Version/s: 1.6.2
    • Component/s: c++
    • Labels:
      None

      Description

      The current schema parser uses Flex/Bison. Making Flex/Bison work with CMake seems difficult. Moreover trying to parse Json directly into in-memory schema object appears hard. The code is not friendly for extensions to implement new features such as namespace, documentation comments etc.

      We already have a Json parser in Avro C++ codebase, but is hidden inside the JsonCodec. Bringing it out and implementing a schema parser on top of that (similar to the Java and C# implementations) would fix the problem. The forthcoming patch does just that.

      1. AVRO-956-2.patch
        132 kB
        Thiruvalluvan M. G.
      2. AVRO-956.patch
        132 kB
        Thiruvalluvan M. G.

        Activity

        Hide
        Thiruvalluvan M. G. added a comment -

        The patch is for a functionally identical to the existing codebase. It removes the dependencies on Flex, Bison and boost regex.

        All the existing code that depends on Avro C++ should compile and run without modification.

        Show
        Thiruvalluvan M. G. added a comment - The patch is for a functionally identical to the existing codebase. It removes the dependencies on Flex, Bison and boost regex. All the existing code that depends on Avro C++ should compile and run without modification.
        Hide
        Thiruvalluvan M. G. added a comment -

        The previous patch missed a copule of includes that gave error in Ununtu 11.10. This one is fine.

        Show
        Thiruvalluvan M. G. added a comment - The previous patch missed a copule of includes that gave error in Ununtu 11.10. This one is fine.
        Hide
        Thiruvalluvan M. G. added a comment -

        If there are no objections, I'll commit this soon.

        Show
        Thiruvalluvan M. G. added a comment - If there are no objections, I'll commit this soon.
        Hide
        Thiruvalluvan M. G. added a comment -

        Committed revision 1239768.

        Show
        Thiruvalluvan M. G. added a comment - Committed revision 1239768.
        Hide
        Thiruvalluvan M. G. added a comment -

        Four empty files were not removed from SVN in the last commit. Did so now.

        Committed revision 1240439.

        Show
        Thiruvalluvan M. G. added a comment - Four empty files were not removed from SVN in the last commit. Did so now. Committed revision 1240439.

          People

          • Assignee:
            Thiruvalluvan M. G.
            Reporter:
            Thiruvalluvan M. G.
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development