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
UserProc * getProc ()
 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

UserProc * m_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