Implementing Incremental Re-Parsing in SwiftParser, GSoC 2023

Hi everyone,
I’m Tommaso. It's my third-year studying computer science, I‘ve recently heard from a friend about GSoC and I thought that it would be an excellent opportunity to gain experience and enter the open-source community. I was looking at the various proposals and I found the project about “Implementing Incremental Re-Parsing in SwiftParser” very interesting. This year I really enjoyed the Calculability and Formal Languages course, and I’d like to work on this project because I find the subject engaging and I think I can learn a lot from it. I started using Swift and SwiftUI about a year and a half ago, and I have good C++ knowledge.

In preparation for the application period, I would like to ask @ahoppen for some additional information and advice.


Hi Tommaso,

Thanks for your interest in Google Summer of Code and in the SwiftSyntax project in particular. If you’ve got any concrete questions, always feel free to ask and I’m happy to help you.

As a general advice, in my experience, getting familiar with the codebase you are interested in working on during GSoC helps to write a good proposal because it helps you get a better understanding of how everything works and how you might best approach the project you are interested in. How you want to do that is really up to you and your style of learning. You could just clone the repository and read through the source code and follow the execution path of a test case by setting a breakpoint and stepping through the different instructions, read the documentation that’s available or try to fix a simple bug in the codebase. The latter is what got me started in the Swift compiler’s codebase but it’s really up to you.

If you do want to go and fix a simple bug, our repositories contain a label “good first issue” that marks issues that should be easy to fix and doable by newcomers to the project, for example for SwiftSyntax this is Issues · apple/swift-syntax · GitHub. For SwiftSyntax, I also just opened a pull request that classifies some of the TODOs in the code base as good first issues – if you’re interested in working on one of those, I would suggest you give it a try on your own and if you’re stuck, you can always ask.


Thank you Alex.
I've been playing with the compiler and stdlib lately. I will take a look at the issues you suggested and give them a try. Thanks for the tips.

1 Like