rédiger un parser : méthodologie
Bonjour,
je souhaite rédiger un parser simple, et je voudrais avoir les retours de gens qui ont l'expérience de ce genre de chose.
Plutôt qu'un tuto sur flex/bison, j'aimerais savoir quel est le point de départ de la réflexion de qqn qui doit écrire un parser.
J'ai l'impression que flex/bison sont surtout adaptés à la rédaction de compilos qui produisent de l'assembleur. Peut être que je me trompe...
Peut être qu'une lecture ligne à ligne avec des strings et des tas de if va suffire? Peut être pas...
Enfin merci de me donner un point de vue assez général sur le sujet.
Régis
Pour le contexte :
Le mien doit prendre un langage à typage dynamique (scilab) à la syntaxe assez simple, et fournir du code c++ en sortie.
Je dispose d'une librairie qui me fournit les types (forts) vector / matrix ... qui sont les types de base de scilab.
Exemple :
Code Scilab :
Code:
1 2 3 4 5
|
N=1000;
x=ones(N) ;
y=ones(N) ;
res = x'*y ; // produit scalaire |
doit donner :
Code cpp :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
#include "myLib.h"
int main ()
{
int N = 1000 ;
myLib::vector<float> x(N, 1) ;
myLib::vector<float> y(N, 1) ;
float res = x*y ;
return 0 ;
} |