Marsyas  0.5.0-beta1
Public Member Functions | Data Fields
ExParser Class Reference

#include <ExParser.h>

Public Member Functions

void AddOp (int &m)
void Alias (std::string &nm)
ExNodeassignment (ExNode *u, ExRecord *r)
void CName (std::string &nm)
void CondFact (ExNode **u)
void Condition (ExNode **u)
void CondTerm (ExNode **u)
std::string construct_signature (std::string nm, ExNode *params)
ExNodedo_addop (int m, ExNode *u, ExNode *v)
ExNodedo_alias (std::string anm, std::string cnm)
ExNodedo_asgn (std::string nm, ExNode *u)
ExNodedo_bool_negate (ExNode *v)
ExNodedo_casgn (std::string nm, ExNode *u)
ExNodedo_cmasgn (int atype, bool right_assign, std::string nm, ExNode *u)
ExNodedo_conditional (ExNode *cond, ExNode *ts, ExNode *es)
ExNodedo_condop (int o, ExNode *u, ExNode *v)
ExNodedo_getctrl (std::string nm)
ExNodedo_getelem (ExNode *u, ExNode *lidx, ExNode *ridx, bool is_range)
ExNodedo_iter (int iter_type, std::string var_nm, std::string ary_nm, ExNode *list, ExNode *exprs)
ExNodedo_link (std::string f, std::string t)
ExNodedo_list (bool is_empty, ExNode *u)
ExNodedo_masgn (int atype, bool right_assign, std::string nm, ExNode *u)
ExNodedo_msetelem (std::string key, ExNode *lidx, ExNode *ridx, bool is_range, bool right_assign, int atype, ExNode *u)
ExNodedo_mulop (int m, ExNode *u, ExNode *v)
ExNodedo_name (bool is_fun, std::string key, ExNode *params)
ExNodedo_num_negate (ExNode *u)
ExNodedo_property (ExNode *u, std::string key, ExNode *params)
ExNodedo_relop (int m, ExNode *u, ExNode *v)
ExNodedo_setelem (std::string key, ExNode *lidx, ExNode *ridx, bool is_range, ExNode *u)
void Elem (ExNode *&idx)
void ElemAccess (ExNode **u)
 ExParser (TmTimer **t, ExScanner *scanner)
void Expr (ExNode **u)
ExNodeexpr_append (ExNode *u, ExNode *v)
void Exprs (ExNode **u)
std::string exprs_type (ExNode *es)
void Factor (std::string &l, ExNode **u)
void FactorB (std::string &l, ExNode **u)
std::string getDefaultLib (std::string typ)
std::string getElemType (std::string nm)
ExNodegetFunctionCopy (std::string nm, ExNode *params)
int getKind (std::string nm)
ExNodegetTree ()
std::string getType (std::string nm)
bool in_colon ()
void Init ()
bool is_alias (std::string nm)
bool is_num (std::string n)
bool IsCNameRAsgnAlias ()
bool IsLAsgn ()
bool IsLink ()
void LAsgn (ExNode **u)
void LAsgnOp (int &type)
void Link (ExNode **u)
ExNodelist_append (ExNode *u, ExNode *v)
void ListElems (ExNode **u)
void Load ()
void MulOp (int &m)
void Name (std::string &nm)
void Neil ()
void Parse ()
void Parse (Scheduler *v, MarSystem *m, ExRecord *est)
std::string prep_string (std::string s)
void Property (ExNode **u)
void RAsgn (ExNode **u)
void RAsgnOp (int &type)
void RelOp (int &m)
void SemErr (char *msg)
void Sequence (std::string &l, ExNode **u)
void Task (ExNode **u)
void Term (ExNode **u)
void UL ()
void Use ()
 ~ExParser ()

Data Fields

std::map< std::string,
std::string > 
aliases_
Tokenla
MarSystemmarsystem_
ExScannerscanner
Schedulerscheduler_
ExSymTbl symbol_table
Tokent
TmTimer ** timer_
ExNodetree

Detailed Description

Definition at line 35 of file ExParser.h.


Constructor & Destructor Documentation

ExParser ( TmTimer **  t,
ExScanner scanner 
)

Definition at line 701 of file ExParser.cpp.

~ExParser ( )

