Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
995 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  Besion d'aide pour un parser.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Besion d'aide pour un parser.

n°925176
Chronoklaz​m
Posté le 16-12-2004 à 16:31:10  profilanswer
 

Bon là j'ai un ptit souci de realisation d'un parser.
 
Le language a interpreté est un espece de BASIC avec des numeros de lignes qui seront enfait les indexes d'un tableau (hash-table ?) dont les elements seront les lignes.
Ceci dans le but de gerer le GOTO ... et peut etre le GOSUB. :ange:  
 
Exemple
 
10 REM "calcul de factorielle avec FOR"
20 INPUT "n=",n
30 LET res = 1
40 FOR i = 1 to n
50 res = res*i
60 NEXT i
70 PRINT "fac=",res
 
Je pige pas comment faire pour remplir le tableau en parsant le fichier ...
J'ai bien l'impression qu si je tokenize pas les numero de ligne je ne m'en soriré pas, je cherche donc une alternative a la creation d'un type (token) numero de ligne dans le lexer.
 


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
mood
Publicité
Posté le 16-12-2004 à 16:31:10  profilanswer
 

n°925180
Lam's
Profil: bas.
Posté le 16-12-2004 à 16:36:03  profilanswer
 

Tu utilises quels outils (c/lex/lex+yacc)?

n°925182
Chronoklaz​m
Posté le 16-12-2004 à 16:37:00  profilanswer
 

lex+yacc


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
n°925190
Lam's
Profil: bas.
Posté le 16-12-2004 à 16:54:21  profilanswer
 

Je verrais bien une production lex qui rend les nombres, les tokens Basic, les identifiants et les retours chariots.
 
Et ton yacc, ça serait un bête:
ligne-de-code:
   nombre instructions retour-chariot
 
Et comme tu le dis, tu stocke tout ce biniou dans une structure associative type map ou hash-map où un numero de ligne te donne la ligne de code qui va bien.

n°925565
Chronoklaz​m
Posté le 17-12-2004 à 00:00:12  profilanswer
 

Ja galere a trouver l'expression reguliere pour les numeros de ligne, enfin pour les tokeniser quoi ...  
 
Je lui donne [line_number (@ #\newline (+ digit) #\space)] et il capte rien :(
 
Avec  
 
@ : dans cet ordre
+ : au moins 1 fois
 
:( :( :( :( :( ... Fait hiech !  
 
 
 


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
n°927661
pains-aux-​raisins
Fatal error
Posté le 19-12-2004 à 22:40:05  profilanswer
 

C'est bizarre mais je ne reconnais pas là la syntaxe de Lex ???

n°927700
chrisbk
-
Posté le 19-12-2004 à 23:27:44  profilanswer
 

comprends rien a ton micmac, ton numero de ligne c'est un entier, donc un [0-9]+ tout bete ?

n°928470
Chronoklaz​m
Posté le 20-12-2004 à 18:44:49  profilanswer
 

Ouais c clair je me prenais trop la tete pour rien en fait, c'est resolu depuis 2 jours ... je suis passé au eval :)


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  Besion d'aide pour un parser.

 

Sujets relatifs
besoin d'aide pour inserer un .js sur une page[PHP] cookie + IE6 (P3P) à l'aide !!!
Parser (Yapp/Yacc): substitution de variables ?[Divers] besoin d'aide : multiprogrammation, multitraitement ETC ...
Besoin d'aide sur SPIPBesoin d'aide sur SPIP
probleme a l'aide !!Aide sur les datetime d'Oracle pour une modotte à forte poitrine
Script ms dos -> .bat !!! Besoin d'aide SVP !!Aide Excel et Outlook
Plus de sujets relatifs à : Besion d'aide pour un parser.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR