Logo Lanfrica

charnet3d/sloppy-darija-compiler

Domaine:

natural language processing

Type de record:

software
Créateur:
cha
Hôte:
A modern programming language based on Moroccan Arabic (Darija) dialect, written in Arabic script with minimal Latin letters in keywords. The language is designed to be similar to modern C++ but simpler and more beginner-friendly. # Darija Programming Language Compiler A modern programming language based on Moroccan Arabic (Darija) dialect, written in Arabic script with minimal Latin letters in keywords. The language is designed to be similar to modern C++ but simpler and more beginner-friendly. ## Features - **Arabic Script Syntax**: Keywords and identifiers in Arabic/Darija - **Modern C++-like Features**: Classes, inheritance, functions, templates - **Beginner-Friendly**: Simplified syntax and clear error messages - **Type Safety**: Static typing with type inference - **Memory Management**: Automatic memory management with optional manual control - **Standard Library**: Rich standard library for common tasks ## Language Keywords ### Control Flow | Arabic | Meaning | Equivalent | |--------|---------|------------| | إلا | if | if | | إلا إذا | else if | else if | | غير | else | else | | عاود | for | for | | لكل | each | (for-each) | | في | in | in | | ما دام | while | while | | دير | do | do | ### Declarations | Arabic | Meaning | Equivalent | |--------|---------|------------| | اعرف | declare | var/let | | ثابت | constant | const | | دالة | function | function | | صنف | class | class | | الرئيسية | main | main | | استورد | import | import | | من مكتبة | from library | from | ### Operators | Arabic | Meaning | Equivalent | |--------|---------|------------| | صحيح | true | true | | غلط | false | false | | كاستثناء | as exception | as | | يمدد | extends | extends | ### Statements | Arabic | Meaning | Equivalent | |--------|---------|------------| | رجع | return | return | | اطبع | print | print | | جرب | try | try | | شد | catch | catch | | أخيراً | finally | finally | ## Project Structure ``` darija-compiler/ ├── src/ │ ├── lexer/ │ │ ├── token.hpp # Token definitions │ │ └── lexer.cpp # Lexer implementation │ ├── parser/ │ │ ├── parser.hpp # Parser interface │ │ └── parser.cpp # Parser implementation │ ├── ast/ │ │ └── ast.hpp …