Open
Description
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
Labels
No labels