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

Implement AST to Core Translation #531

Closed
iamrecursion opened this issue Nov 6, 2019 · 0 comments
Closed

Implement AST to Core Translation #531

iamrecursion opened this issue Nov 6, 2019 · 0 comments
Assignees
Labels
--breaking Important: a change that will break a public API or user-facing behaviour p-medium Should be completed in the next few sprints

Comments

@iamrecursion
Copy link
Contributor

Summary

The next step in the compiler development epic is to translate from the parser's AST to the new Core language. This translation is one part of connecting the new core language into the working interpreter.

Value

We have introduced Core into the mix while still having a working interpreter, allowing us to start to move the existing ad-hoc analysis into well-principled passes on the new core language.

Specification

  • Using the existing machinery from luna-package fails to compile on Windows #276, translate the parser AST to the new Core type.
  • This translation should be done at a high level, and will use nodes that are both primitive and ones that represent syntactic sugar.
  • No semantic information should be lost in this translation.

Acceptance Criteria & Test Cases

  • The parser's AST can be translated into core.
  • No tests are necessary for this process as it will go away soon.
@iamrecursion iamrecursion self-assigned this Nov 6, 2019
@iamrecursion iamrecursion transferred this issue from another repository Jun 23, 2020
@iamrecursion iamrecursion mentioned this issue Jun 23, 2020
26 tasks
@joenash joenash added Category: Compiler --breaking Important: a change that will break a public API or user-facing behaviour p-medium Should be completed in the next few sprints labels Jun 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
--breaking Important: a change that will break a public API or user-facing behaviour p-medium Should be completed in the next few sprints
Projects
None yet
Development

No branches or pull requests

2 participants