Skip to content

Repository files navigation

AzulLang / ⴰⵣⵓⵍLang

License: MIT Python 3.11+

A programming language whose source code is written in Tamazight Tifinagh keywords and identifiers — not translated from another syntax, but natively authored in Tifinagh.

ⵉⵙⵎ ⟵ "Seif"
ⵙⵙⵓⴼⵖ("ⴰⵣⵓⵍ " + ⵉⵙⵎ)

Output: ⴰⵣⵓⵍ Seif


About this project

AzulLang is an open-source compiler and tooling project created to celebrate Algerian and Amazigh heritage. Tamazight is a living language with deep roots across North Africa; this project explores what it means to program in Tifinagh — using real keywords, identifiers, and syntax — as a way to connect modern software with cultural identity.

The goal is not a toy translator, but a real language implementation: lexer, parser, AST, semantic analysis, interpreter, compiler backend, CLI, tests, and editor support.

Contributions and improvements are welcome! Whether you work on the compiler, write examples, improve docs, or suggest new language features — help is appreciated. See CONTRIBUTING.md.


Author

Seif Sid Ali Maloufi — developer & creator


Installation

Requires Python 3.11+.

git clone https://github.com/GuidateTest/azullang.git
cd azullang
pip install -e ".[dev]"

Optional LSP dependencies:

pip install -e ".[dev,lsp]"

Hello World

Create hello.azl:

ⵙⵙⵓⴼⵖ("ⴰⵣⵓⵍ ⴷ ⵓⵏⵍⵍⴰ!")

Run:

azul run hello.azl

Language syntax

Tifinagh Meaning
ⵙⵙⵓⴼⵖ print
ⴰⵔⵎⴰⵙ input
ⵎⴰ / ⵉⵍⵍⴰ / ⵏⵖ if / then / else
ⴰⵔ / ⵜⴰⴳⴰⵔⴰ while / end
ⵜⴰⵍⵖⴰ function
ⵜⴰⵎⵙⵉⵔⵜ return
⟵ or ← assign

Full reference: docs/LANGUAGE.md · docs/GRAMMAR.md · docs/KEYWORDS.md

CLI commands

azul --version
azul run program.azl
azul check program.azl
azul compile program.azl          # → build/program.py
azul compile program.azl -o out.py
azul watch program.azl
azul repl

VS Code extension

cd vscode-extension
npm install
npm run compile

Then open vscode-extension/ in VS Code and press F5 (Extension Development Host). Open any .azl file for syntax highlighting and live diagnostics (requires azul-lsp on PATH).

Configure in VS Code settings:

  • azullang.lsp.enabled
  • azullang.lsp.path (default: azul-lsp)

Compiler architecture

.azl source (UTF-8)
     ↓
  Lexer          ← character scanner, Unicode identifiers
     ↓
  Tokens
     ↓
  Parser         ← recursive descent, precedence climbing
     ↓
  AST
     ↓
  Semantic       ← static checks
     ↓
  Interpreter  OR  Compiler (Python backend)
     ↓
  Execution

Modules live under src/azullang/:

  • lexer.py, parser.py, ast_nodes.py
  • semantic.py, interpreter.py, compiler.py
  • diagnostics.py, pipeline.py, cli.py
  • lsp_server.py (optional)

Current limitations

  • No significant-whitespace blocks — blocks use explicit ⵜⴰⴳⴰⵔⴰ
  • No arrays, structs, modules, or imports
  • No type system (dynamic typing only)
  • Compiler backend targets Python only
  • LSP: diagnostics only (no autocomplete/hover yet)
  • Watch mode polls file mtime (simple, cross-platform)

Roadmap

  • Native bytecode VM backend
  • LSP autocomplete and hover docs
  • Standard library in Tifinagh
  • Formatter (azul fmt)
  • Package manager for .azl modules

Testing

pytest

Contributing

We welcome pull requests, issues, and ideas. Please read CONTRIBUTING.md before contributing.

Built with care for Algerian heritage and the Amazigh language community. ⵜⴰⵏⵎⵎⵉⵔⵜ!

License

MIT — see LICENSE. Copyright © 2026 Seif Sid Ali Maloufi.

About

AzulLang / ⴰⵣⵓⵍLang — Tamazight Tifinagh programming language celebrating Algerian heritage

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages