ANALYSEUR SYNTAXIQUE PASCAL (YACC)

Messages postés
1709
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
15 novembre 2019
- - Dernière réponse : Ali_usto
Messages postés
135
Date d'inscription
lundi 20 novembre 2006
Statut
Membre
Dernière intervention
11 octobre 2010
- 5 juin 2007 à 20:36
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42086-analyseur-syntaxique-pascal-yacc

Ali_usto
Messages postés
135
Date d'inscription
lundi 20 novembre 2006
Statut
Membre
Dernière intervention
11 octobre 2010
-
Ali_usto
Messages postés
135
Date d'inscription
lundi 20 novembre 2006
Statut
Membre
Dernière intervention
11 octobre 2010
-
hahahahah t'es trop drole forman
tu as resolu le probleme de kadje84 bravo pour le tuto

voila le lien :
http://dinosaur.compilertools.net/
cs_Forman
Messages postés
663
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
6 avril 2010
1 -
1/ Se connecter au site www.Google.fr
2/ Taper "download flex bison" (sans les guillemets) dans la zone de saisie
3/ Cliquer sur le bouton "Recherche Google"
4/ Cliquer sur le premier résultat, appelé "The LEX & YACC Page"
5/ Télécharger les 2 programmes aux endroits indiqués

Youpi, je viens de faire mon premier tutorial sur l'utilisation de Google
^^
Ali_usto
Messages postés
135
Date d'inscription
lundi 20 novembre 2006
Statut
Membre
Dernière intervention
11 octobre 2010
-
Oui c'est possible de les telecharger gratuitement .
pour faire un analyseur lexical tu as seulement besoin du flex.
donc tu dois telecharger la bibliotheque lexlib

tu peux la trouver dans ma source , mais moi j'ai utilisé lex et non pas le flex le lex genere en pascal et le flex genere en c
mais tu peux jeter un coup do'eil sur la sourcec sa pourra t'aider
kadje84
Messages postés
28
Date d'inscription
vendredi 19 août 2005
Statut
Membre
Dernière intervention
29 octobre 2008
-
Salut, je suis étudiant en informatique et j'ai pour TP de réaliser un e calculatrice.j'aurais besoin de flex et bison pour programmer un analyseur lexical.s'il vous plait est-il possible de les télécharger gratuitement?
Merçi
oussama_41nf
Messages postés
1
Date d'inscription
samedi 31 mars 2007
Statut
Membre
Dernière intervention
6 mai 2007
-
salut, je suis un etudiant en informatique aussi.
je voudrai avoir un coup de main concernant le travail que tu vient de remmettre.
la version que tu a mis en telechargement est endommagée ,veuiller renouvler cette version svp.
veuiller me contacter le plus tot possible merci....
Ali_usto
Messages postés
135
Date d'inscription
lundi 20 novembre 2006
Statut
Membre
Dernière intervention
11 octobre 2010
-
bain j'ai utilisé les version habituelles qu'on utilise pour generer des fichirs .pas , j'ai transformé ses fichiers en unités et j'ai fait appel dans mon program , j'ai aussi apporter quelques modification dans la librerie yacclib c'est tout .
et t'as raison pour le caractere '_' j'ai pas fait attention .
merci pour tes remarques.
cs_Forman
Messages postés
663
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
6 avril 2010
1 -
OK je viens de vérifier ça fonctionne ;-)
Ceci dit, je crois que les identificateurs contenant un "underscore" (caractère '_') sont valides, non? Quand je donne un nom par exemple avec ce caractère dans le nom du programme ça me donne une syntax error
Exemple:

> program nom_prog;
syntax error: at character # 14

Quelle version de lex/yacc as-tu utilisée? Je ne savais pas qu'il en existait pour Delphi...
Ali_usto
Messages postés
135
Date d'inscription
lundi 20 novembre 2006
Statut
Membre
Dernière intervention
11 octobre 2010
-
oui t'as raison FORMAN il ne sagit pas du pascal objet il sagit du pascal normal avec la syntaxe
program nom_prog;
const
/////
type
////
var
////
bloc des procecdures et fonctions
////
program principal
////
end.
voila essai cette syntaxe et tu verras le resultat.
cs_Forman
Messages postés
663
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
6 avril 2010
1 -
Ce que Japee voulait te dire c'est qu'en fait il n'a pas de lecteur "E:" donc que ça ne risque pas de fonctionner chez lui (regarde la 4° ligne de Project1.dpr).

Quand on applique ton programme à ses propres sources, ça ne fonctionne pas:

syntax error: at character # 6
unit Unit1

J'ai essayé avec Unit1.pas et Unit2.pas, rien ne marche (même erreur à chaque fois).
Avec Project1.dpr idem (mais erreur différente). A un moment j'ai même eu une I/O error (je pense dûe au procédé du char feeder utilisé).

Peut-être que j'ai mal compris et qu'en fait il ne s'agit pas de pascal objet?
Ali_usto
Messages postés
135
Date d'inscription
lundi 20 novembre 2006
Statut
Membre
Dernière intervention
11 octobre 2010
-
Oui je vois tres bien ce que vous voulez dire mais je crois que sahier j'ai corrigé le code ça doit marcher maintenant quand aux fonctions du menu ouvrir et enregistrer bain ils sont faciles à faire je les ai juste oublier , je sais que le travail est incomplet mais il est juste et il analyse bien , j'esserai de le completer d'aventage merci
japee
Messages postés
1709
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
15 novembre 2019
1 -
Dans le fichier dpr :
"Unit1 in 'E:\Unit1.pas'"
Non, chez nous, Unit1.pas ne se trouve pas sur E:\, ça commence mal...
Sur Unit1 :
- "uses main" : où est main.pas ou main.dcu ?
- ligne 427 : "yyinput_text := memo2.Text;" déclenche une erreur de compil puisque memo2 n'existe pas.

Bon, une fois corrigé, ça compile.

Première impression :
Les menus ne sont pas tous fonctionnels.
En particulier, Open ne charge rien dans le memo.
Avec un copier-coller, on peut se faire une idée du résultat, mais ça n'encourage pas à aller plus loin.

Dommage, on voit que tu as bossé, mais le produit ne semble pas fini...
Ali_usto
Messages postés
135
Date d'inscription
lundi 20 novembre 2006
Statut
Membre
Dernière intervention
11 octobre 2010
-
comment ça il est incompilable moi j'arive à le compiler normalment
et identificateur non déclaré 'memo2' je n'ai utilisé qu'un seul mémo
et un richedit
japee
Messages postés
1709
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
15 novembre 2019
1 -
Ce code est INCOMPILABLE !

Entre autres, et sans analyser plus :

"Unit1 in 'E:\Unit1.pas' {Form1}," <- ça risque pas !
"identificateur non déclaré : 'memo2'
etc...

A revoir très très vite.

japee - admin cs