Definition at line 781 of file ExParser.cpp.


Member Function Documentation

void AddOp ( int &  m)

Definition at line 67 of file ExParser.cpp.

void Alias ( std::string &  nm)

Definition at line 52 of file ExParser.cpp.

ExNode* assignment ( ExNode u,
ExRecord r 
) [inline]

Definition at line 280 of file ExParser.h.

void CName ( std::string &  nm)

Definition at line 62 of file ExParser.cpp.

void CondFact ( ExNode **  u)

Definition at line 370 of file ExParser.cpp.

void Condition ( ExNode **  u)

Definition at line 344 of file ExParser.cpp.

void CondTerm ( ExNode **  u)

Definition at line 359 of file ExParser.cpp.

std::string construct_signature ( std::string  nm,
ExNode params 
) [inline]

Definition at line 256 of file ExParser.h.

ExNode* do_addop ( int  m,
ExNode u,
ExNode v 
) [inline]

Definition at line 424 of file ExParser.h.

ExNode* do_alias ( std::string  anm,
std::string  cnm 
) [inline]

Definition at line 323 of file ExParser.h.

ExNode* do_asgn ( std::string  nm,
ExNode u 
) [inline]

Definition at line 291 of file ExParser.h.

ExNode* do_bool_negate ( ExNode v) [inline]

Definition at line 547 of file ExParser.h.

ExNode* do_casgn ( std::string  nm,
ExNode u 
) [inline]

Definition at line 324 of file ExParser.h.

ExNode* do_cmasgn ( int  atype,
bool  right_assign,
std::string  nm,
ExNode u 
) [inline]

Definition at line 364 of file ExParser.h.

ExNode* do_conditional ( ExNode cond,
ExNode ts,
ExNode es 
) [inline]

Definition at line 570 of file ExParser.h.

ExNode* do_condop ( int  o,
ExNode u,
ExNode v 
) [inline]

Definition at line 553 of file ExParser.h.

ExNode* do_getctrl ( std::string  nm) [inline]

Definition at line 376 of file ExParser.h.

ExNode* do_getelem ( ExNode u,
ExNode lidx,
ExNode ridx,
bool  is_range 
) [inline]

Definition at line 662 of file ExParser.h.

ExNode* do_iter ( int  iter_type,
std::string  var_nm,
std::string  ary_nm,
ExNode list,
ExNode exprs 
) [inline]

Definition at line 746 of file ExParser.h.

ExNode* do_link ( std::string  f,
std::string  t 
) [inline]

Definition at line 586 of file ExParser.h.

ExNode* do_list ( bool  is_empty,
ExNode u 
) [inline]

Definition at line 738 of file ExParser.h.

ExNode* do_masgn ( int  atype,
bool  right_assign,
std::string  nm,
ExNode u 
) [inline]

Definition at line 304 of file ExParser.h.

ExNode* do_msetelem ( std::string  key,
ExNode lidx,
ExNode ridx,
bool  is_range,
bool  right_assign,
int  atype,
ExNode u 
) [inline]

Definition at line 702 of file ExParser.h.

ExNode* do_mulop ( int  m,
ExNode u,
ExNode v 
) [inline]

Definition at line 395 of file ExParser.h.

ExNode* do_name ( bool  is_fun,
std::string  key,
ExNode params 
) [inline]

Definition at line 609 of file ExParser.h.

ExNode* do_num_negate ( ExNode u) [inline]

Definition at line 498 of file ExParser.h.

ExNode* do_property ( ExNode u,
std::string  key,
ExNode params 
) [inline]

for example: Real.pi or Timer.cur

for example: Real.pi or Timer.cur

Definition at line 627 of file ExParser.h.

ExNode* do_relop ( int  m,
ExNode u,
ExNode v 
) [inline]

Definition at line 512 of file ExParser.h.

ExNode* do_setelem ( std::string  key,
ExNode lidx,
ExNode ridx,
bool  is_range,
ExNode u 
) [inline]

Definition at line 676 of file ExParser.h.

void Elem ( ExNode *&  idx)

Definition at line 636 of file ExParser.cpp.

void ElemAccess ( ExNode **  u)

Definition at line 486 of file ExParser.cpp.

void Expr ( ExNode **  u)

Definition at line 381 of file ExParser.cpp.

ExNode* expr_append ( ExNode u,
ExNode v 
) [inline]

Definition at line 244 of file ExParser.h.

void Exprs ( ExNode **  u)

Definition at line 208 of file ExParser.cpp.

std::string exprs_type ( ExNode es) [inline]

Definition at line 250 of file ExParser.h.

void Factor ( std::string &  l,
ExNode **  u 
)

Definition at line 425 of file ExParser.cpp.

void FactorB ( std::string &  l,
ExNode **  u 
)

Definition at line 524 of file ExParser.cpp.

std::string getDefaultLib ( std::string  typ) [inline]

Definition at line 231 of file ExParser.h.

std::string getElemType ( std::string  nm) [inline]

Definition at line 226 of file ExParser.h.

ExNode* getFunctionCopy ( std::string  nm,
ExNode params 
) [inline]

Definition at line 199 of file ExParser.h.

int getKind ( std::string  nm) [inline]

Definition at line 216 of file ExParser.h.

ExNode* getTree ( ) [inline]

Definition at line 110 of file ExParser.h.

std::string getType ( std::string  nm) [inline]

Definition at line 221 of file ExParser.h.

bool in_colon ( ) [inline]

Definition at line 162 of file ExParser.h.

void Init ( ) [inline]

Definition at line 190 of file ExParser.h.

bool is_alias ( std::string  nm) [inline]

Definition at line 272 of file ExParser.h.

bool is_num ( std::string  n) [inline]

Definition at line 273 of file ExParser.h.

bool IsCNameRAsgnAlias ( ) [inline]

Definition at line 147 of file ExParser.h.

bool IsLAsgn ( ) [inline]

Definition at line 119 of file ExParser.h.

bool IsLink ( ) [inline]

Definition at line 154 of file ExParser.h.

void LAsgn ( ExNode **  u)

Definition at line 230 of file ExParser.cpp.

void LAsgnOp ( int &  type)

Definition at line 126 of file ExParser.cpp.

void Link ( ExNode **  u)

Definition at line 279 of file ExParser.cpp.

ExNode* list_append ( ExNode u,
ExNode v 
) [inline]

Definition at line 728 of file ExParser.h.

void ListElems ( ExNode **  u)

Definition at line 467 of file ExParser.cpp.

void Load ( )

Definition at line 657 of file ExParser.cpp.

void MulOp ( int &  m)

Definition at line 77 of file ExParser.cpp.

void Name ( std::string &  nm)

Definition at line 57 of file ExParser.cpp.

void Neil ( )

Definition at line 672 of file ExParser.cpp.

void Parse ( )

Definition at line 683 of file ExParser.cpp.

void Parse ( Scheduler v,
MarSystem m,
ExRecord est 
)

Definition at line 694 of file ExParser.cpp.

std::string prep_string ( std::string  s) [inline]

Definition at line 174 of file ExParser.h.

void Property ( ExNode **  u)

Definition at line 407 of file ExParser.cpp.

void RAsgn ( ExNode **  u)

Definition at line 293 of file ExParser.cpp.

void RAsgnOp ( int &  type)

Definition at line 167 of file ExParser.cpp.

void RelOp ( int &  m)

Definition at line 90 of file ExParser.cpp.

void SemErr ( char *  msg)

Definition at line 884 of file ExParser.cpp.

void Sequence ( std::string &  l,
ExNode **  u 
)

Definition at line 477 of file ExParser.cpp.

void Task ( ExNode **  u)

Definition at line 219 of file ExParser.cpp.

void Term ( ExNode **  u)

Definition at line 396 of file ExParser.cpp.

void UL ( )

Definition at line 664 of file ExParser.cpp.

void Use ( )

Definition at line 649 of file ExParser.cpp.


Field Documentation

std::map<std::string,std::string> aliases_

Definition at line 112 of file ExParser.h.

Definition at line 107 of file ExParser.h.

Definition at line 115 of file ExParser.h.

Definition at line 104 of file ExParser.h.

Definition at line 116 of file ExParser.h.

Definition at line 113 of file ExParser.h.

Token* t

Definition at line 106 of file ExParser.h.

Definition at line 117 of file ExParser.h.

Definition at line 109 of file ExParser.h.


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