About
I'm a software engineer that likes parsers and anything related to implementing programming languages. For me this blog is a way to build cool projects and share how they work. I aim to write in depth and concise posts while keeping them simple and not overcomplicating stuff. Whether I achieve it is up to you to decide.
How this blog works
Due to a lack of time this blog will be composed of seasons, which are just a series of posts focused on a single topic or project.
I'll work on something, write some posts about it and then stop blogging for the following X months and repeat 😜. With a bit of luck I might write some standalone posts in between seasons.
In the long-term I would like to make seasons about making a lexer and parser generator (spoiler: my own ANTLR4 but LL(k)) and finally using those to make my own programming language from scratch. But don't expect that soon. With the regex engine I already prepared the ground for implementing a lexer, but this project will take a lot of time.
In addition at some point I would like to make posts about backend and Java Spring and learn how it works in depth. Because you know, writing a whole programming language isn't enough work.
Content
You can find the standalone posts through their tag
Seasons
Season 1 - Building a Regex Engine (Completed)
- Introduction
- Implementing a NFA
- Creating a NFA from a regex
- Modern features - Part 1: Capturing groups
- Modern features - Part 2: Character classes and escape characters
- Modern features - Part 3: Anchors and multiline mode
- Finding multiple matches
- Modern features - Part 4: Atomic groups
- Modern features - Part 5: Backreferences
- NFA vs DFA