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