← all projects

alveelan

A programming language for Bangla-speaking kids. Bangla keywords, digits and error messages, compiled to native code through LLVM.

  • rust
  • llvm
  • compilers

source ↗2026

A Fibonacci program written in Bangla, compiled and run, printing its output in Bangla digits
A Fibonacci program written in Bangla, compiled and run, printing its output in Bangla digits

What it is

Most children in Bangladesh meet programming through English keywords. In alveelan the whole language is Bangla: ধরি declares a variable, যদি / নাহলে branch, যতক্ষণ loops and দেখাও prints. Numbers can be written with ০–৯, and programs answer in ০–৯ too.

How it works

The compiler is written in Rust and goes from source to a native executable:

  1. Lexer: Bangla keywords, Unicode identifiers, and Bangla digits normalised to ASCII.
  2. Parser: recursive descent with precedence climbing.
  3. Semantic analysis: scopes, types and function signatures, with errors written in Bangla.
  4. Code generation: LLVM IR through inkwell, then an object file linked with a tiny C runtime that prints numbers in Bangla digits.

Highlights