BinOperatorNode Class Reference

#include <OperatorNodes.h>

Inheritance diagram for BinOperatorNode:

BinNode Node PrintHelperNode List of all members.

Public Member Functions

 BinOperatorNode (const uint32 opcode, const uint32 offset)
 ~BinOperatorNode ()
void print_unk (Console &o, const uint32 isize) const
void print_asm (Console &o) const
void print_bin (ODequeDataSource &o) const
bool fold (DCUnit *unit, std::deque< Node * > &nodes)

Protected Types

 M_ADD
 M_SUB
 M_MUL
 M_CMP
 M_AND
 M_OR
 M_NE
 M_LT
 M_LE
 M_GT
 M_IMPLIES
enum  optype {
  M_ADD, M_SUB, M_MUL, M_CMP,
  M_AND, M_OR, M_NE, M_LT,
  M_LE, M_GT, M_IMPLIES
}

Protected Attributes

enum BinOperatorNode::optype otype

Detailed Description

Definition at line 151 of file OperatorNodes.h.


Member Enumeration Documentation

enum BinOperatorNode::optype [protected]

Enumerator:
M_ADD 
M_SUB 
M_MUL 
M_CMP 
M_AND 
M_OR 
M_NE 
M_LT 
M_LE 
M_GT 
M_IMPLIES 

Definition at line 186 of file OperatorNodes.h.


Constructor & Destructor Documentation

BinOperatorNode::BinOperatorNode ( const uint32  opcode,
const uint32  offset 
) [inline]

Definition at line 154 of file OperatorNodes.h.

References acceptOp(), M_ADD, M_AND, M_CMP, M_GT, M_IMPLIES, M_LE, M_LT, M_MUL, M_NE, M_OR, M_SUB, otype, Node::rtype(), and Type::T_WORD.

BinOperatorNode::~BinOperatorNode (  )  [inline]

Definition at line 178 of file OperatorNodes.h.


Member Function Documentation

bool BinOperatorNode::fold ( DCUnit unit,
std::deque< Node * > &  nodes 
) [virtual]

Implements Node.

Definition at line 516 of file OperatorNodes.cpp.

References acceptType(), Node::fold_linenum(), BinNode::grab_l(), BinNode::grab_r(), M_ADD, M_AND, M_CMP, M_GT, M_IMPLIES, M_LE, M_LT, M_MUL, M_NE, M_OR, M_SUB, otype, print_assert(), Node::rtype(), Type::T_BYTE, Type::T_PID, and Type::T_WORD.

void BinOperatorNode::print_asm ( Console o  )  const [virtual]

Reimplemented from Node.

Definition at line 461 of file OperatorNodes.cpp.

References BinNode::lnode, M_ADD, M_AND, M_CMP, M_GT, M_IMPLIES, M_LE, M_LT, M_MUL, M_NE, M_OR, M_SUB, otype, Node::print_asm(), Node::print_linenum_asm(), Console::Printf(), Console::Putchar(), BinNode::rnode, Node::rtype(), and Type::T_INVALID.

void BinOperatorNode::print_bin ( ODequeDataSource o  )  const [virtual]

Implements Node.

Definition at line 490 of file OperatorNodes.cpp.

References BinNode::lnode, M_ADD, M_AND, M_CMP, M_GT, M_IMPLIES, M_LE, M_LT, M_MUL, M_NE, M_OR, M_SUB, otype, Node::print_bin(), Node::print_linenum_bin(), BinNode::rnode, Node::rtype(), Type::T_INVALID, ODequeDataSource::write1(), and ODequeDataSource::write2().

void BinOperatorNode::print_unk ( Console o,
const uint32  isize 
) const [virtual]

Implements Node.

Definition at line 435 of file OperatorNodes.cpp.

References BinNode::lnode, M_ADD, M_AND, M_CMP, M_GT, M_IMPLIES, M_LE, M_LT, M_MUL, M_NE, M_OR, M_SUB, otype, Node::print_linenum_unk(), Node::print_unk(), Console::Printf(), BinNode::rnode, Node::rtype(), and Type::T_INVALID.


Member Data Documentation

enum BinOperatorNode::optype BinOperatorNode::otype [protected]

Referenced by BinOperatorNode(), fold(), print_asm(), print_bin(), and print_unk().


The documentation for this class was generated from the following files:
Generated on Fri Jul 27 22:28:45 2007 for pentagram by  doxygen 1.4.7