Nodos AST [Guía de Usuario de Enterprise Architect]

Top Previous Next

Nodos AST

button_main button_prev button_next

Al definir la gramática, utilizaría nodos ASTy atributos de nodo AST que pueden ser reconocidos en la ingeniería de código de Enterprise Architect, en el AST los resultados que son devueltos por los comandos atributo, attributeEx y nodo. Estos nodos y atributos son identificados en las tablas siguientes. Cualesquiera otros serán ignorados en la ingeniería de código.

Nodo FILE

El nodo FILE representa un archivo. No es asignado a nada, pero contiene toda la información necesaria.

Multiplicidad

Nodos/Atributos Contenidos

Descripción

0..*

PACKAGE

 

Vea el Nodo PAQUETE.

0..*

CLASS

 

Vea el Nodo CLASE.

0..*

IMPORT

 

 

0..*

COMMENT

Las etiquetas de campo como parte de un salto regla estará en el nivel raíz; el generador de código busca comentarios de este tipo por su posición con respecto al nodo.

 

0..1

INSERT_POSITION

Esto da la posición donde se pueden insertar nuevas Clases, paquetes e implementaciones de método en el archivo. Si no se encuentra, el generador de código insertará automáticamente los nuevos ítems inmediatamente después de que el último se encuentre en el código.

 

Nodo PAQUETE

El nodo PAQUETE corresponde a un espacio de nombre o equivalente en el archivo. Al importar un paquete por cada espacio de nombre, Enterprise Architect creará un paquete directamente bajo la importación para este y colocará todas las Clases dentro de él. Cuando no está importando espacios de nombre, Enterprise Architect buscará Clases bajo este punto, pero no hará nada con este nodo.

Además, si están generando con espacios de nombre activado (vea los temas Opciones de Código para lenguajes genéricos) una Clase generada no coincidirá con una Clase en el código a menos que estén bajo la misma estructura de paquete.

Contenido en nodos: FILE

Multiplicidad

Nodos/Atributos Contenidos

Descripción

1

NAME

 

Vea el Nodo NOMBRE.

0..*

CLASS

 

Vea el Nodo CLASE

0..*

PACKAGE

 

 

0..1

OPEN_POSITION

Da la posición donde se abre el cuerpo del paquete. Esto también puede ser utilizado como una posición de inserción.

 

0..1

INSERT_POSITION

Da la posición donde se pueden insertar nuevas Clases y paquetes en el archivo. Si no se encuentra, el generador de código insertará automáticamente los nuevos ítems inmediatamente después de que el último se encuentre en el código.

 

0..1

SUPPRESS

Evita la sangría cuando se inserta en este paquete.

 

Nodo CLASE/INTERFAZ

El nodo CLASE (o INTERFAZ) es el más importante en la generación de código. Es traído como Objetos de Clase (o Interfaz).

Vea DECLARACIÓN de Clase (abajo) y CUERPO de Clase.

Contenido en nodos: ARCHIVO, PAQUETE, CUERPO de Clase

Declaración de CLASE

Contenido en nodos: CLASS/INTERFACE

Multiplicidad

Nodos/Atributos Contenidos

Descripción

1

NAME

 

Vea el Nodo NOMBRE.

0..*

PARENT

 

Vea el Nodo PADRE

0..*

TAG

 

Vea el Nodo ETIQUETA

0..1

DESCRIPTION

Vea el Nodo DESCRIPCIÓN

 

1

NAME

El nombre de la Clase. Si hay un nodo NOMBRE, que sobrescribirá este atributo.

 

0..1

SCOPE

El Alcance UML de la Clase - Público, Privado, Protegido o Paquete.

 

0..1

ABSTRACT

Si está presente, indica que esta es una Clase abstracta.

 

0..1

VERSION

La versión de la Clase.

 

0..1

STEREOTYPE

El estereotipo que Enterprise Architect debería asignar a la Clase. Esto no soporta múltiples estereotipos.

 

0..1

ISLEAF

 

 

0..1

MULTIPLICITY

 

 

0..1

LANGUAGE

Generalmente, no necesita configurar esto.

 

0..1

NOTE

Generalmente no se usa, ya que está cubierto por los comentarios sobre la Clase.

 

0..1

ALIAS

 

 

0..*

MACRO

Agrega un Valor Etiquetado numerado que Enterprise Architect puede utilizar para la ida y vuelta de macros.

 

Nodo CUERPO de Clase

Contenido en Nodos: CLASS/INTERFACE

Multiplicidad

Nodos/Atributos Contenidos

Descripción

0..*

METHOD

 

Vea el Nodo MÉTODO

0..*

ATTRIBUTE

 

Vea el Nodo ATRIBUTO

0..*

FIELD

 

Vea el Nodo CAMPO

0..*

CLASS

 

Vea el Nodo CLASE.

0..*

SCOPE

 

Vea el Nodo ALCANCE.

0..*

PROPERTY

 

 

0..*

TAG

 

Vea el Nodo ETIQUETA

0..*

PARENT

 

Vea el Nodo PADRE

0..1

OPEN_POSITION

Da la posición donde se abre el cuerpo de la Clase. Esto también puede ser utilizado como una posición de inserción.

 

0..1

INSERT_POSITION

Da la posición donde nuevo miembros de Clase se pueden insertar en el archivo. Si no se encuentra, el generador de código insertará automáticamente los nuevos ítems inmediatamente después de que el último se encuentre en el código.

 

Nodo SCOPE

Esta es una característica opcional para los lenguajes que se parecen a C++ que tienen bloques que especifican el alcance de elementos. El lenguaje debe tener un nombre especificado que se utiliza para el alcance de todos los elementos en el bloque. En todos los demás aspectos se comporta de manera idéntica al nodo de CUERPO de Clase.

Contenido en nodos: CUERPO de Clase

Multiplicidad

Nodos/Atributos Contenidos

Descripción

1

NAME

 

Utilizado como el alcance para todos los métodos y atributos contenidos dentro del ámbito.

Nodo MÉTODO

Contenido en nodos: CUERPO de Clase, ALCANCE

Multiplicidad

Nodos/Atributos Contenidos

Descripción

1

Método DECLARACIÓN

 

Vea el Nodo de DECLARACIÓN de Método, (abajo).

Nodo de DECLARACIÓN de Método

Contenido en Nodos: METHOD

Multiplicidad

Nodos/Atributos Contenidos

Descripción

0..1

TYPE

 

Vea el Nodo TIPO

0..*

PARAMETER

 

Vea el Nodo PARÁMETRO

0..*

TAG

 

Vea el Nodo ETIQUETA

0..1

DESCRIPTION

 

Vea el Nodo DESCRIPCIÓN

0..1

MULTI PARAMETER

Soporta el estilo de declaración de la lista de parámetros de Delphi; vea el Nodo PARÁMETRO.

Este es el equivalente al CAMPO.

 

1

NAME

 

 

0..1

TYPE

 

 

0..1

SCOPE

 

 

0..1

ABSTRACT

 

 

0..1

STEREOTYPE

 

 

0..1

STATIC

 

 

0..1

CONST o CONSTANT

 

 

0..1

PURE

 

 

0..1

ISQUERY

 

 

0..1

ARRAY

 

 

0..1

SYNCHRONIZED

 

 

0..*

MACRO

 

 

0..1

CSHARPIMPLEMENTS

Especifica un comportamiento especial para C#.

 

0..1

BEHAVIOR

Proporciona soporte para Aspect J, utilizando el comportamiento.

 

0..1

SHOWBEHAVIOR

Proporciona soporte para Aspect J, utilizando el comportamiento, y muestra el comportamiento de ingeniería inversa en el diagrama.

 

Nodo ATRIBUTO

Contenido en Nodos:

CUERPO de Clase, ALCANCE

Multiplicidad

Nodos/Atributos Contenidos

Descripción

1

TYPE

 

Vea el Nodo TIPO

0..*

TAG

 

Vea el Nodo ETIQUETA

0..1

DESCRIPTION

 

Vea el Nodo DESCRIPCIÓN.

1

NAME

 

 

0..1

TYPE

 

 

0..1

SCOPE

 

 

0..1

DEFAULT

 

 

0..1

CONTAINER o ARRAY

 

 

0..1

CONTAINMENT

 

Referencia o valor.

0..1

STEREOTYPE

 

 

0..1

STATIC

 

 

0..1

CONST o CONSTANT

 

 

0..1

ORDERED

 

 

0..1

LOWBOUND

 

 

0..1

HIGHBOUND

 

 

0..1

TRANSIENT o VOLATILE

 

 

Nodo FIELD

Un campo corresponde a varias declaraciones de atributos en una. Cualquier cosa no definida en las Declaraciones pero definida en el propio campo se configurará para cada declarador. Todo lo soportado en un atributo es soportado en el campo. Si no se encuentran declaradores entonces esto funciona de la misma manera que un atributo.

Contenido en nodos: CUERPO de Clase, ALCANCE

Multiplicidad

Nodos/Atributos Contenidos

Descripción

0..*

DECLARATOR

 

Vea el Nodo ATRIBUTO.

Nodo PARÁMETRO

Contenido en Nodos: DECLARACIÓN de Método, PLANTILLA

Multiplicidad

Nodos/Atributos Contenidos

Descripción

1

TYPE

 

Vea el Nodo TIPO

0..*

TAG

 

Vea el Nodo ETIQUETA

0..1

DESCRIPTION

 

Vea el Nodo DESCRIPCIÓN.

0..1

NAME

 

 

0..1

TYPE

 

 

0..1

KIND

 

Se espera que sea in, inout, out o retorno.

0..1

DEFAULT

 

 

0..1

FIXED

 

 

0..1

ARRAY

 

 

Nodo NAME

Contenido en Nodos: PAQUETE, DECLARACIÓN de Clase

Multiplicidad

Nodos/Atributos Contenidos

Descripción

1

NAME

 

 

0..*

QUALIFIER

 

 

0..*

NAMEPART

Una alternativa al uso de NOMBRE y CALIFICADOR. Una cadena de valores, todos excepto el último tomado como calificadores. La última es tomada como el Nombre.

 

Nodo TYPE

Contenido en Nodos: DECLARACIÓN de Método, ATRIBUTO, PARÁMETRO

Multiplicidad

Nodos/Atributos Contenidos

Descripción

0..1

TEMPLATE

Todo el texto de la plantilla es el nombre del tipo.

Sólo se utiliza si el NOMBRE no está definido.

Vea el Nodo PLANTILLA, abajo.

 

1

NAME

 

 

0..*

QUALIFIER

 

 

0..*

NAMEPART

Una alternativa al uso de NOMBRE y CALIFICADOR. Una cadena de valores, todos excepto el último tomado como calificadores. La última es tomada como el Nombre.

 

Nodo PLANTILLA

Contenido en Nodos: TYPE

Multiplicidad

Nodos/Atributos Contenidos

Descripción

0..*

PARAMETER

 

Vea el Nodo PARÁMETRO

1

NAME

 

 

Nodo PADRE

Contenido en Nodos: DECLARACIÓN de Clase

Multiplicidad

Nodos/Atributos Contenidos

Descripción

0..1

TYPE

 

Tiene el valor Padre, Implementa o VirtualP.

1

NAME

 

 

0..*

QUALIFIER

 

 

0..*

NAMEPART

Una alternativa al uso de NOMBRE y CALIFICADOR. Una cadena de valores, todos excepto el último tomado como calificadores. La última es tomada como el Nombre.

 

0..1

INSTANTIATION

 

 

Nodo TAG

Contenido en Nodos: DECLARACIÓN de Clase, DECLARACIÓN de Método, ATRIBUTO, PARÁMETRO

Multiplicidad

Nodos/Atributos Contenidos

Descripción

1

NAME

 

 

0..*

VALUE

 

 

0..1

MEMO

 

 

0..1

NOMEMO

 

 

0..1

GROUP

 

 

Nodo DESCRIPCIÓN

Contenido en Nodos:

DECLARACIÓN de Clase

,

Método DECLARACIÓN

,

ATTRIBUTE

,

PARAMETER

Multiplicidad

Nodos/Atributos Contenidos

Descripción

0..*

VALUE

 

 

Aprender más

Opciones del Lenguaje

Comandos de Gramática