htmche
Messages postés10Date d'inscriptionjeudi 2 février 2012StatutMembreDernière intervention10 mars 2013
-
9 mars 2013 à 18:18
BunoCS
Messages postés15472Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention25 mars 2024
-
10 mars 2013 à 20:35
Salut tout le monde , j'ai un problème et je veut votre aide SVP , le probléme c'est:
d'ecrire un programme permettant de vérifier si une boucle de condition "if" a été écrite sans erreurs. la boucle est dans un fichier texte ou son chemin d'accès est donné par l'utilisateur. la boucle est correcte si elle vérifie l'automate suivant . On vous demande d'écrire un programme d'implémenter cet automate . ce programme contient la fonction verif() qui permet de vérifier la validité du boucle condition "if".
ça c'est l'automate :
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 9 mars 2013 à 20:34
Salut,
ouaou, vaste sujet !
il faut créer une matrice "de transition" et la mettre en bijection avec le graphe.
Le nombre de colonnes est le nombre de symboles différents, comme espace, 'i', 'f', '(' ect...
Le nombre de lignes est le nombre d'états.
Les états terminaux sont négatifs par convention, les états "récursifs" sont supérieur à une constante (1000 par exemple)
On compte le nombre d'états en pseudo code :
Commence dans l'état 1 qui attends espace ou 'i'
ETAT 1 : si 'i', passe dans l'état 2, si espace reste dans l'état 1
ETAT 2 : si 'f', passe dans l'état 3
ETAT 3 : si '(', passe dans l'état 5, si espace passe dans l'état 4
ETAT 4 : si espace, reste dans 4, si '(', passe dans l'état 5
ETAT 5 : si chiffre, passe dans l'état 6
ect... ect..
Il faut ensuite plusieurs fonction comme _isDigit, atoi ect....
il faut créer une fonction qui renvoi le numéro de l'état selon le caractère "avalé" par l'automate
un grand switch(char(c)) peut faire l'affaire
je m'arrète là, car cela est un sujet vraiment trop vaste.
Tu pourras certainement trouver des exemples et même, avec un peu de courage regarder le code des outils open source comme flex, yacc (yet another compiler compiler)...
htmche
Messages postés10Date d'inscriptionjeudi 2 février 2012StatutMembreDernière intervention10 mars 2013 10 mars 2013 à 15:47
Merci , beaucoup mon ami maintenant ce mieux , chui débutant en C , s'il 'y'a une possibilité d'eclairir le chemin avec un bout de code et merci je sais pas mme comment je commence à coder cette solution .
BunoCS
Messages postés15472Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention25 mars 2024103 10 mars 2013 à 20:35
Hello,
Demande à tes profs ->lire ici Je rappelle que nous ne faisons pas le travail des autres. C'est d'ailleurs indiqué dans le règlement que tu as validé...
@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...