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

Natural representation for expressions. More...

#include <exp.hh>

Inheritance diagram for translate::Ex:
Collaboration diagram for translate::Ex:

Public Member Functions

 Ex (const tree::rExp &exp)
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 &t, const temp::Label &f) 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::rExp exp_

Detailed Description

Natural representation for expressions.

Constructor & Destructor Documentation

translate::Ex::Ex ( const tree::rExp &  exp)
inline

Member Function Documentation

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

Implements translate::Exp.

References exp_.

tree::rStm translate::Ex::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 exp_, tree::Cjump::ne, and translate::Cx::un_cx().

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

Pretend THIS was an Ex: return the expression part.

Implements translate::Exp.

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

Pretend THIS was an Nx: return the statement part.

Implements translate::Exp.

Member Data Documentation

tree::rExp translate::Ex::exp_
private

Referenced by dump(), and un_cx().


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