ResolveSymbol Struct Reference

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.

Detailed Description

Public interface of class 'ResolveSymbol'.

Author:
Marco Roveri Alessandro Mariotti Basic Routines for resolving a name

Definition of the public accessor for class ResolveSymbol


Friends And Related Function Documentation

ResolveSymbol_ptr ResolveSymbol_create ( void   )  [related]

The ResolveSymbol class constructor.

AutomaticStart

The ResolveSymbol class constructor

See also:
ResolveSymbol_destroy
void ResolveSymbol_destroy ( ResolveSymbol_ptr  self  )  [related]

The ResolveSymbol class destructor.

The ResolveSymbol class destructor

See also:
ResolveSymbol_create
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.

See also:
ResolveSymbol_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.

See also:
ResolveSymbol_get_error_message ResolveSymbol_is_error

The documentation for this struct was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 14 Oct 2015 for NuSMV Developers Manual by  doxygen 1.6.1