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

Absolute Spans in the AST #752

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

Absolute Spans in the AST #752

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

Comments

@iamrecursion
Copy link
Contributor

Summary

With the changes to the AST representation allowing representations of both relative and absolute spans in the program source provided by @wdanilo and @mwu-tow, we now have the beginnings of a tool for talking about program locations in a universal way between the IDE and the Engine.

However, we need a way to maintain this mapping such that one can be looked up from the other, and hence that we can actually translate in between the resolved and unresolved ASTs.

Value

We have a way to talk about locations that is unified between the IDE and the Engine.

Specification

  • Work out what utilities are necessary for mapping between the relative and absolute AST representations.
  • Create these utilities such that they solve the problem and such that the source location information can be appropriately threaded through the compiler pipeline and into the interpreter backend.
  • Thread this location information through the compiler and interpreter such that it is prepared for further work on introspection.

Acceptance Criteria & Test Cases

  • We have the tools to provide a mapping between positions in the relative and absolute AST representations.
@iamrecursion iamrecursion transferred this issue from another repository Jun 23, 2020
@iamrecursion iamrecursion added Category: Syntax --breaking Important: a change that will break a public API or user-facing behaviour p-high Should be completed in the next sprint labels Jun 23, 2020
@iamrecursion iamrecursion mentioned this issue Jun 24, 2020
26 tasks
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-high Should be completed in the next sprint
Projects
None yet
Development

No branches or pull requests

2 participants