Aide sur mini analyseur lexicale [Résolu]

Messages postés
2
Date d'inscription
vendredi 5 décembre 2014
Dernière intervention
31 décembre 2014
- 31 déc. 2014 à 09:36 - Dernière réponse :
Messages postés
70
Date d'inscription
jeudi 3 novembre 2011
Dernière intervention
6 février 2015
- 7 janv. 2015 à 12:53
Bonjour,
je suis entraine de faire une auto formation delphi7
j entraine de coder un mini analyseur lexicale .
le probleme qui se pose quand je fais l'analyse a partir de matrice de transition
pour voir l'entite est correcte ou non selon ma grammaire : quand j'ai utilsé while j'avais une boucle infini;j'ai utilisé if imbriqué j'avais pas resultat attendue
je suis bloqué
sur internet j trouve d'autre façon de le faire mais comme je suis debutante j'ai rien compris.
aider moi s'il vous plait.
merci d'avance.
voici le code:

procedure TForm1.Button1Click(Sender: TObject);
 begin
   Etat:='1';
    for l:=1 to length(Mot) do
    begin
     car:=Mot[l];
     if (car<>'#') then
     begin
         Etat:=tab[Etat,car];
       if Etat='/' then
          memo2.Lines.Add('entite incorrecte /');
      end
      else
       if ((Etat<>'5') and (Etat<>'2') and (Etat<>'7') and (Etat<>'8') and (Etat<>'10'))then

         memo2.Lines.Add('entite incorrecte')
         else
        memo2.Lines.Add('entite correcte');


EDIT: Ajout de la coloration syntaxique.
Afficher la suite 

Votre réponse

1 réponse

Messages postés
70
Date d'inscription
jeudi 3 novembre 2011
Dernière intervention
6 février 2015
- Modifié par PythonGreg le 7/01/2015 à 12:58
0
Merci
la Fonction te sera utile. :-) exemple : Pos('#',Mots[I])

for l:=1 to length(Mot) do 
Pourquoi 1 ? for l:=0

Je suppose que t'ai déclaration de variable son en global ?

Tab ? c'est quoi ?
Commenter la réponse de PythonGreg

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.