IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Générateurs de compilateur Discussion :

[Lex] Problème d'affichage


Sujet :

Générateurs de compilateur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 40
    Par défaut [Lex] Problème d'affichage
    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 :
    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.
    LEX.exe me génere le .PAS sans aucune erreur (y'ont n'a-t-il ??)
    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...

  2. #2
    Membre expérimenté
    Profil pro
    DSI
    Inscrit en
    Mai 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DSI

    Informations forums :
    Inscription : Mai 2009
    Messages : 120
    Par défaut
    Bonsoir,

    je n'ai jamais ecrit de lex de ce style plutot comme ca :

    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.
    Mais bon mon lex etait en c et non pas en pascal...

Discussions similaires

  1. Problème d'affichage
    Par mustang-gx dans le forum Bases de données
    Réponses: 8
    Dernier message: 26/01/2005, 22h54
  2. Problème d'affichage avec trace
    Par WriteLN dans le forum Flash
    Réponses: 10
    Dernier message: 22/10/2003, 16h59
  3. [Kylix] problème d'affichage
    Par scalvi dans le forum EDI
    Réponses: 1
    Dernier message: 18/06/2003, 10h07
  4. Réponses: 1
    Dernier message: 06/03/2003, 11h57
  5. probléme d'affichage d'une fiche
    Par sb dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo