Chapter 0: Overview and Objectives
Welcome to my blog series on developing Sodum, a simple programming language. This project aims to explore the inner workings of language implementation, focusing on the journey from high-level code to assembly for various target architectures.
Sodum's Feature Set
Basic functions
Basic data types: int and bool
Control structures: if-else statements
Iteration: while and for loops
Single return statement )
I've intentionally kept Sodum's feature set minimal to focus on core implementation concepts rather than complex language design. The syntax draws inspiration from C, providing a familiar starting point.
Implementation Strategy
I will try to write the frontend of this language without using any tools (as much as possbile keeping my sanity intact)
For the backend (IR and Code Generation), I plan to leverage LLVM. This choice allows us to benefit from LLVM's robust optimizations and multi-architecture support.
As I progress through this series, I'll be actively developing Sodum. I welcome any insights, resources, or experiences you'd like to share. The project repository is available on GitHub (link to be added).
Let's embark on this exploration of language implementation together!
Note: This is my first foray into language development.Forgive me for the mistakes the mistakes that i make.
Subscribe to my newsletter
Read articles from Sawez Faisal directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Sawez Faisal
Sawez Faisal
New to the field and eager to learn how complex systems work smoothly. From building compilers to scalable systems, I’m solving problems as they come—whatever the domain—and sharing all the highs, lows, and lessons along the way!