Evaluation d'une expression arithmétique

Rikz -  
Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,

j'aurais besoin d'un exemple de programme en pascal permettant la réalisation d'une calculatrice respectant la priorité des opérations / parenthèses / fonctions comme cos, sin, exp ...
Je sais quce ceci necessite une analyse lexicale et une analyse synthaxique (lexer et parser),mais comme c'est la première fois que j'ai à faire à ce genre de code (je suis novice en programmation,je ne connais que le pascal) , j'aurais besoin d'un exemple ou d'un site qui explique la démarche pour ce genre de programme.

Merci d'avance.
A voir également:

3 réponses

Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
 
juste pour une indication rapide : il te faudrait tout d'abord apprendre les structures d'arbre
0
Rikz
 
je sais , mais avant cela je dois implementer un lexer (analyse lexicale) transformant une chaîne de caractères en tokkens . comment faire ?
0
Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
 
ben le principe d'un lexer est plutot simple :

lire une chaine de chaine de caractère en entrée
et sortir une "liste" (un tableau, une liste chainée, etc... n'importe quelle structure ordonnée) avec les tokens lus.

après, tu dois donc lire tes caractères, en faire un token lorsque tu remarques la fin, et passer à un autre token.

typiquement, pour une expression mathématique, un caractère spécial ou un espace marque la fin d'un token.
0