Skip to content

Switch to single pass compiler #197

Open
@breck7

Description

@breck7

The original implementation is a 2 pass compiler. The first pass parsers all of the Parsers, compiles them to one combined parser, and the 2nd pass parses the Scroll document.

At this point I believe a better design is a single pass that incrementally builds up the Parser Pool as we go.

Benefits:

  • Simpler conceptual model
  • Simpler code to maintain (once it works)
  • Allows for new capabilities, like overriding parsers in the middle of a program (can be helpful when you are merging multiple scrollsets into one file)
  • More straightforward code should allow for perf improvements

The main driver is the slow performance of large ScrollSets, and wanting to radically improve that, but having to currently deal with the convoluted Fusion code.

But it is a significant challenge to switch to that new design, given the current implementation.

Still in the investigative phase.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions