Skip to content
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

Clean up the compiler #3

Open
1 of 4 tasks
klange opened this issue Mar 9, 2021 · 1 comment
Open
1 of 4 tasks

Clean up the compiler #3

klange opened this issue Mar 9, 2021 · 1 comment
Milestone

Comments

@klange
Copy link
Collaborator

klange commented Mar 9, 2021

  • Make everything reentrant.
    • Will help with compiling across multiple threads.
    • Compiler should suffer no performance impact from carrying around a context object.
  • Expose a better API than just the top-level krk_compile()
    • Can we expose subexpression compilation?
  • Can we fix error handling to get the best of both clear early SyntaxErrors and actually detecting multiple parse errors?
    • There's a lot of places where we may not be correctly breaking out of loops on errors.
    • We need a better system for collecting errors than raising a single exception or printing.
  • Merge the scanner into the compiler.
    • No solid reason for these to be separate sources, only done that way because of CI.
    • Might be able to eliminate the separation between parse rules and the big token enum?
    • Expose a better scanner API so we can build better REPL tools.
harjitmoe pushed a commit that referenced this issue Mar 26, 2021
@klange klange added this to the Kuroko 1.2 milestone Apr 2, 2021
@valoeghese
Copy link

The title of this issue is extremely relatable

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

No branches or pull requests

2 participants