bonjour à tous , je dois réaliser en lex un programme qui reconnait un identificateur, un entier, et un réel , et pour cela , je dispose de l'executable LEX.exe , et de la bibliothèque LEXLIB
mon LEX.exe converti le code entré en LEX en code PASCAL ;
pour commencé , voila ce que je propose comme code LEX :
LEX.exe me génere le .PAS sans aucune erreur (y'ont n'a-t-il ??)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 %{ uses lexlib; %} lettre [A-Za-z] numero [0-9] identificateur {lettre}(_|{lettre}|{numero})* entier {numero}+ exposant [eE][+-]?{entier} reel {entier}("."|{entier})?{exposant}? %% entier writeln('Ceci est un ENTIER.\n'); identificateur writeln('Ceci est un IDENTIFICATEUR.\n'); reel writeln('Ceci est un REEL.\n'); %% BEGIN yylex; END.
Donc je compile et je lance avec turbo pascal et comme résultat, tout ce qu j'écrit , se réaffiche .
mes questions sont donc :
est-ce-que mon code LEX est correct??
est-ce qu'il faut l'écrire de cette façon pour qu'à chaque fois qu'il reconnait un entier, un identificateur ou un réel , il m'affiche ce que c'est ??
merci pour vos réponses...
Partager