Las Gramáticas de Atributos (GA) son un formalismo que poseen el poder descriptivo de las Gramáticas Libres de Contexto (CFG) y la expresividad de los lenguajes funcionales, para definir la semántica de un lenguaje.
Las ecuaciones de una GA inducen dependencias entre los atributos que ocurren en la producción. Si una GA contiene dependencias circulares no podrá ser evaluada, ya que no existirá un orden de evaluación consistente. Esto se conoce como el Problema de Circularidad.
El test de circularidad es intrínsecamente exponencial, lo que dificulta la implementación de evaluadores eficientes, por lo que comúnmente las herramientas imponen restricciones en las dependencias.
En 1998, Wuu Yang caracteriza una nueva familia de GA, denominada Gramáticas de Atributos Multiplanes (MAG) o NC, que permiten una mayor expresividad, presentando un algoritmo eficiente para su evaluación.
Este trabajo describe magGen: un generador de evaluadores estáticos para la familia MAG.