[Chapel Merge] dyno: Add uAST nodes and tackle test failures unde

Branch: refs/heads/main
Revision: 97d6355
Author: dlongnecke-cray
Link: dyno: Add uAST nodes and tackle test failures under new parser by dlongnecke-cray · Pull Request #19214 · chapel-lang/chapel · GitHub
Log Message:

Merge pull request #19214 from dlongnecke-cray/dyno-parser-failing-tests

dyno: Add uAST nodes and tackle test failures under new parser

Get more tests to pass under COMM=none by adding uAST nodes and
fixing bugs in the parser and converter.

Add nodes for Let and Manage. I've hesitated to add a node for
Lambda (though will probably add it eventually), and so leave it
as future work.

Fix a bug in the new parser that causes the line number for regular
routines to report the end of the last production in some cases.
The fix is a hack and massaging the grammar would be ideal.

Pass the ModTag of the outermost module into the converter
so that it can propagate this tag to submodules. This is a temporary
fix, and having the uAST store module tags that it deduces based
on the module path would be ideal.

TESTING

  • [x] Down to: 772 failures for --compiler-library-parser

Reviewed by @arezaii. Thanks!

Signed-off-by: David Longnecker dlongnecke-cray@users.noreply.github.com

Modified Files:
A compiler/next/include/chpl/uast/Let.h

A compiler/next/include/chpl/uast/Manage.h
A compiler/next/lib/uast/Let.cpp
A compiler/next/lib/uast/Manage.cpp
M compiler/include/convert-uast.h
M compiler/next/include/chpl/uast/ASTClassesList.h
M compiler/next/include/chpl/uast/As.h
M compiler/next/include/chpl/uast/all-uast.h
M compiler/next/lib/parsing/ParserContext.h
M compiler/next/lib/parsing/ParserContextImpl.h
M compiler/next/lib/parsing/bison-chpl-lib.cpp
M compiler/next/lib/parsing/bison-chpl-lib.h
M compiler/next/lib/parsing/chpl.lex
M compiler/next/lib/parsing/chpl.ypp
M compiler/next/lib/parsing/flex-chpl-lib.cpp
M compiler/next/lib/parsing/flex-chpl-lib.h
M compiler/next/lib/resolution/scope-queries.cpp
M compiler/next/lib/uast/As.cpp
M compiler/next/lib/uast/CMakeLists.txt
M compiler/next/lib/uast/Makefile.include
M compiler/next/test/parsing/testParseImport.cpp
M compiler/parser/parser.cpp
M compiler/passes/convert-uast.cpp

Compare: https://github.com/chapel-lang/chapel/compare/da38dca3f414...97d6355e6f5d