Je compile un petit compilateur pour un langage d'affectation.Actions sémantiques sur Menhir
Tenir compte de la règle suivante:
var_block :
| LPAREN var_decl+ RPAREN { var_scope := var_scope + 1 };
L'action est déclenchée lorsque sémantique var_block est d'abord reconnu ou est-il déclenché une fois la fin de la production est atteint (dans ce cas, RPAREN)?
Merci pour votre réponse. Quel serait le meilleur moyen de suivre les changements de contexte entre les déclarations d'objets contenus dans différents blocs et avec différentes propriétés de stockage? –
Cela dépend exactement de ce que vous essayez de faire. Une chose facile à faire serait de rendre la valeur sémantique de chaque production un arbre de syntaxe, alors la production 'var_block' ne ferait qu'emballer sa liste d'enfants dans un autre nœud d'arbre qui marque la portée. –