|
Micro C Compiler - MCC
|
estrutura de um nó individual da árvore sintática abstrata (ast). More...
#include <ast.h>
Public Attributes | ||
| NodeType | node_type | |
| o tipo do nó, conforme definido na enumeração NodeType. | ||
| int | linha | |
| a linha do código fonte onde este nó (ou sua construção) se originou. | ||
| struct ASTNode * | filho | |
| ponteiro para o primeiro nó filho na hierarquia da árvore. | ||
| struct ASTNode * | proximo_irmao | |
| ponteiro para o próximo nó no mesmo nível hierárquico (irmão). | ||
| union { | ||
| long int_value | ||
| usado por nós do tipo NODE_INTEGER_CONST. More... | ||
| char char_value | ||
| usado por nós do tipo NODE_CHAR_CONST. More... | ||
| char * string_value | ||
| usado por nós NODE_ID e NODE_STRING_CONST (requer alocação dinâmica). More... | ||
| TokenType op_type | ||
| usado por NODE_BINARY_OP e NODE_TYPE para guardar o tipo de operador ou de dado. More... | ||
| } | data | |
| união para armazenar dados específicos do nó de forma eficiente. | ||
estrutura de um nó individual da árvore sintática abstrata (ast).
esta é a estrutura central da ast. cada nó contém seu tipo, ponteiros para formar a hierarquia da árvore (filhos e irmãos) e uma união de dados para armazenar informações específicas, como o valor de uma constante ou o nome de um identificador.
| char ASTNode::char_value |
usado por nós do tipo NODE_CHAR_CONST.
| union { ... } ASTNode::data |
união para armazenar dados específicos do nó de forma eficiente.
| struct ASTNode* ASTNode::filho |
ponteiro para o primeiro nó filho na hierarquia da árvore.
| long ASTNode::int_value |
usado por nós do tipo NODE_INTEGER_CONST.
| int ASTNode::linha |
a linha do código fonte onde este nó (ou sua construção) se originou.
| NodeType ASTNode::node_type |
o tipo do nó, conforme definido na enumeração NodeType.
| TokenType ASTNode::op_type |
usado por NODE_BINARY_OP e NODE_TYPE para guardar o tipo de operador ou de dado.
| struct ASTNode* ASTNode::proximo_irmao |
ponteiro para o próximo nó no mesmo nível hierárquico (irmão).
| char* ASTNode::string_value |
usado por nós NODE_ID e NODE_STRING_CONST (requer alocação dinâmica).