|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Étudiant Inscription : novembre 2012 Messages : 1 ![]() |
Bonjour,
Etudiant en informatique, je travaille actuellement sur un analyseur d'un langage inventé transformant ce langage en du c++. J'ai pris la documentation qu'il me faut aussi bien sur le net que dans des livres, pour autant je ne trouve pas d'explication (nullepart) sur mon problème de typage. Mon fichier lex sert d'analyseur et envoie au fichier yacc les données que celui ci analysera grammaticalement avant d'écrire du c++. Exemple d'une règle qui me pose problème: Code :
definition_fonction : "FONCTION" IDENTIFIANT "PARAMETRES" parametres "DEBUT{" instructions "}RETOUR" expression ";" "FIN_FONCTION"
Je ne peux donc pas donner comme gestion un : Code :
printf("function %s (%s) { %s \n return %d;\n }\n",$8,$6,$4,$1);
Mes deux idées : 1) faire une regle Code :
%start program : instructions { printf("%s",$1); }
Mais dans ce cas, je me retrouve avec des problèmes de types dans tous les sens ! 2) Donc j'ai imaginé une 2nde possibilité, avoir un appel au sein même d'une règle de yacc sur une partie de son contenu. ex: Code :
J'ai regardé le fonctionnement de yyparse() mais il ne semble pas convenir. Si une âme charitable comprend mon soucis et peut m'aider, ce serait génial ! Merci en tout cas d'avoir lu mon message. Hugo T. |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com