Traduction dirigée par la syntaxe - Syntax-directed translation

La traduction dirigée par la syntaxe fait référence à une méthode d' implémentation du compilateur où la traduction en langue source est entièrement pilotée par l' analyseur .

Une méthode courante de traduction dirigée par la syntaxe consiste à traduire une chaîne en une séquence d'actions en attachant une de ces actions à chaque règle d'une grammaire . Ainsi, l'analyse d'une chaîne de la grammaire produit une séquence d'applications de règles. SDT fournit un moyen simple d'attacher une sémantique à une telle syntaxe .

Aperçu

La traduction dirigée par la syntaxe fonctionne fondamentalement en ajoutant des actions aux productions dans une grammaire sans contexte , résultant en une définition dirigée par la syntaxe (SDD). Les actions sont des étapes ou des procédures qui seront exécutées lorsque cette production est utilisée dans une dérivation. Une spécification grammaticale intégrée avec des actions à effectuer est appelée un schéma de traduction orienté syntaxe (parfois simplement appelé «schéma de traduction»).

Chaque symbole de la grammaire peut avoir un attribut , qui est une valeur qui doit être associée au symbole. Attributs communs pourraient inclure un type variable, la valeur d'une expression, etc. Etant donné un symbole X , avec un attribut t , cet attribut est appelé X . t

Ainsi, des actions et des attributs donnés, la grammaire peut être utilisée pour traduire des chaînes de son langage en appliquant les actions et en transportant des informations à travers l'attribut de chaque symbole.

Métacompilateurs

Les premiers métacompilateurs utilisent les termes traduction basée sur la syntaxe et traduction dirigée vers la syntaxe dans leurs descriptions. Ils ont des fonctionnalités de langage de métaprogrammation pour la sortie de code.

Voir métacompilateur , META II et TREE-META .

Voir également

Les références