Public interface of class 'ResolveSymbol'. More...
#include <ResolveSymbol.h>
Related Functions | |
(Note that these are not member functions.) | |
ResolveSymbol_ptr | ResolveSymbol_create (void) |
The ResolveSymbol class constructor. | |
void | ResolveSymbol_destroy (ResolveSymbol_ptr self) |
The ResolveSymbol class destructor. | |
char * | ResolveSymbol_get_error_message (ResolveSymbol_ptr self, MasterPrinter_ptr printer) |
Get the error message, if any error occurred. | |
node_ptr | ResolveSymbol_get_resolved_name (ResolveSymbol_ptr self) |
Returns the resolved name of the symbol. | |
boolean | ResolveSymbol_is_ambiguous (ResolveSymbol_ptr self) |
Checks if the symbol is ambiguos or not. | |
boolean | ResolveSymbol_is_array (ResolveSymbol_ptr self) |
Checks if the symbol is an array. | |
boolean | ResolveSymbol_is_array_def (ResolveSymbol_ptr self) |
Checks if the symbol is an array define. | |
boolean | ResolveSymbol_is_constant (ResolveSymbol_ptr self) |
Checks if the symbol is a constant. | |
boolean | ResolveSymbol_is_define (ResolveSymbol_ptr self) |
Checks if the symbol is a define. | |
boolean | ResolveSymbol_is_defined (ResolveSymbol_ptr self) |
Checks if the resolved symbol is defined or not. | |
boolean | ResolveSymbol_is_error (ResolveSymbol_ptr self) |
Check if there has been some error in the resolution of the symbol. | |
boolean | ResolveSymbol_is_function (ResolveSymbol_ptr self) |
Checks if the symbol is a function. | |
boolean | ResolveSymbol_is_parameter (ResolveSymbol_ptr self) |
Checks if the symbol is a parameter (formal). | |
boolean | ResolveSymbol_is_undefined (ResolveSymbol_ptr self) |
Checks if the resolved symbol is undefined or not. | |
boolean | ResolveSymbol_is_var (ResolveSymbol_ptr self) |
Checks if the symbol is a variable. | |
void | ResolveSymbol_print_error_message (ResolveSymbol_ptr self, MasterPrinter_ptr printer, FILE *stream) |
Prints the error message, if any error occurred. | |
node_ptr | ResolveSymbol_resolve (ResolveSymbol_ptr self, struct SymbTable_TAG *st, node_ptr name, node_ptr context) |
Resolves the given symbol in the given context, and returns it. | |
void | ResolveSymbol_throw_error (ResolveSymbol_ptr self, const NuSMVEnv_ptr env) |
Throws an internal error if an error occurred. |
Public interface of class 'ResolveSymbol'.
Definition of the public accessor for class ResolveSymbol
ResolveSymbol_ptr ResolveSymbol_create | ( | void | ) | [related] |
The ResolveSymbol class constructor.
AutomaticStart
The ResolveSymbol class constructor
void ResolveSymbol_destroy | ( | ResolveSymbol_ptr | self | ) | [related] |
The ResolveSymbol class destructor.
The ResolveSymbol class destructor
char * ResolveSymbol_get_error_message | ( | ResolveSymbol_ptr | self, | |
MasterPrinter_ptr | printer | |||
) | [related] |
Get the error message, if any error occurred.
Get the error message, if any error occurred. The returned message has to be freed by the caller
node_ptr ResolveSymbol_get_resolved_name | ( | ResolveSymbol_ptr | self | ) | [related] |
Returns the resolved name of the symbol.
Returns the resolved name of the symbol
boolean ResolveSymbol_is_ambiguous | ( | ResolveSymbol_ptr | self | ) | [related] |
Checks if the symbol is ambiguos or not.
Checks if the symbol is ambiguos or not. A symbol is ambiguos if it is declared more than once (e.g. as a variable and as a constant)
boolean ResolveSymbol_is_array | ( | ResolveSymbol_ptr | self | ) | [related] |
Checks if the symbol is an array.
Checks if the symbol is an array
boolean ResolveSymbol_is_array_def | ( | ResolveSymbol_ptr | self | ) | [related] |
Checks if the symbol is an array define.
Checks if the symbol is an array define
boolean ResolveSymbol_is_constant | ( | ResolveSymbol_ptr | self | ) | [related] |
Checks if the symbol is a constant.
Checks if the symbol is a constant
boolean ResolveSymbol_is_define | ( | ResolveSymbol_ptr | self | ) | [related] |
Checks if the symbol is a define.
Checks if the symbol is a define
boolean ResolveSymbol_is_defined | ( | ResolveSymbol_ptr | self | ) | [related] |
Checks if the resolved symbol is defined or not.
Checks if the resolved symbol is defined or not. Returns true if the symbol is defined. A symbol is defined if it is declared within the symbol table (i.e it is a var or a define, an array define, an array, a parameter or a constant)
boolean ResolveSymbol_is_error | ( | ResolveSymbol_ptr | self | ) | [related] |
Check if there has been some error in the resolution of the symbol.
Check if there has been some error in the resolution of the symbol
boolean ResolveSymbol_is_function | ( | ResolveSymbol_ptr | self | ) | [related] |
Checks if the symbol is a function.
Checks if the symbol is a function
boolean ResolveSymbol_is_parameter | ( | ResolveSymbol_ptr | self | ) | [related] |
Checks if the symbol is a parameter (formal).
Checks if the symbol is a parameter (formal)
boolean ResolveSymbol_is_undefined | ( | ResolveSymbol_ptr | self | ) | [related] |
Checks if the resolved symbol is undefined or not.
Checks if the resolved symbol is undefined or not. Returns true if the symbol is undefined. A symbol is undefined if it is not declared within the symbol table (i.e it is not a var, a define, an array define, an array, a parameter or a constant)
boolean ResolveSymbol_is_var | ( | ResolveSymbol_ptr | self | ) | [related] |
Checks if the symbol is a variable.
Checks if the symbol is a variable
void ResolveSymbol_print_error_message | ( | ResolveSymbol_ptr | self, | |
MasterPrinter_ptr | printer, | |||
FILE * | stream | |||
) | [related] |
Prints the error message, if any error occurred.
Prints the error message on the given stream, if any error occurred.
node_ptr ResolveSymbol_resolve | ( | ResolveSymbol_ptr | self, | |
struct SymbTable_TAG * | st, | |||
node_ptr | name, | |||
node_ptr | context | |||
) | [related] |
Resolves the given symbol in the given context, and returns it.
Resolves the given symbol in the given context, and returns it.
This function has to be called before any other function, since it initializes the internal structure. The internal structure is reset before doing anything else.
It is possible to get the resolved name later by calling get_resolved_name.
void ResolveSymbol_throw_error | ( | ResolveSymbol_ptr | self, | |
const NuSMVEnv_ptr | env | |||
) | [related] |
Throws an internal error if an error occurred.
Throws an internal error if an error occurred. The error MUST exist, so the function should be used in couple with ResolveSymbol_is_error. The printed message is taken using ResolveSymbol_get_error_message, and rpterr is used for throwing the error.