Evaluation d'une expression arithmétique

Fermé
Rikz - 10 mars 2012 à 23:52
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 12 mars 2012 à 20:23
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 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
11 mars 2012 à 02:33
juste pour une indication rapide : il te faudrait tout d'abord apprendre les structures d'arbre
0
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 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
Modifié par Pacorabanix le 12/03/2012 à 20:23
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