breck7 / breck7/scrollsdk

Switch to single pass compiler

Open
#197 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
387
Forks
15
PR merge metrics
No merged PRs in 30d

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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.