statement_writeln Class Reference

#include <writeln.h>

Inheritance diagram for statement_writeln:

statement statement_writeln_compile statement_writeln_pretty List of all members.

Public Member Functions

virtual ~statement_writeln ()
 statement_writeln (expression_list *elp)
void traversal ()
bool execution_flows_out () const

Protected Member Functions

bool has_args () const
virtual void pre_order_traversal ()
virtual void infix_order_traversal (const expression::pointer &ep, bool last)
virtual void post_order_traversal ()

Private Member Functions

 statement_writeln ()
 statement_writeln (const statement_writeln &)
statement_writelnoperator= (const statement_writeln &)

Private Attributes

expression_listelp

Detailed Description

The statement_writeln class is used to represent a writeln statement, which has wierd syntax and semantics compared to a more usual Pascal procedure call.

Definition at line 33 of file writeln.h.


Constructor & Destructor Documentation

virtual statement_writeln::~statement_writeln (  )  [virtual]

The destructor.

statement_writeln::statement_writeln ( expression_list elp  ) 

The constructor.

statement_writeln::statement_writeln (  )  [private]

The default constructor. Do not use.

statement_writeln::statement_writeln ( const statement_writeln  )  [private]

The copy constructor. Do not use.


Member Function Documentation

void statement_writeln::traversal (  )  [virtual]

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

Implements statement.

bool statement_writeln::execution_flows_out (  )  const [virtual]

The execution_flows_out method may be used to determine whether the flow of execution, having entered this statement, can ever flow out again.

Returns:
true if exection flows out, false if it does not.
Note:
Where the answer is indeterminate, true is returned.

Implements statement.

bool statement_writeln::has_args (  )  const [inline, protected]

The has_args method is used to determine whether or not this call has arguemnts.

Definition at line 58 of file writeln.h.

References elp, and expression_list::empty().

virtual void statement_writeln::pre_order_traversal (  )  [protected, virtual]

The pre_order_traversal method is called before any of the expressions are traversed. The default implementation does nothing.

Reimplemented in statement_writeln_compile, and statement_writeln_pretty.

virtual void statement_writeln::infix_order_traversal ( const expression::pointer ep,
bool  last 
) [protected, virtual]

The infix_order_traversal method is called after traversing each of the expressions. The default implementation does nothing.

Parameters:
ep The expression just traversed.
last true if this is the last expression in the list

Reimplemented in statement_writeln_compile, and statement_writeln_pretty.

virtual void statement_writeln::post_order_traversal (  )  [protected, virtual]

The post_order_traversal method is called after all of the expressions have been traversed. The default implementation does nothing.

Reimplemented in statement_writeln_compile, and statement_writeln_pretty.

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

The assignment operator. Do not use.


Member Data Documentation

expression_list* statement_writeln::elp [private]

Definition at line 88 of file writeln.h.

Referenced by has_args().


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