Implementación de Gramáticas Atribuidas

Una vez ya construida una gramática atribuida, hay que proceder a implementarla. Es decir, se tiene que crear un código que, dada una entrada en forma de árbol, aplique las reglas de la gramática e indique si éste las cumple o no. En este capítulo se verá cómo se realiza esa tarea.

Como ya se había comentado anteriormente, las gramáticas atribuidas pueden ser implementadas en cualquier lenguaje de programación ya que no tienen (o deberían tener) aspectos propios de ningún lenguaje. En este tema se verá cómo implementar una gramática en Java, pero el procedimiento sería similar para otros lenguajes.

Habría que señalar también que las gramáticas atribuidas no incluyen, como parte de su definición, ningún procedimiento establecido de implementación, dejando esto a la libertad del diseñador del compilador. Por tanto, lo que aquí se incluye es uno de varios métodos que se podrían usar.

En estos apuntes se ha representado a las gramáticas atribuidas como un conjunto de dos tablas:

  • La tabla de atributos.
  • La tabla de reglas.

Por tanto, la forma en la que se realizará la implementación de una gramática atribuida en esta asignatura es implementar cada una de ellas por separado tal y como se verá a continuación.