Yann Ariel Logo Shift
Mode vampire 🧛
Mon propre langage de programmation

Mon propre langage de programmation

@Yxnn Xriel

/

jeu. 28 novembre 2024 Ă  17h27

Salut ! Comment ça va ? 😊

Dans mon projet "MotivĂ© par la CuriositĂ© (1)", je vous avais dit que la partie 2 serait un peu plus technique. Mais finalement, j’ai dĂ©cidĂ© de faire deux approches : une pour ceux qui aiment les histoires, et une autre pour ceux qui veulent dĂ©couvrir mes rĂ©alisations. đŸ’» Du coup, on commence par parler du langage ! Ce post va ĂȘtre un peu plus poussĂ©. 🚀

 

Avant de commencer, je tiens Ă  dire un grand merci Ă  la personne mĂȘme dont le langage porte le nom. 🙏 Tu m’as motivĂ© et encouragĂ© Ă  un moment oĂč j’étais prĂȘt Ă  tout lĂącher. Sache que je serai lĂ  pour toi aussi, dans les moments difficiles. đŸ’Ș Et un grand merci aussi Ă  Lens_r, un passionnĂ© d’informatique bas niveau qui vit aux USA. đŸ‡ș🇾 Je l'ai trouvĂ© sur des forums, et il m'a vraiment appris des trucs techniques de fou ! 🔍 et aussi Ă  sebbekarlsson qui Ă  partir de sa logique, j'ai pu crĂ©e et pousser la crĂ©ation au maximum.

Pourquoi v2 ?


Dans la crĂ©ation de langages, il est plus simple d'Ă©crire un langage interprĂ©tĂ© qu’un langage compilĂ©. 💡 Pendant tout mon processus d’apprentissage, j’ai commencĂ© avec un interprĂ©teur pour aller plus vite. Donc, cette version v2 est interprĂ©tĂ©e, mais le langage Ceflo lui, sera compilĂ©. 🔧 La version compilĂ©e existe, mais elle n’est pas encore totalement stable. Patience... 😅

J’ai Ă©crit ce langage en C, mon langage favori. đŸ–€ Je peux tout faire avec (ok, j’exagĂšre... un peu). 😂 Pour la syntaxe, je ne me suis pas trop compliquĂ© la vie : j'ai repris un peu du C et un peu de Dart, que je trouve esthĂ©tiques et trĂšs lisibles. 🎹 Comme je suis un peu flemmard pour tout ce qui est dĂ©claration et dĂ©finition, j’ai choisi plusieurs styles pour dĂ©clarer des variables. Et en parlant de ça, Ceflo v2 est faiblement typĂ©, donc on peut passer d’un type Ă  un autre sans problĂšme. 🌀 Je gĂšre tout le casting en coulisses. J’ai mĂȘme fait des trucs un peu bizarres, genre transformer une liste en nombre. 😅 Vous verrez ça ! Pour les fonctions, il y a plusieurs façons de les dĂ©clarer, mais s’il vous plaĂźt, privilĂ©giez les dĂ©finitions lisibles. 📚

 

Les structures conditionnelles et les boucles fonctionnent nickel. ✅ Je n’ai pas implĂ©mentĂ© le switch ou le do while, parce que franchement, je les utilise jamais. đŸ€·â€â™‚ïž Par contre, la boucle for est bien lĂ , et j'Ă©tais en train d'implĂ©menter la boucle foreach. Mais bon, avec tout ce qui est arrivĂ© (startup, voyages, etc.), ça a pris du retard... ✈

 

Et enfin, j’ai fait une sorte de structure qui se comporte un peu comme une classe en POO. đŸŽ© J’ai fait ça parce que, en C, on ne peut pas vraiment faire de POO, donc je me suis dit, "Pourquoi pas une version light ?" Pour l'instant, ça propose des mĂ©thodes basiques. Je me suis arrĂȘtĂ© Ă  l’hĂ©ritage (pas encore dispo sur la version GitHub). 🎁 

 

Vous trouverez des exemples sur le repo github dans le rĂ©pertoire exemple, je vous laisse avec quelque 

capture. Merci et A+ 

(Version rapide !)

Capture d’écran du 2024-11-28 11-59-16.png
Capture d’écran du 2024-11-28 12-05-53.png
Capture d’écran du 2024-11-28 11-53-33.png
Capture d’écran du 2024-11-28 12-02-11.png
Capture d’écran du 2024-11-28 11-50-11.png
Capture d’écran du 2024-11-28 11-42-42.png
Capture d’écran du 2024-11-28 12-07-10.png