HLLCode Class Reference

#include <include/hllcode.h>

Inheritance diagram for HLLCode:

CHLLCode List of all members.

Detailed Description

Definition at line 44 of file hllcode.h.

Public Member Functions

virtual void AddAssignmentStatement (int indLevel, Assign *s)=0
virtual void AddBreak (int indLevel)=0
virtual void AddCallStatement (int indLevel, Proc *proc, const char *name, StatementList &args, StatementList *results)=0
virtual void AddCaseCondElse (int indLevel)=0
virtual void AddCaseCondEnd (int indLevel)=0
virtual void AddCaseCondHeader (int indLevel, Exp *cond)=0
virtual void AddCaseCondOption (int indLevel, Exp *opt)=0
virtual void AddCaseCondOptionEnd (int indLevel)=0
virtual void AddContinue (int indLevel)=0
virtual void AddEndlessLoopEnd (int indLevel)=0
virtual void AddEndlessLoopHeader (int indLevel)=0
virtual void AddGlobal (const char *name, Type *type, Exp *init=NULL)=0
virtual void AddGoto (int indLevel, int ord)=0
virtual void AddIfCondEnd (int indLevel)=0
virtual void AddIfCondHeader (int indLevel, Exp *cond)=0
virtual void AddIfElseCondEnd (int indLevel)=0
virtual void AddIfElseCondHeader (int indLevel, Exp *cond)=0
virtual void AddIfElseCondOption (int indLevel)=0
virtual void AddIndCallStatement (int indLevel, Exp *exp, StatementList &args, StatementList *results)=0
virtual void AddLabel (int indLevel, int ord)=0
virtual void AddLineComment (char *cmt)=0
virtual void AddLocal (const char *name, Type *type, bool last=false)=0
virtual void AddPosttestedLoopEnd (int indLevel, Exp *cond)=0
virtual void AddPosttestedLoopHeader (int indLevel)=0
virtual void AddPretestedLoopEnd (int indLevel)=0
virtual void AddPretestedLoopHeader (int indLevel, Exp *cond)=0
virtual void AddProcEnd ()=0
virtual void AddProcStart (UserProc *proc)=0
virtual void AddPrototype (UserProc *proc)=0
virtual void AddReturnStatement (int indLevel, StatementList *rets)=0
UserProcgetProc ()
 HLLCode (UserProc *p)
 HLLCode ()
virtual void print (std::ostream &os)=0
virtual void RemoveLabel (int ord)=0
virtual void RemoveUnusedLabels (int maxOrd)=0
virtual void reset ()
void setProc (UserProc *p)
virtual ~HLLCode ()

Protected Attributes

UserProcm_proc


Constructor & Destructor Documentation

HLLCode::HLLCode  )  [inline]
 

Definition at line 50 of file hllcode.h.

HLLCode::HLLCode UserProc p  )  [inline]
 

Definition at line 51 of file hllcode.h.

virtual HLLCode::~HLLCode  )  [inline, virtual]
 

Definition at line 54 of file hllcode.h.


Member Function Documentation

virtual void HLLCode::AddAssignmentStatement int  indLevel,
Assign s
[pure virtual]
 

Implemented in CHLLCode.

Referenced by Assign::generateCode(), and BoolAssign::generateCode().

virtual void HLLCode::AddBreak int  indLevel  )  [pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::emitGotoAndLabel().

virtual void HLLCode::AddCallStatement int  indLevel,
Proc proc,
const char *  name,
StatementList args,
StatementList results
[pure virtual]
 

Implemented in CHLLCode.

virtual void HLLCode::AddCaseCondElse int  indLevel  )  [pure virtual]
 

Implemented in CHLLCode.

virtual void HLLCode::AddCaseCondEnd int  indLevel  )  [pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::generateCode().

virtual void HLLCode::AddCaseCondHeader int  indLevel,
Exp cond
[pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::generateCode().

virtual void HLLCode::AddCaseCondOption int  indLevel,
Exp opt
[pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::generateCode().

virtual void HLLCode::AddCaseCondOptionEnd int  indLevel  )  [pure virtual]
 

Implemented in CHLLCode.

virtual void HLLCode::AddContinue int  indLevel  )  [pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::emitGotoAndLabel().

virtual void HLLCode::AddEndlessLoopEnd int  indLevel  )  [pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::generateCode().

virtual void HLLCode::AddEndlessLoopHeader int  indLevel  )  [pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::generateCode().

virtual void HLLCode::AddGlobal const char *  name,
Type type,
Exp init = NULL
[pure virtual]
 

Implemented in CHLLCode.

Referenced by Prog::generateCode().

virtual void HLLCode::AddGoto int  indLevel,
int  ord
[pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::emitGotoAndLabel().

virtual void HLLCode::AddIfCondEnd int  indLevel  )  [pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::generateCode().

virtual void HLLCode::AddIfCondHeader int  indLevel,
Exp cond
[pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::generateCode().

virtual void HLLCode::AddIfElseCondEnd int  indLevel  )  [pure virtual]
 

Implemented in CHLLCode.

virtual void HLLCode::AddIfElseCondHeader int  indLevel,
Exp cond
[pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::generateCode().

virtual void HLLCode::AddIfElseCondOption int  indLevel  )  [pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::generateCode().

virtual void HLLCode::AddIndCallStatement int  indLevel,
Exp exp,
StatementList args,
StatementList results
[pure virtual]
 

Implemented in CHLLCode.

Referenced by CallStatement::generateCode().

virtual void HLLCode::AddLabel int  indLevel,
int  ord
[pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::WriteBB().

virtual void HLLCode::AddLineComment char *  cmt  )  [pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::generateCode().

virtual void HLLCode::AddLocal const char *  name,
Type type,
bool  last = false
[pure virtual]
 

Implemented in CHLLCode.

Referenced by UserProc::generateCode().

virtual void HLLCode::AddPosttestedLoopEnd int  indLevel,
Exp cond
[pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::generateCode().

virtual void HLLCode::AddPosttestedLoopHeader int  indLevel  )  [pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::generateCode().

virtual void HLLCode::AddPretestedLoopEnd int  indLevel  )  [pure virtual]
 

Implemented in CHLLCode.

virtual void HLLCode::AddPretestedLoopHeader int  indLevel,
Exp cond
[pure virtual]
 

Implemented in CHLLCode.

Referenced by BasicBlock::generateCode().

virtual void HLLCode::AddProcEnd  )  [pure virtual]
 

Implemented in CHLLCode.

virtual void HLLCode::AddProcStart UserProc proc  )  [pure virtual]
 

Implemented in CHLLCode.

Referenced by UserProc::generateCode().

virtual void HLLCode::AddPrototype UserProc proc  )  [pure virtual]
 

Implemented in CHLLCode.

virtual void HLLCode::AddReturnStatement int  indLevel,
StatementList rets
[pure virtual]
 

Implemented in CHLLCode.

Referenced by ReturnStatement::generateCode().

UserProc* HLLCode::getProc  )  [inline]
 

Definition at line 61 of file hllcode.h.

References m_proc.

virtual void HLLCode::print std::ostream &  os  )  [pure virtual]
 

Implemented in CHLLCode.

virtual void HLLCode::RemoveLabel int  ord  )  [pure virtual]
 

Implemented in CHLLCode.

virtual void HLLCode::RemoveUnusedLabels int  maxOrd  )  [pure virtual]
 

Implemented in CHLLCode.

Referenced by Cfg::removeUnneededLabels().

virtual void HLLCode::reset void   )  [inline, virtual]
 

Reimplemented in CHLLCode.

Definition at line 57 of file hllcode.h.

void HLLCode::setProc UserProc p  )  [inline]
 

Definition at line 62 of file hllcode.h.

References m_proc.


Member Data Documentation

UserProc* HLLCode::m_proc [protected]
 

Definition at line 46 of file hllcode.h.

Referenced by CHLLCode::AddAssignmentStatement(), CHLLCode::AddLocal(), CHLLCode::AddReturnStatement(), CHLLCode::appendExp(), getProc(), CHLLCode::print(), and setProc().


The documentation for this class was generated from the following file:
Generated on Tue Sep 19 21:18:42 2006 for Boomerang by  doxygen 1.4.6