Traductor e intérprete del lenguaje CL 1.23
|
Clase adaptadora a medida para crear árboles CL_AST. More...
Public Member Functions | |
Object | create (Token payload) |
Crea un nodo del árbol AST a partir del Token payload . | |
Object | errorNode (TokenStream input, Token start, Token stop, RecognitionException e) |
Crea un nodo de error para el árbol AST cuando ocurre un error sintáctico. |
Clase adaptadora a medida para crear árboles CL_AST.
Si no se implementa, se crearán árboles de sintaxis abstracta (AST's) con nodos de tipo CommonTree
.
output=AST
, ANTLR creates trees of type CommonTree. To create different nodes... you can override create(Token) and YourTreeClass.dupNode(Object) and errorNode() in a subclass of CommonTreeAdaptor. CommonTreeAdaptor
Definition at line 66 of file CL_AST_Adaptor.java.
Object CL_AST_Adaptor.create | ( | Token | payload | ) |
Crea un nodo del árbol AST a partir del Token payload
.
Para árboles de tipo CommonTree
, el token se convierte en el contenido del nodo. Este método es llamado internamente por el parser cuando se activa la construcción del AST (output=AST
). Es el método de creación de nodos más utlizado.
Sobreescribe CommonTreeAdaptor.create()
de forma que se construyen los nodos especiales a medida CL_AST.
[in] | payload | token que se incorpora al nodo del árbol CL_AST |
CommonTreeAdaptor.create(Token)
Definition at line 85 of file CL_AST_Adaptor.java.
Object CL_AST_Adaptor.errorNode | ( | TokenStream | input, |
Token | start, | ||
Token | stop, | ||
RecognitionException | e | ||
) |
Crea un nodo de error para el árbol AST cuando ocurre un error sintáctico.
Sobreescribe el método errorNode
que devuelve un nodo que representa un error. Este nodo guarda los tokens consumidos durante la recuperación del error. El token start
indica el símbolo de entrada en el que el error se detectó. El token stop
indica el último símbolo consumido durante la recuperación.
Se debe especificar el input stream para que el texto incorrecto pueda ser enpaquetado en el nodo error. La excepción podría ser útil en algunas aplicaciones; la implementación por defecto almacena un puntero a ella en el CommonErrorNode
.
Esto sólo tiene sentido durante el parsing de secuencias de tokens, no durante el tree-parsing. El tree-parsing, para el análisis semántico y la generación de código, se produce sólo cuando el parsing y la construcción del árbol han tenido éxito. Pero en el traductor de CL el AST nunca será procesado cuando aparecen errores sintácticos, así que en este caso no hace falta crear ningún nodo de error.
input | el token stream para que el texto incorrecto pueda ser enpaquetado en el nodo de error |
start | el símbolo de entrada en el que el error fue detectado |
stop | el último símbolo consumido durante la recuperación |
e | la excepción generada |
null
Definition at line 126 of file CL_AST_Adaptor.java.