Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

symbols.cpp File Reference

#include <cstdlib>
#include <cassert>
#include <vector>
#include <map>
#include "utap/symbols.h"
#include "utap/expression.h"

Functions

 symbol_t::symbol_t ()
 symbol_t::symbol_t (void *frame, type_t &type, string name, void *user)
 symbol_t::symbol_t (const symbol_t &symbol)
 symbol_t::~symbol_t ()
const symbol_tsymbol_t::operator= (const symbol_t &symbol)
bool symbol_t::operator== (const symbol_t &symbol) const
bool symbol_t::operator!= (const symbol_t &symbol) const
bool symbol_t::operator< (const symbol_t &symbol) const
frame_t symbol_t::getFrame ()
type_t symbol_t::getType () const
void symbol_t::setType (type_t type)
void * symbol_t::getData ()
string symbol_t::getName () const
void symbol_t::setData (void *value)
 frame_t::frame_t ()
 frame_t::frame_t (void *p)
 frame_t::frame_t (const frame_t &frame)
 frame_t::~frame_t ()
const frame_tframe_t::operator= (const frame_t &frame)
bool frame_t::operator== (const frame_t &frame) const
bool frame_t::operator!= (const frame_t &frame) const
uint32_t frame_t::getSize () const
symbol_t frame_t::getSymbol (int32_t n)
symbol_t frame_t::operator[] (int32_t n)
symbol_t frame_t::addSymbol (string name, type_t type, void *user)
void frame_t::add (frame_t frame)
 Add all symbols in the given frame.
int32_t frame_t::getIndexOf (string name) const
bool frame_t::resolve (string name, symbol_t &symbol)
 Resolves the name in this frame or the parent frame and returns the corresponding symbol.
frame_t frame_t::getParent () throw (NoParentException)
bool frame_t::hasParent () const
frame_t frame_t::createFrame ()
frame_t frame_t::createFrame (const frame_t &parent)
 type_t::type_t ()
 Default constructor.
 type_t::type_t (void *p)
 type_t::type_t (const type_t &type)
 type_t::~type_t ()
const type_ttype_t::operator= (const type_t &type)
bool type_t::operator== (const type_t &type) const
bool type_t::operator!= (const type_t &type) const
type_t type_t::getBase () const
frame_t type_t::getRecordFields () const
 Returns the fields of a record type.
frame_t type_t::getParameters () const
 Returns the arguments of a function or template type.
frame_t type_t::getFrame () const
 Polymorphic version of getRecordFields() and getParameters().
type_t type_t::getSub ()
 Returns the sub-type of this type.
type_t type_t::getReturnType ()
type_t type_t::getArraySize () const
bool type_t::hasPrefix (prefix::prefix_t prefix) const
type_t type_t::setPrefix (bool set, prefix::prefix_t prefix) const
 If 'set' is true, the prefix is set; otherwise it is cleared.
pair< expression_t, expression_ttype_t::getRange () const
type_t type_t::createInteger (expression_t lower, expression_t upper)
type_t type_t::createScalarSet (expression_t lower, expression_t upper)
type_t type_t::createRecord (frame_t frame)
type_t type_t::createFunction (frame_t arguments, type_t ret)
type_t type_t::createArray (type_t size, type_t type)
type_t type_t::createTypeName (type_t type)
type_t type_t::createTemplate (frame_t frame)
type_t type_t::createProcess (frame_t frame)
type_t type_t::createBase ()
string type_t::toString ()
ostream & operator<< (ostream &o, type_t t)

Function Documentation

void frame_t::add frame_t  frame  ) 
 

Add all symbols in the given frame.

Notice that the symbols will be in two frames at the same time, but the symbol will only "point back" to the first frame it was added to.

symbol_t frame_t::addSymbol string  name,
type_t  type,
void *  user
 

frame_t frame_t::createFrame const frame_t parent  ) 
 

frame_t frame_t::createFrame  ) 
 

frame_t::frame_t const frame_t frame  ) 
 

frame_t::frame_t void *  p  ) 
 

frame_t::frame_t  ) 
 

int32_t frame_t::getIndexOf string  name  )  const
 

frame_t frame_t::getParent  )  throw (NoParentException)
 

uint32_t frame_t::getSize  )  const
 

symbol_t frame_t::getSymbol int32_t  n  ) 
 

bool frame_t::hasParent  )  const
 

bool frame_t::operator!= const frame_t frame  )  const
 

const frame_t& frame_t::operator= const frame_t frame  ) 
 

bool frame_t::operator== const frame_t frame  )  const
 

symbol_t frame_t::operator[] int32_t  n  ) 
 

bool frame_t::resolve string  name,
symbol_t symbol
 

Resolves the name in this frame or the parent frame and returns the corresponding symbol.

frame_t::~frame_t  ) 
 

ostream& operator<< ostream &  o,
type_t  t
 

void* symbol_t::getData  ) 
 

frame_t symbol_t::getFrame  ) 
 

string symbol_t::getName  )  const
 

type_t symbol_t::getType  )  const
 

bool symbol_t::operator!= const symbol_t symbol  )  const
 

bool symbol_t::operator< const symbol_t symbol  )  const
 

const symbol_t& symbol_t::operator= const symbol_t symbol  ) 
 

bool symbol_t::operator== const symbol_t symbol  )  const
 

void symbol_t::setData void *  value  ) 
 

void symbol_t::setType type_t  type  ) 
 

symbol_t::symbol_t const symbol_t symbol  ) 
 

symbol_t::symbol_t void *  frame,
type_t type,
string  name,
void *  user
 

symbol_t::symbol_t  ) 
 

symbol_t::~symbol_t  ) 
 

type_t type_t::createArray type_t  size,
type_t  type
 

type_t type_t::createBase  ) 
 

type_t type_t::createFunction frame_t  arguments,
type_t  ret
 

type_t type_t::createInteger expression_t  lower,
expression_t  upper
 

type_t type_t::createProcess frame_t  frame  ) 
 

type_t type_t::createRecord frame_t  frame  ) 
 

type_t type_t::createScalarSet expression_t  lower,
expression_t  upper
 

type_t type_t::createTemplate frame_t  frame  ) 
 

type_t type_t::createTypeName type_t  type  ) 
 

type_t type_t::getArraySize  )  const
 

type_t type_t::getBase  )  const
 

frame_t type_t::getFrame  )  const
 

Polymorphic version of getRecordFields() and getParameters().

The frame returned must not be modified (since type objects are supposed to be immutable).

frame_t type_t::getParameters  )  const
 

Returns the arguments of a function or template type.

See also getFrame().

pair<expression_t, expression_t> type_t::getRange  )  const
 

frame_t type_t::getRecordFields  )  const
 

Returns the fields of a record type.

See also getFrame().

type_t type_t::getReturnType  ) 
 

type_t type_t::getSub  ) 
 

Returns the sub-type of this type.

For functions, this is the return value. For arrays, this is type type of the array elements.

bool type_t::hasPrefix prefix::prefix_t  prefix  )  const
 

bool type_t::operator!= const type_t type  )  const
 

const type_t& type_t::operator= const type_t type  ) 
 

bool type_t::operator== const type_t type  )  const
 

type_t type_t::setPrefix bool  set,
prefix::prefix_t  prefix
const
 

If 'set' is true, the prefix is set; otherwise it is cleared.

The type itself is not altered, but a new type corresponding to the change is returned.

string type_t::toString  ) 
 

type_t::type_t const type_t type  ) 
 

type_t::type_t void *  p  ) 
 

type_t::type_t  ) 
 

Default constructor.

This creates the equivalent of a NULL pointer.

type_t::~type_t  ) 
 


Generated on Thu Nov 10 13:16:12 2005 for libutap by  doxygen 1.4.2