Chapter 0: Overview and Objectives

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

  1. Basic functions

  2. Basic data types: int and bool

  3. Control structures: if-else statements

  4. Iteration: while and for loops

  5. 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.