#include <cstdlib>
#include <cassert>
#include <vector>
#include <map>
#include <stdexcept>
#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_t & | symbol_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_t & | frame_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 (symbol_t symbol) |
Add symbol. | |
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) |
|
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. |
|
Add symbol. Notice that the symbol will be in two frames at the same time, but the symbol will only "point back" to the first frame it was added to. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Resolves the name in this frame or the parent frame and returns the corresponding symbol.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|