Swimscript is an idea for a domain specific language meant to write swim practices. It has a parser which converts it to an intermediate representation(IR) which can later be turned into a physical document that swimmers can read. Currently the parser and IR is functional, but a backend to convert the IR into a LaTeX is planned.
Here is a link to the project: https://github.com/AidenPetersen/swimscript
This project is written in Rust using the Nom parser. I gained skills in using parser combinators, which are a way to easily compose complex parsers using smaller combinator building blocks. I also became more proficient using the Rust programming language.
I primarily used the documentation for Rust and Nom for this project:
Swim script has been written entirely by me, and it was though of by myself and some friends on the Swim Club at Iowa State University.