Skip to content

Incremental reparsing #12

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
eddyb opened this issue Aug 21, 2018 · 1 comment
Open

Incremental reparsing #12

eddyb opened this issue Aug 21, 2018 · 1 comment
Labels
enhancement New feature or request

Comments

@eddyb
Copy link
Member

eddyb commented Aug 21, 2018

Allow supplying one (or more?) range of changes to a past input, and reuse the memoizer and SPPF.

Maybe we can use a non-contiguous range space? That way we instead parse the concatenation of "unchanged prefix", "changed range", "unchanged suffix", and reuse the prefix/suffix subgraphs verbatim, instead of having to relabel every node we keep with its new range.

Aside from the information we keep today, we'd probably need to track the "union of all accessed input ranges" for a given Call, as some of the attempted branches that failed may succeed later.

Also see tree-sitter from #5.

@eddyb
Copy link
Member Author

eddyb commented Aug 28, 2018

One idea for testing this: introduce small random changes in a file, and benchmark the reparse.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant