Votre navigateur ne semble pas prendre en charge le langage JavaScript, vous risquez de ne pas pouvoir accéder à certaines ressources!
Le langage SMS est exclu sur les forums ProgBoards, tout message ne respectant pas la
charte
sera déplacé, modifié, ou supprimé par nos
modérateurs
.
Forum Groupes de travail
»
FlexProject
»
[PARSER]Exemple de source
<< Page précédente
[ 3 / 3 ]
kod128
ProgBoarder
Windows XP
Firefox 2 - Posté le 17/06/2007 à 10:57
T'as deja regardé le code que te sort Yacc et flex ?
Franchement c'est illisible, impossible a modifier, plein de variables obscures, enfin bref : c'est moche quoi
En plus pour du basic, il suffit de séparer les token en fonction des espaces... c'est vraiment ... basique
Sinon pour visual studio :
Projet
options
Propriétés de configuration
Événements de génération et la que voit on ?
- option "Événement avant génération"
- option "Événement après génération"
D'ailleurs j'ai deja utilisé ces options pour travailler avec flex et yacc.
Voila pour Visual Studio. Je l'utilise presque au quotidien donc je le connais a peut près bien
Francesco
Modérateur
Windows XP
Firefox 2 - Posté le 17/06/2007 à 17:31
Bon, pour VIsual Studio, on parlait de la même chose ^^. Il y a même une étape avant linkage.
Pour Yacc et flex, si tu t'amuse à lire le code généré, alors là oui, c'est obscure ! Normalement, il n'y a pas besoin. Pour modifier les fiichiers générés, ce sont les fichiers de bases .l et .y qu'il faut modifier !!
Et je pense que les fichiers .l et .y sont plus clair qu'un long code source... C'était ça que je voulais dire ^^
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
Freem
Modérateur
Windows XP
Msie 6 - Posté le 18/06/2007 à 18:10
D'un autre côté, on avait dit (enfin, toi, en fait
) qu'on l'on ferait peut être les deux... avec et sans.
J'ai jeté un petit coups d'oeil à la doc que tu m'a passée, mais je n'ai pas trouvé ca très pratique à utiliser, surtout que comme l'à dit kod128, il suffit de traiter les lignes de code en fonction des espaces, sauf pour l'intérieur des chaînes ou il ne faut pas traiter les tokens à chaque espace...
Je pense que ca pourrait être plus interressant de créer le paser par nous même, puisque le but de ce projet reste d'apprendre. Mais on peut tout aussi bien apprendre à utiliser lex et yacc
Je propose un vote, ce serait plus simple.
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. - Benjamin Franklin
Francesco
Modérateur
Windows XP
Firefox 2 - Posté le 18/06/2007 à 18:28
Ok, comme vous voulez. Mais juste pour test, essayer de créer une calculette avec et sans yacc et lex.
A vous de voir la différence. Même si elle n'apparait pas, elle est présente ! Nous pouvons toujours faire les deux, cela n'empeche pas. Comme le repellait Freem, on est là pour apprendre !
L'interet d'utiliser yacc et lex, c'est aussi apprendre à ne pas toujours réinventer la roue.
Donc, comme vous l'aurez compris, je suis plutot partant pour utiliser Flex et Bison. D'autres sont pour la réalisation d'un parser à partir de 0.
On peut donc réaliser les deux parties en parallèles. Cela peut toujours être utile. Moi, je suis pour ^^
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
kod128
ProgBoarder
Windows XP
Firefox 2 - Posté le 18/06/2007 à 21:53
Ba après faut voire un peut...
C'est vrai que flex et yacc sont assez pratique pour faire des parsers rapidement. Mais il est possible de faire les deux (si on devais choisir un seul, autant prendre flex/yacc => solution clef en main). Toute facon la partie "lexture et transformation" du code de l'utilisateur n'est que la partie visible de l'iceberg.
J'ai deja utilisé flex et yacc mais je dis que c'est assez long a maitriser quand même . L'avantage est l'utilisation de regex et la forme sous laquelle on met la grammaire mais il faut aussi bien étudier a situation : il ne faut pas s'engager sur une fausse piste.
Je suis pour aussi ^^
Francesco
Modérateur
Windows XP
Firefox 2 - Posté le 18/06/2007 à 21:59
Il faut effectivement réflechir avant d'agir ! Sinon, attention à la casse ^^. Nous ne sommes pas contraint par le temps, donc prenons le temps de réfléchir, plutot d'arriver au milieu du projet et devoir recommencer à cause d'un oubli.
Et pour savoir quoi faire, au niveau du lexer/parser, il faut savoir qu'est-ce que l'on doit obtenir ! C'est pour cela que, pour l'instant, je suis en train d'essayer de définir la grammaire XML pour le fichier intermédiaire dont nous avions parler i ly a quelque temps déjà.
Il s'agira d'une ébauche de grammaire, aucunement définitive et entièrement soumise à vos remarques et suggestion ^^
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
<< Page précédente
[ 3 / 3 ]
Poster une réponse
Message
Formatage
Note: pour partager du code source, merci d'utiliser le
wall
!
Smileys
Pseudonyme
Recopiez le code
v6 ©
Computaid SPRL
2005-2008 - Tous droits réservés -
Hébergé par eTigris
- Page générée en 0,079 s -
Crédits
-
Stats
Forums
ProgBoards » Annonces
ProgBoards » Développement
ProgBoards » Café
ProgBoards » Petites annonces
Informatique » Algorithmes
Informatique » Logiciel
Informatique » Matériel
Informatique » Graphisme
Informatique » Sécurité
Langages » BASIC
Langages » Pascal / Delphi
Langages » C & Cie.
Langages » Assembleur
Langages » Java
Langages » Autres Langages
Langages » Bibliothèques
Web » HTML / XML
Web » PHP / ASP
Web » Flash & Autres
Groupes de travail » FlexProject
Groupes de travail » Kovu (Bot IRC)
Groupes de travail » PHPMonitoring
Documentation » Linux / Unix
Documentation » ProgBoards
Documentation » QBasic
Documentation » C & Cie.
Ecologie » Solaire
Ecologie » Transport
Liste des forums
Membres
Inscrivez-vous
Mot de passe perdu?
Liste des membres
Groupes
Liste des groupes
Projets
Liste des projets
Logithèque
Les logiciels libres
Outils
Wall (codes sources)
Timestamp Unix
Interrogation whois
Goodies
T'chat IRC
#progboards (3)
Quotes IRC
1