expression_function_call_odd Class Reference

#include <odd.h>

Inheritance diagram for expression_function_call_odd:

expression_function_call expression List of all members.

Public Member Functions

virtual ~expression_function_call_odd ()
 expression_function_call_odd (expression_list *args, translator_compile *cntxt)

Protected Member Functions

expression::pointer optimize () const
type::pointer get_type () const
void logical_traversal (int pprec, label::pointer &true_branch, label::pointer &false_branch, bool fall_through_preference)

Private Member Functions

 expression_function_call_odd ()
 expression_function_call_odd (const expression_function_call_odd &)
expression_function_call_oddoperator= (const expression_function_call_odd &)

Private Attributes

translator_compilecode

Detailed Description

The expression_function_call_odd class is used to represent an a call of the builtin "odd" function.

Definition at line 32 of file odd.h.


Constructor & Destructor Documentation

virtual expression_function_call_odd::~expression_function_call_odd (  )  [virtual]

The destructor.

expression_function_call_odd::expression_function_call_odd ( expression_list args,
translator_compile cntxt 
)

The constructor.

expression_function_call_odd::expression_function_call_odd (  )  [private]

The default constructor. Do not use.

expression_function_call_odd::expression_function_call_odd ( const expression_function_call_odd  )  [private]

The copy constructor. Do not use.


Member Function Documentation

expression::pointer expression_function_call_odd::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.

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

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

Reimplemented from expression_function_call.

void expression_function_call_odd::logical_traversal ( int  pprec,
label::pointer true_branch,
label::pointer false_branch,
bool  fall_through_preference 
) [protected]

Reimplemented from expression_function_call.

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

The assignment operator. Do not use.


Member Data Documentation

translator_compile& expression_function_call_odd::code [private]

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

Definition at line 63 of file odd.h.


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