Si tu veux vraiment faire un mini mini langage, il pourrait être interprété, pas compilé. Ça va te prendre des techniques de "parsing". White Crow en connait sûrement ... Tu en trouveras aussi sur le web, tel que: https://www.springer.com/gp/book/9780387202488
Le Tout est souvent plus grand que la somme de ses parties.
bah pour créer un langage, ne serait-ce qu'un langage interprété, avec un minimum de sérieux, il faut être capable de produire une grammaire, et utiliser un outil qui va produire un tel parseur.
La question serait surtout : pourquoi vouloir créer un langage ?
Il y a de bons documents là dessus. Par exemple ceux de Niklaus Wirth (inventeur de pascal, contributeur à algol, etc) qui était prof de ETH de Zurich.
Le parsing peut se faire simplement par la bonne vieille méthode de la descente récursive. Ca évite d'avoir à se battre avec des usines à gaz mal fichues (lex/yacc...) avant d'avoir compris à quoi elles servent et leurs limitations. Longtemps, il a donné comme projet à ses étudiants un langage PL/0 à implémenter.
Pour mes étudiants à moi (IUT 1ere année) j'avais un TP - avant le covid - qui expliquait sur plusieurs séances quelques idées là dessus. Au départ c'est juste une calculette qui affiche la valeur de l'expression qu'on tape, puis on introduit des variables, etc. A la fin on génére du code pour une machine à registres (certaines années, c'est une machine à pile, ou risc à 3 registres. Faut varier les plaisirs).
Pourquoi créer un langage ? Parce que ça peut être amusant.
PS: le saviez-vous ? l'équipe de g++ a laissé tomber en 2004 l'utilisation de générateurs d'analyseurs (Bison) pour revenir à la descente récursive.
- Edité par michelbillaud 10 juin 2021 à 11:01:13
créer un mini langage de programmation
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Tout est souvent plus grand que la somme de ses parties.