#include #include #include #include #include "Generate.h" #include "SynTree/Declaration.h" #include "CodeGenerator2.h" using namespace std; namespace CodeGen { void generate( std::list< Declaration* > translationUnit, std::ostream &os, bool doIntrinsics ) { CodeGen::CodeGenerator2 cgv( os ); for ( std::list::iterator i = translationUnit.begin(); i != translationUnit.end(); i++ ) { if ( LinkageSpec::isGeneratable( (*i)->get_linkage() ) && (doIntrinsics || ! LinkageSpec::isBuiltin( (*i)->get_linkage() ) ) ) { (*i)->accept(cgv); cgv.shift_left(); if ( doSemicolon( *i ) ) { os << ";"; } // if os << std::endl; } // if } // for } } // namespace CodeGen