Le langage de programmation MaliLang
npm install malilang1Un langage simple, expressif et culturel, basé sur des mots bambara et conçu pour apprendre à programmer facilement.
npm install -g malilang
`Puis dans vscode vous pouvez installer l'extention MaliLang.
Lancer un programme MaliLang
Créer un fichier :
`
script.mli
`Exécuter :
`
malilang run script.mli
`Structure du projet
`
malilang/
├── lexer.js
├── parser.js
├── interpreter.js
├── keywords.json
└── malilang.js
`Mots-clés MaliLang
| Bambara | Description | JS |
|--------|-------------|----|
| faleden | variable | let |
| sebeni | afficher | console.log |
| ni | si | if |
| noteni | sinon si | else if |
| note | sinon | else |
| kamasoro | tant que | while |
| koson | boucle for | for |
| fole | foreach | foreach |
| kono | dans | in |
| barakunda | fonction | function |
| segini | retourner | return |
| kilasi | classe | class |
| bora | héritage | extends |
| jolikaila | constructeur | constructor |
| nin | ceci | this |
| ba | parent | super |
| sugandi | switch | switch |
| gnenata | cas | case |
| folo | défaut | default |
| karali | break | break |
| kura | nouveau | new |
| fu | null | null |
| sebe | vrai | true |
| nkalo | faux | false |
| kalani | entrée utilisateur | input |
| na | importer | import |
Variables
`
faleden x = 10
faleden nom = "Papin"
`Affichage
`
sebeni "Bonjour"
sebeni 10 + 20
`Entrée utilisateur
`
faleden nom = kalani("Votre nom : ")
sebeni "Bienvenue " + nom
`Conditions
`
ni age >= 18 {
sebeni "Adulte"
} noteni age >= 13 {
sebeni "Ado"
} note {
sebeni "Enfant"
}
`Boucles
$3
`
faleden i = 0kamasoro i < 5 {
sebeni i
i = i + 1
}
`$3
`
koson i = 0; i < 5; i = i + 1 : {
sebeni i
}
`$3
`
faleden lisi = [10, 20, 30]fole item kono lisi {
sebeni item
}
`Fonctions
`
barakunda somme(a, b) {
segini a + b
}sebeni somme(4, 5)
`Tableaux
`
faleden l = [1, 2, 3]
sebeni l[0]
`Classes
`
kilasi Person {
jolikaila(nom, age) {
nin.nom = nom
nin.age = age
} saluer() {
sebeni "Bonjour, je suis " + nin.nom
}
}
`Héritage
`
kilasi Animal {
parler() {
sebeni "L'animal fait un son"
}
}kilasi Chien bora Animal {
parler() {
ba.parler()
sebeni "Wouf!"
}
}
`Importation
`
na "utils.mli"
`Exemple complet
`
sebeni "=== Programme MaliLang ==="faleden nom = kalani("Ton nom : ")
sebeni "Bonjour " + nom
faleden age = kalani("Ton âge : ")
ni age >= 18 {
sebeni "Tu es adulte"
} note {
sebeni "Tu es mineur"
}
faleden nums = [1, 2, 3, 4]
fole n kono nums {
sebeni "Numéro : " + n
}
``