Link: compiler/next: Convert more internal modules to uAST by dlongnecke-cray · Pull Request #18721 · chapel-lang/chapel · GitHub
Merge pull request #18721 from dlongnecke-cray/next-convert-more-internal-modules
compiler/next: Convert more internal modules to uAST (#18721)
Convert more internal modules to
uAST by working through a
combination of bugs and TODOs at parse/conversion time.
Implement the conversion routine for the
foreach loop, for the
statement level only. It looks like the grammar does not support
foreach loops yet.
Implement the conversion routine for label statements.
Adjust expression-level try nodes to use a different builder that
PRIM_TRY call instead of a block.
Add special handling to convert the call
foo.bytes(). The previous
approach generated one too many calls.
Adjust one of the rules for parsing a bracket loop to properly
consume the loop iterand instead of the body twice. This fixed
a double free bug.
Properly reset the parser visibility level after parsing a
Handle primary methods and leave a TODO to error if the receiver
for a primary method has a type expression.
Add special handling when converting extern types and config types.
Add another constructor for
astlocMarker that takes a
Care should be taken when pinning on
chpl::ID as the location can grow stale when queries are rerun.
A better strategy could be used here in the future.
Set a global error handler for the compiler library context in
uASTParseFile function. For now, it simply dumps any parse
errors that are emitted with calls to
USR_PRINT. We may want to make this error handler more robust or
move it to another source location in the future.
Attach visibility to
Symbol generated for
Variable. We will
need to attach it to other generated symbols as future work.
- [x] All hellos with
- [x] All primers with
Signed-off-by: David Longnecker firstname.lastname@example.org
Modified Files: M compiler/include/astlocs.h