Branch: refs/heads/main
Revision: 4831979
Author: arezaii
Link: Parser updates for primer compilation by arezaii · Pull Request #18983 · chapel-lang/chapel · GitHub
Log Message:
Merge pull request #18983 from arezaii/primer-parse-p2
Parser updates for primer compilation
This PR implements multiple fixes that allow for the new
parser to be used when compiling our primers.
Changes/updates include:
- Sort the extern functions to higher precedence during codegen
- Implement production for return lifetimes
- Add AST conversion for lifetime clauses and identifiers
- Invert the list of internal modules to be parsed
with the new parser from an allow to a block list
These changes have made it possible to parse all but two internal
modules and compile the primers with --compiler-library-parser
TESTING:
- [x] primer tests pass with or without
--compiler-library-parser
- [x] paratest passes without
--compiler-library-parser
Reviewed by @mppf, thanks!
Signed-off-by: arezaii ahmad.rezaii@hpe.com
Modified Files:
M compiler/codegen/codegen.cpp
M compiler/include/optimizations.h
M compiler/next/include/chpl/queries/all-global-strings.h
M compiler/next/lib/parsing/bison-chpl-lib.cpp
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/optimizations/propagateDomainConstness.cpp
M compiler/parser/parser.cpp
M compiler/passes/convert-uast.cpp
Compare: https://github.com/chapel-lang/chapel/compare/f041470e9b88...48319798e59b