expression_logical_or_compile Class Reference

#include <compile.h>

Inheritance diagram for expression_logical_or_compile:

expression_logical_or expression List of all members.

Public Member Functions

virtual ~expression_logical_or_compile ()
 expression_logical_or_compile (const expression::pointer &lhs, const expression::pointer &rhs, translator_compile *cntxt)

Protected Member Functions

expression::pointer optimize () const

Private Member Functions

 expression_logical_or_compile ()
 expression_logical_or_compile (const expression_logical_or_compile &)
expression_logical_or_compileoperator= (const expression_logical_or_compile &)

Private Attributes

translator_compilecode

Detailed Description

The expression_logical_or_compile class is used to represent the code generation for a logical OR expression.

Definition at line 32 of file compile.h.


Constructor & Destructor Documentation

virtual expression_logical_or_compile::~expression_logical_or_compile (  )  [virtual]

The destructor.

expression_logical_or_compile::expression_logical_or_compile ( const expression::pointer lhs,
const expression::pointer rhs,
translator_compile cntxt 
)

The constructor.

expression_logical_or_compile::expression_logical_or_compile (  )  [private]

The default constructor.

expression_logical_or_compile::expression_logical_or_compile ( const expression_logical_or_compile  )  [private]

The copy constructor.


Member Function Documentation

expression::pointer expression_logical_or_compile::optimize (  )  const [protected, virtual]

The optimize method may be used to evaluate constant expressions, or substitute more efficient expressions.

This is intended to be called by the translator:: expression_statement method, or similar, where the expression is in its final form, and will get no deeper. In other words, when all available information has been provided.

There is no default implementation, even though most optimize implementations return self(), because this gives the compiler no opportunity to remind the authors of new classes that they have forgotten something.

Returns:
If the expression tree is not constant, or it is already as reduced as it can get, it returns itself. Otherwise, it returns a new expression node.

Implements expression.

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

The assignment operator.


Member Data Documentation

translator_compile& expression_logical_or_compile::code [private]

The code instance variabel is used to remember where to send our generated code.

Definition at line 56 of file compile.h.


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