asm: split out AST into separate package #9
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change introduces a new package internal/ast for the AST and parser. Before, the compiler used the AST to store its internal state, and even defined methods directly on AST objects. As I move towards the implementation of a gofmt-like tool and stack checker, I need an intermediate representation that can be shared across packages.
The compiler now has a concept of 'sections' in the output program. At this time, sections are used to store a reference to the AST document and macro arguments for use by the evaluator. They do not influence the output in any other way. However, the concept of sections will also be useful for the implementation of EOF support.
Note that the Go compiler version requirement is updated to Go 1.23.