Polaris: DoExpr Class Reference

DoExpr Class Reference

A derived class from Expression. More...

#include <DoExpr.h>

Inheritance diagram for DoExpr:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 DoExpr (Expression *iolist_exp, Expression *iterator_exp)
 DoExpr (const DoExpr &e)
virtual ~DoExpr ()
 Note: The following data fields are aliased: iolist = left iterator = right.
virtual DoExproperator= (const DoExpr &)
const Expressioniolist () const
Expressioniolist ()
void iolist (Expression *)
 Return a list of array references accessed by this expression.
const Expressioniterator () const
Expressioniterator ()
void iterator (Expression *)
 Return the iterator of the expression.
virtual Expressionclone () const
 Return a copy of myself.
virtual int structures_OK () const
 Return 1 if my structures are in a valid state.
virtual void convert (BinRep &exprSet, Symtab &symtab)
 Read in the values of my fields and my subexpressions from the given BinRep object.
virtual void print_debug (ostream &o, Boolean debug) const
 See Expression.h.
virtual int exchange_expr (VDL &vdl)
 Create a node in the "expression" member and return the index.

Protected Member Functions

 DoExpr ()

Friends

class ExprTable

Detailed Description

A derived class from Expression.

Polaris Expression

See also:
Expression/DoExpr.h

Expression/DoExpr.h

Expression/Expression.cc

Description

A DoExpr is the loop-like structure in an I/O statement with an index and an iterator-expression: "( A(I), I=1,100,3)".

USE: iolist must be a CommaExpr iterator must be an EqualExpr

Definition at line 31 of file DoExpr.h.


Constructor & Destructor Documentation

DoExpr::DoExpr Expression iolist_exp,
Expression iterator_exp
[inline]
 

Definition at line 77 of file DoExpr.h.

References COMMA_OP, DO_OP, EQUAL_OP, make_type(), and VOID_TYPE.

DoExpr::DoExpr const DoExpr e  )  [inline]
 

< nothing to do

Definition at line 89 of file DoExpr.h.

References e.

DoExpr::~DoExpr  )  [virtual]
 

Note: The following data fields are aliased: iolist = left iterator = right.

... nothing to do

Definition at line 4098 of file Expression.cc.

DoExpr::DoExpr  )  [inline, protected]
 

< nothing to do

Definition at line 70 of file DoExpr.h.

References DO_OP, make_type(), and VOID_TYPE.

Referenced by clone().


Member Function Documentation

DoExpr & DoExpr::operator= const DoExpr  )  [virtual]
 

Definition at line 4104 of file Expression.cc.

References e, and BinaryExpr::operator=().

const Expression & DoExpr::iolist  )  const [virtual]
 

Reimplemented from Expression.

Definition at line 4126 of file Expression.cc.

References BinaryExpr::_left_guarded().

Expression & DoExpr::iolist  )  [virtual]
 

Reimplemented from Expression.

Definition at line 4132 of file Expression.cc.

References BinaryExpr::_left_guarded().

void DoExpr::iolist Expression  )  [virtual]
 

Return a list of array references accessed by this expression.

The iolist must always be a CommaExpr.

Reimplemented from Expression.

Definition at line 4118 of file Expression.cc.

References BinaryExpr::_left(), COMMA_OP, e, and Expression::op().

const Expression & DoExpr::iterator  )  const [virtual]
 

Reimplemented from Expression.

Definition at line 4146 of file Expression.cc.

References BinaryExpr::_right_guarded().

Expression & DoExpr::iterator  )  [virtual]
 

Reimplemented from Expression.

Definition at line 4152 of file Expression.cc.

References BinaryExpr::_right_guarded().

void DoExpr::iterator Expression  )  [virtual]
 

Return the iterator of the expression.

The iterator must be an EqualExpr.

Reimplemented from Expression.

Definition at line 4138 of file Expression.cc.

References BinaryExpr::_right(), e, EQUAL_OP, and Expression::op().

Expression * DoExpr::clone  )  const [virtual]
 

Return a copy of myself.

Reimplemented from BinaryExpr.

Definition at line 4112 of file Expression.cc.

References DoExpr().

int DoExpr::structures_OK  )  const [virtual]
 

Return 1 if my structures are in a valid state.

Reimplemented from BinaryExpr.

Definition at line 4158 of file Expression.cc.

References True.

virtual void DoExpr::convert BinRep exprSet,
Symtab symtab
[virtual]
 

Read in the values of my fields and my subexpressions from the given BinRep object.

Convert(BinRep) expects the BinRep to be referencing an expression set of the same type as the expression. On return, all data from the expression set has been inserted into the appropriate fields in the expression object. NOTE that this converts the expression to an intermediate form which may contain TableExpr objects.

Reimplemented from BinaryExpr.

virtual void DoExpr::print_debug ostream &  o,
Boolean  debug
const [virtual]
 

See Expression.h.

Reimplemented from BinaryExpr.

int DoExpr::exchange_expr VDL vdl  )  [virtual]
 

Create a node in the "expression" member and return the index.

Reimplemented from BinaryExpr.

Definition at line 4165 of file Expression.cc.

References Expression::exchange_expr(), BinRep::find_ref(), Set< T >::ins(), List< T >::ins_last(), and BinRep::to_tuple().


Friends And Related Function Documentation

friend class ExprTable [friend]
 

Reimplemented from BinaryExpr.

Definition at line 32 of file DoExpr.h.


The documentation for this class was generated from the following files:
 © 1995-2005 University of Illinois, Urbana-Champaign. All rights reserved.  Fri Mar 25 23:07:14 2005