expression_integer_division Class Reference

#include <integer_division.h>

Inheritance diagram for expression_integer_division:

expression expression_integer_division_compile expression_integer_division_pretty List of all members.

Public Member Functions

virtual ~expression_integer_division ()
 expression_integer_division (const expression::pointer &lhs, const expression::pointer &rhs)

Protected Member Functions

int get_precedence () const
void traversal (int pprec)
type::pointer get_type () const
bool is_lvalue () const
side_effect_t has_side_effect () const
bool is_constant () const
virtual void pre_order_traversal (int pprec)
virtual void infix_order_traversal (int pprec)
virtual void post_order_traversal (int pprec)
expression::pointer get_lhs () const
expression::pointer get_rhs () const

Private Member Functions

 expression_integer_division ()
 expression_integer_division (const expression_integer_division &)
expression_integer_divisionoperator= (const expression_integer_division &)

Private Attributes

expression::pointer lhs
expression::pointer rhs

Detailed Description

The expression_integer_division class is used to represent an abstract integer_division expression node.

Definition at line 30 of file integer_division.h.


Constructor & Destructor Documentation

virtual expression_integer_division::~expression_integer_division (  )  [virtual]

The destructor.

expression_integer_division::expression_integer_division ( const expression::pointer lhs,
const expression::pointer rhs 
)

The constructor.

expression_integer_division::expression_integer_division (  )  [private]

The default constructor. Do not use.

expression_integer_division::expression_integer_division ( const expression_integer_division  )  [private]

The copy constructor. Do not use.


Member Function Documentation

int expression_integer_division::get_precedence (  )  const [protected, virtual]

The get_precedence method is used to obtain the precedence of this expression node.

The highest precedence has the highest absolute value, the lowest precedence gets the lowest absolute value.

Implements expression.

void expression_integer_division::traversal ( int  pprec  )  [protected, virtual]

The traversal method may be used to traverse each of the declaractions in the list.

Parameters:
pprec The precedence of the parent expression node.

Implements expression.

type::pointer expression_integer_division::get_type (  )  const [protected, virtual]

The get_type method is used to get the type of this expression.

Implements expression.

bool expression_integer_division::is_lvalue (  )  const [protected, virtual]

The is_lvalue method is used to determine whether or not this expression is suitable to appear on the left hand side of an assignment expression.

Implements expression.

side_effect_t expression_integer_division::has_side_effect (  )  const [protected, virtual]

The has_side_effect method is used to determine if an expression has any effect. It is used by the parse to produce "statement with no effect" warnings.

Implements expression.

bool expression_integer_division::is_constant (  )  const [protected, virtual]

The is_constant method may be used to determine whether this expression node is a constant, or this tree would evaluate to a constant.

The default implementation is conservative, and always returns false.

Returns:
bool; true if constant, false if not.

Reimplemented from expression.

virtual void expression_integer_division::pre_order_traversal ( int  pprec  )  [protected, virtual]

The pre_order_traversal method is used to perform actions required before the left hand expression is traversed.

Parameters:
pprec The parent expressions precedence. Not much use to code generators, but essential for pretty printers to get the parentheses correct.

Reimplemented in expression_integer_division_pretty.

virtual void expression_integer_division::infix_order_traversal ( int  pprec  )  [protected, virtual]

The infix_order_traversal method is used to perform actions required between the left and right hand expression traversals.

Parameters:
pprec The parent expressions precedence.

Reimplemented in expression_integer_division_pretty.

virtual void expression_integer_division::post_order_traversal ( int  pprec  )  [protected, virtual]

The post_order_traversal method is used to perform actions required after the right hand expression has been traversed.

Parameters:
pprec The parent expressions precedence. Not much use to code generators, but essential for pretty printers to get the parentheses correct.

Reimplemented in expression_integer_division_compile, and expression_integer_division_pretty.

expression::pointer expression_integer_division::get_lhs (  )  const [inline, protected]

Definition at line 95 of file integer_division.h.

References lhs.

expression::pointer expression_integer_division::get_rhs (  )  const [inline, protected]

Definition at line 96 of file integer_division.h.

References rhs.

expression_integer_division& expression_integer_division::operator= ( const expression_integer_division  )  [private]

The assignment operator. Do not use.


Member Data Documentation

expression::pointer expression_integer_division::lhs [private]

Definition at line 99 of file integer_division.h.

Referenced by get_lhs().

expression::pointer expression_integer_division::rhs [private]

Definition at line 100 of file integer_division.h.

Referenced by get_rhs().


The documentation for this class was generated from the following file:
Generated on Sun Feb 25 01:27:12 2007 for UCSDp-SystemCrossCompiler by  doxygen 1.5.1