Marsyas  0.5.0-beta1
Public Member Functions
ExRecord Class Reference

A symbol table node that symbolises a path component to a record. More...

#include <ExSymTbl.h>

Inherits ExRefCount.

Public Member Functions

void addAliases (std::string path, std::string name)
void addRecord (std::string path, ExRecord *sym)
void addReserved (std::string path, ExFun *f)
void addReserved (std::string path, ExVal v, std::string nm="", int kind=T_CONST)
 ExRecord ()
 ExRecord (int kind)
 ExRecord (int kind, ExFun *fun, bool reserved)
 ExRecord (int kind, std::string name, ExVal &value, bool reserved)
std::string getElemType (std::string nm="")
ExFungetFunctionCopy (std::string nm="")
int getKind (std::string nm="")
ExRecordgetRecord (std::string nm)
std::string getType (std::string nm="")
ExVal getValue (std::string path="")
void import (std::string)
bool is_list ()
bool is_reserved (std::string nm="")
bool is_seq ()
bool params_compare (std::string a, std::string b)
void rmv_import (std::string)
ExRecordrmvRecord (std::string path)
void setValue (ExVal &v, std::string path="", int elem_pos=-1)
std::size_t size ()
virtual ~ExRecord ()

Detailed Description

A symbol table node that symbolises a path component to a record.

Author:
Neil Burroughs inb@cs.uvic.ca
Version:
1.0
Date:
Jan 01, 2007

A symbol table node that symbolises a path component to a record, i.e.:

 {.expr}
    Real.cos(mrs_real) := ExRecord("Real",ExRecord("cos(mrs_real)"))

A syntax is defined for adding functions as well as defining aliases to those functions. Adding and removing imports is also defined where an import is simply a shortcut that eliminates a portion of the start of the name.

Definition at line 60 of file ExSymTbl.h.


Constructor & Destructor Documentation

ExRecord ( )

Definition at line 25 of file ExSymTbl.cpp.

ExRecord ( int  kind)

Definition at line 31 of file ExSymTbl.cpp.

ExRecord ( int  kind,
ExFun fun,
bool  reserved 
)

Definition at line 38 of file ExSymTbl.cpp.

ExRecord ( int  kind,
std::string  name,
ExVal value,
bool  reserved 
)

Definition at line 45 of file ExSymTbl.cpp.

~ExRecord ( ) [virtual]

Definition at line 54 of file ExSymTbl.cpp.


Member Function Documentation

void addAliases ( std::string  path,
std::string  name 
)

Definition at line 259 of file ExSymTbl.cpp.

void addRecord ( std::string  path,
ExRecord sym 
)

Definition at line 271 of file ExSymTbl.cpp.

void addReserved ( std::string  path,
ExFun f 
)

Definition at line 361 of file ExSymTbl.cpp.

void addReserved ( std::string  path,
ExVal  v,
std::string  nm = "",
int  kind = T_CONST 
)

Definition at line 366 of file ExSymTbl.cpp.

std::string getElemType ( std::string  nm = "")

Definition at line 73 of file ExSymTbl.cpp.

ExFun * getFunctionCopy ( std::string  nm = "")

Definition at line 172 of file ExSymTbl.cpp.

int getKind ( std::string  nm = "")

Definition at line 82 of file ExSymTbl.cpp.

ExRecord * getRecord ( std::string  nm)

Definition at line 111 of file ExSymTbl.cpp.

std::string getType ( std::string  nm = "")

Definition at line 65 of file ExSymTbl.cpp.

ExVal getValue ( std::string  path = "")

Definition at line 416 of file ExSymTbl.cpp.

void import ( std::string  a)

Definition at line 424 of file ExSymTbl.cpp.

bool is_list ( )

Definition at line 99 of file ExSymTbl.cpp.

bool is_reserved ( std::string  nm = "")

Definition at line 91 of file ExSymTbl.cpp.

bool is_seq ( )

Definition at line 105 of file ExSymTbl.cpp.

bool params_compare ( std::string  a,
std::string  b 
)

Definition at line 123 of file ExSymTbl.cpp.

void rmv_import ( std::string  a)

Definition at line 434 of file ExSymTbl.cpp.

ExRecord * rmvRecord ( std::string  path)

Definition at line 319 of file ExSymTbl.cpp.

void setValue ( ExVal v,
std::string  path = "",
int  elem_pos = -1 
)

Definition at line 372 of file ExSymTbl.cpp.

std::size_t size ( ) [inline]

Definition at line 89 of file ExSymTbl.h.


The documentation for this class was generated from the following files: