This summer I joined the Swift organisation for Google Summer of Code under the supervision of my mentor Rintaro Ishizaki @rintaro. See the original announcement from @akyrtzi here.
Summary
The goal of my GSoC project was to integrate the Syntax library into the compiler pipeline. That means creating the Syntax tree directly in Parser
(not through SyntaxParsingContext
) and using it to derive the AST required by the rest of the compiler with a new transformer.
Done
In the beginning I was assigned a bug SR-10620 which was fixed by PR #24785.
My second merged pull request #25193 set up the infrastructure necessary for incremental development of the project and refactored literal parsing.
The third merged pull request #26478 refactored all of type parsing and provided more infrastructure for handling recursive grammar rules.
My last PR #26738 contains parts of expression parsing refactored and is expected to be merged soon.
To Do
As of August 28, 2019, the remaining work is:
- refactor the rest of expression parsing,
- refactor statement parsing,
- refactor declaration parsing.
Although the project originally aimed to deal with those as well, accommodating not only Syntax but also its C counterpart (for SwiftSyntax bindings) in the parser caused delays.
If you have any questions, I'll be happy to answer them.