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

Delphi Discussion :

Recherche d'un exemple simple d'analyseur lexical


Sujet :

Delphi

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 9
    Points : 1
    Points
    1
    Par défaut Recherche d'un exemple simple d'analyseur lexical
    Bonsoir à tous, je cherche un programme simple d'un analyseur lexical en langage Delphi. C'est simple je pense mais mon problème c'est que je maîtrise pas le Delphi.

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 830
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 830
    Points : 13 574
    Points
    13 574
    Par défaut
    Vous êtes dans la même classe ?

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Vous êtes dans la même classe ?
    oui

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    aidez-moi svp si vous avez quelque chose sur l'analyseur lexical

  5. #5
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 087
    Points : 15 506
    Points
    15 506
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par minoucha.21 Voir le message
    aidez-moi svp
    Bonjour ! Personne n'est là pour faire votre travail à votre place. Donc, si vous avez fait quelque chose, il faut le montrer et on vous aidera à l'améliorer. Mais si vous n'avez rien fait, on ne pourra pas vous aider.

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    oui biensur ta raison voila mon travaille :


    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
    21
    22
    23
    24
    25
    26
    procedure TForm1.Button1Click(Sender: TObject);
    var
    p,f,i:integer;
    mot,str:string;
    begin
     
    str:= edit1.text;
    i:=1;
     
    while i<= length(str) do
    begin
    while (i <= length(str)) and (str[i]=' ') do
    i:=i+1;
     
    p:=i;
     
    while (i<=length(str)) and ((str[i]<>' ')) do
     
    i:=i+1;
     
    f:=i-1;
     
    mot:=copy(str,p,f-p+1);
    memo1.lines.add(mot);
     
    end;
    maintenant je veux savoir comment classer les unité lexical dont le resultat sera :

    Mots-clés : function integer
    Opérateurs : +
    Identificateurs : max i j
    Ponctuation : ( : ) ;

    Et merci.

  7. #7
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 410
    Points : 3 174
    Points
    3 174
    Par défaut
    Bonjour,

    une fois les différents mots ou opérateurs stockés dans des chaines, il faut faire un Case pour les ranger dans les différentes catégories (si c'est bien cela la question ?).

    Comme le Case sur des Strings n'existe pas en Pascal, il faut utiliser la fonction AnsiIndexStr de l'unité StrUtils qui renvoie la position d'une chaine dans un tableau de chaines :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    uses StrUtils;
    ...
    Case AnsiIndexStr(UpperCase(Mot), ['+', '*', 'FUNCTION', ...]) of
       0 :     // Mot à ranger dans les opérateurs
       1 :    // Mot à ranger dans les opérateurs
       2 :    // Mot à ranger dans les mots clefs
       -1 :  // Mot inconnu
    end;
    ou mieux, avec la fonction AnsiMatchStr on peut tester si c'est un opérateur, puis une fonction, puis un séparateur, ... Il faudra ensuite traiter les nombres et les variables.

    A+
    Charly

Discussions similaires

  1. Recherche d'un exemple simple d'utilisation de MADS editor
    Par fedjo dans le forum SIG : Système d'information Géographique
    Réponses: 0
    Dernier message: 25/01/2011, 10h48
  2. Recherche d'un exemple simple d'utilisation d'une signature
    Par rambc dans le forum Général Python
    Réponses: 2
    Dernier message: 26/04/2009, 21h33
  3. [shlex] recherche exemples simples
    Par dervish dans le forum Général Python
    Réponses: 2
    Dernier message: 24/11/2006, 10h45
  4. [Framework] Recherche d'exemple simple
    Par anaon dans le forum Spring
    Réponses: 4
    Dernier message: 26/04/2006, 17h08
  5. recherche exemple simple pour corba en c++
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 06/05/2002, 12h29

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