martes, 9 de mayo de 2017

Atributos heredados y sintetizados.

Atributos heredados y sintetizados.

Atributos heredados:

Todos los atributos que se calculan según el principio de composicionalidad generalizado (usando al menos un atributo del contexto) se llaman atributos heredados.

Es la capacidad de compartir atributos y métodos entre clases. Es la propiedad que permite definir nuevas clases usando como base clases ya existentes. La nueva clase (clase derivada) hereda los atributos y comportamiento que son específicos de ella. La herencia es una herramienta poderosa que proporciona un marco adecuado para producir software fiable, comprensible, de bajo costo, adaptable y reutilizable. La herencia o relación es-un es la relación que existe entre dos clases, en la que una clase denominada derivada o subclase se crea a partir de otra ya existente, denominada clase base o superclase.

  • Sirven para expresar la dependencia que hay entre una construcción del lenguaje de programación y su contexto.
  • Siempre es posible reescribir una definición dirigida por sintaxis para que sea S-atribuida.
  • En ocasiones es más natural utilizar atributos heredado

Ejemplo con atributos heredados.
Números en base X: Para interpretar un número hay que saber interpretar sus dígitos y además conocer la base Ej. AF3 = 2803)10 porque A=10, F=15, 3=3 y la base es 16 Ej. AF3 = 13503)10 porque A=10, F=15, 3=3 y la base es:




Atributos sintetizados:

Todos los atributos que se calculan según el principio de composicionalidad se llaman atributos sintetizados Ej. Los atributos anteriores lex y valor.
Las gramáticas de atributos que únicamente poseen atributos sintetizados se llaman gramáticas s-atribuidas. La evaluación en una gramática s-atribuida se puede hacer con un recorrido en postorden de los árboles sintácticos atribuidos.


Los atributos sintetizados son como valores de salida de las categorías sintácticas (suben hacia la raíz –el programa-), mientras que los atributos heredados son como valores de entrada (bajan hacia las hojas –las expresiones, etc.-). 

1 comentario: