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

Abstract a fragments's layout. More...

#include <layout.hh>

Inheritance diagram for assem::Layout:
Collaboration diagram for assem::Layout:

Public Member Functions

virtual void operator() (typename Const< ProcFrag >::type &a)
 Visit an assembly procedure fragment.
virtual void operator() (typename Const< DataFrag >::type &a)
 Visit an assembly data fragment.
template<class E >
void operator() (E *e)
 To enable the use of standard algorithm on containers of pointers.
virtual void operator() (typename Const< Fragments >::type &fs)
 Visit a list of assembly fragments.
template<template< typename > class Const>
void operator() (typename Const< ast::Ast >::type &e)
Ctor & dtor.
 Layout ()
virtual ~Layout ()
Layout parameters.
void ostr_set (std::ostream &ostr)
void tempmap_set (const temp::TempMap &tempmap)
void debug_set (bool debug)

Fragments's visitor.

std::ostream * postr_
virtual void operator() (const ProcFrag &a) override=0
 Layout an assembly procedure fragment.
virtual void operator() (const DataFrag &a) override=0
 Layout an assembly data fragment.
virtual void operator() (const Fragments &frags) override
 Layout a list of assembly fragments.

Detailed Description

Abstract a fragments's layout.

Constructor & Destructor Documentation

assem::Layout::Layout ( )
inline
assem::Layout::~Layout ( )
virtual

Member Function Documentation

void assem::Layout::debug_set ( bool  debug)
template<template< typename > class Const>
template<template< typename > class Const>
void assem::GenVisitor< Const >::operator() ( typename Const< ast::Ast >::type &  e)
inherited
template<template< typename > class Const>
void assem::GenVisitor< Const >::operator() ( typename Const< ProcFrag >::type &  a)
virtualinherited

Visit an assembly procedure fragment.

template<template< typename > class Const>
void assem::GenVisitor< Const >::operator() ( typename Const< DataFrag >::type &  a)
virtualinherited

Visit an assembly data fragment.

template<template< typename > class Const>
template<class E >
void assem::GenVisitor< Const >::operator() ( E *  e)
inherited

To enable the use of standard algorithm on containers of pointers.

template<template< typename > class Const>
void assem::GenVisitor< Const >::operator() ( typename Const< Fragments >::type &  fs)
virtualinherited

Visit a list of assembly fragments.

References misc::for_each().

virtual void assem::Layout::operator() ( const ProcFrag a)
overridepure virtual

Layout an assembly procedure fragment.

Implemented in target::ia32::GasLayout, and target::mips::SpimLayout.

virtual void assem::Layout::operator() ( const DataFrag a)
overridepure virtual

Layout an assembly data fragment.

Implemented in target::ia32::GasLayout, and target::mips::SpimLayout.

void assem::Layout::operator() ( const Fragments frags)
overridevirtual

Layout a list of assembly fragments.

Reimplemented in target::ia32::GasLayout, and target::mips::SpimLayout.

References invariant, postr_, and precondition.

void assem::Layout::ostr_set ( std::ostream &  ostr)
inline

References postr_.

Referenced by target::instructions_dump().

void assem::Layout::tempmap_set ( const temp::TempMap tempmap)

Member Data Documentation

std::ostream* assem::Layout::postr_
protected

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