Voici une grammaire simple:Résumé Augmentée Syntaxe Arbre
START = DECL DECL $ ;
DECL = TYPE NAME '=' VAL ;
TYPE = 'int' | 'float' ;
NAME = 'a' | 'b' ;
VAL = '4' ;
Je Parse ce flux d'entrée avec Grako:
int a = 4
float b = 4
et je récupère cet arbre de syntaxe abstraite (JSON):
[
"int",
"a",
[
"=",
"4"
],
[
"float",
"b",
[
"=",
"4"
]
]
]
Existe-t-il un moyen simple d'obtenir des AST comme ceci:
[
"int" TYPE,
"a" NAME,
[
"=" DECL,
"4" VAL
],
[
"float" TYPE,
"b" NAME,
[
"=" DECL,
"4" VAL
]
]
]
ou ceci:
...
"int TYPE",
...
? Je crois que les actions sémantiques dans l'analyseur généré par Grako sont la solution, mais je ne peux pas le comprendre.
Existe-t-il un moyen simple de faire cela?
Merci, c'est exactement ce que je voulais! –