LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
translate::Nx Class Reference

Natural representation for statements. More...

#include <exp.hh>

Inheritance diagram for translate::Nx:
Collaboration diagram for translate::Nx:

Public Member Functions

 Nx (const tree::rStm &stm)
virtual tree::rExp un_ex () override
 Pretend THIS was an Ex: return the expression part.
virtual tree::rStm un_nx () override
 Pretend THIS was an Nx: return the statement part.
virtual tree::rStm un_cx (const temp::Label &, const temp::Label &) override
 Pretend THIS was a Cx: return the branching such that the resulting code jump to t if the conditional is satisfied, f otherwise.
virtual std::ostream & dump (std::ostream &ostr) const override

Private Attributes

tree::rStm stm_

Detailed Description

Natural representation for statements.

Constructor & Destructor Documentation

translate::Nx::Nx ( const tree::rStm &  stm)
inline

Member Function Documentation

std::ostream & translate::Nx::dump ( std::ostream &  ostr) const
overridevirtual

Implements translate::Exp.

References stm_.

tree::rStm translate::Nx::un_cx ( const temp::Label t,
const temp::Label f 
)
overridevirtual

Pretend THIS was a Cx: return the branching such that the resulting code jump to t if the conditional is satisfied, f otherwise.

Implements translate::Exp.

References unreached.

tree::rExp translate::Nx::un_ex ( )
overridevirtual

Pretend THIS was an Ex: return the expression part.

Implements translate::Exp.

References unreached.

tree::rStm translate::Nx::un_nx ( )
overridevirtual

Pretend THIS was an Nx: return the statement part.

Implements translate::Exp.

References stm_.

Member Data Documentation

tree::rStm translate::Nx::stm_
private

Referenced by dump(), and un_nx().


The documentation for this class was generated from the following files: