Comandos de Gramática [Guía de Usuario de Enterprise Architect]

Top Previous Next

Comandos de Gramática

button_main button_prev button_next

Comandos, como las instrucciones, se asemejan a llamadas de función. Sirven para dos propósitos principales:

Para procesar símbolos de una manera específica o

Para proporcionar un resultado para el que llama

 

Comandos

Comando

Descripción

attribute(Name: String, Value: Expression)

Crea un atributo en el nodo AST actual. El atributo será creado con el Nombre especificado en la fuente de gramática, y se le dará el valor de todos los símbolos consumidos como parte de ejecutar la expresiónValor .

Este comando produce los atributos de nodo AST en los que opera Enterprise Architect en la ingeniería de código.

 

attributeEx(Name: String)

attributeEx(Name: String , Value: String)

Crea un atributo en el nodo AST actual sin consumir ningún símbolo. El atributo será creado con el Nombre especificado en la fuente de gramática, y con un valor vacío o el valor especificado por el argumento opcional Valor.

Este comando produce los atributos de nodo AST en los que opera Enterprise Architect en la ingeniería de código.

 

node(Name: String, Target: Expression)

Crea un nodo AST bajo el nodo AST actual (los nodos en los que opera Enterprise Architect en la ingeniería de código). El nodo será creado con un Nombre específico en la fuente de gramática.

 

token(Target: Expression)

Crea un símbolo durante el análisis léxico para procesar durante el análisis. El valor del símbolo será el valor de todos los caracteres consumidos como resultado de ejecutar la expresión Objetivo .

 

keywords()

 

Coincide con cualquier palabra clave de las reglas de análisis establecidas para el lenguaje.

skip(Target: Expression)

skip(Target: Expression, Escape: Expression)

 

Consume datos de entrada (caracteres para el léxico y símbolos para el análisis) hasta que la expresión Objetivo coincida. La expresión Escape opcional puede ser utilizada para manejar instancias tal como comillas escapado dentro de cadenas.

skipBalanced(Origin: Expression, Target: Expression)

skipBalanced(Origin: Expression, Target: Expression, Escape: Expression)

 

Consume datos de entrada (caracteres o símbolos) hasta que la expresión Objetivo coincida y el nivel de anidamiento llegue a cero. Si la expresión Origen coincide durante este proceso, el nivel de anidamiento es aumentado. Si la expresión Destino coincide, el nivel de anidamiento es disminuido. Cuando el nivel de anidamiento llega a cero, el comando sale con éxito. Una expresión Escape opcional puede ser proporcionada.

skipEOF()

Consume todos los datos faltantes (caracteres o símbolos) hasta el final del archivo.

 

fail()

Causa que el analista falle la regla actual, incluyendo cualquier definiciones sobrante.

 

warning()

Inserta una advertencia en el AST resultante.

 

except(Target: Expression, Exception: Expression)

Consume datos de entrada que coinciden con la expresión Objetivo, pero falla con datos que coinciden con la expresión de Excepción. Este opera algo similar a, y exactamente opuesto a, el comando saltar.

 

preProcess(Target: Expression)

Evalúa una expresión y utiliza los datos procesados anteriormente en múltiples definiciones. Esto es más útil dentro del análisis de expresión, donde la misma expresión a mano izquierda será evaluadas contra un número de operadores. Este comando reduce el trabajo que el analista debe hacer para hacer esto posible.

 

Aprender más

Instrucciones de Gramática

Nodos AST