Bonjour,
je veux faire un petit interpréteur (donc mon propre langage) et je pense que la première étape serait de le rendre capable d'évaluer des expressions mathématiques.
en tenant compte que les opérateur de mon langage seraient
- +, -, *, / : ce sont les opérateurs standards
- ^: puissance (ex. le carré de 3: 3^2)
- \ : division entière, %: modulo
- ->: affectation
- >+, >-, >*, >/ : opérateurs spéciaux (ex. pour A=3 A>+4 A=7, équivaent au +=, -= *= /= du C)
l'idéal serait de réserver au départ 26 variables de A..Z pour pouvoir les gérer facilement genre
A->5
B->A+5*2
ce que je vous demande c'est la démarche qu'il faut suivre pour pouvoir réaliser une fonction capable d'interpréteur ce genre d'expression, sachant quel doit bien sûr respecter les priorités mathématiques.
Comment traiter la chaîne de caractères lu par la console. Faut-il utiliser les expressins régulières ou un autre mécanisme spécifique ?
Je demande au cas où, mais est-ce qu'il y aurait moyen de traduire les instructions en assembleurs puis de les exécuter directement par le processeur?
Merci pour vos réponses.
Partager