Tradução dirigida pela sintaxe
# Tradução dirigida pela sintaxe

Tradução dirigida pela sintaxe se refere ao método de implementação de compilador onde a tradução da linguagem fonte é totalmente dirigida pela análise sintática.
Um método comum de tradução dirigida pela sintaxe é traduzir a cadeia de caracteres em uma sequência de ações atrelando cada ação às regras da gramática. Assim, analisar a cadeia da gramática produz uma sequência de aplicação de regras. Esse método provém uma forma simples de atrelar semântica à sintaxe.

## Visão geral

Tradução dirigida pela sintaxe fundamentalmente funciona pela adição de ações às produções em uma gramática livre de contexto, resultando em uma Definição Dirigida pela Sintaxe. Ações são passos ou procedimentos que serão efetuados quando a produção for usada em uma derivação. Por convenção, colocam-se chaves ao redor de ações; se chaves forem necessárias como símbolos da gramática, utilizam-se aspas para diferenciar. Uma especificação de gramática incorporada com ações a serem executadas é chamada de esquema de tradução dirigida pela sintaxe (às vezes simplesmente 'esquema de tradução').
Cada símbolo na gramática pode ter um atributo, que é um valor que é associado com o símbolo. Atributos comuns podem incluir um tipo variável, o valor de uma expressão, etc. Dado um símbolo X com um atributo t, esse atributo é referido como X.t.
Dessa forma, dados ações e atributos, a gramática pode ser utilizada para traduzir cadeias de sua linguagem pela aplicação de ações e carregando informação através de cada atributo do símbolo.

## Implementação

Qualquer tradução dirigida pela sintaxe pode ser implementada primeiro construindo a árvore sintática e então executando as ações na ordem de profundidade esquerda para direita, durante o percurso em pré-ordem.
Tipicamente, essas traduções são implementadas durante a análise sintática, sem construir a árvore. Elas também podem ser usadas para importar classes de Definições Dirigidas pela Sintaxe.