ANALYSEUR SYNTAXIQUE PASCAL (YACC)

Signaler
Messages postés
1717
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
23 juin 2020
-
Messages postés
131
Date d'inscription
lundi 20 novembre 2006
Statut
Membre
Dernière intervention
11 octobre 2010
-
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

Messages postés
131
Date d'inscription
lundi 20 novembre 2006
Statut
Membre
Dernière intervention
11 octobre 2010

Messages postés
131
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/
Messages postés
600
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
^^
Messages postés
131
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
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
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....
Messages postés
131
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.
Messages postés
600
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...
Messages postés
131
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.
Messages postés
600
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?
Messages postés
131
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
Messages postés
1717
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
23 juin 2020
3
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...
Messages postés
131
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
Messages postés
1717
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
23 juin 2020
3
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