LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
translation.cc File Reference

Implementation for translate/translation.hh. More...

#include <ast/op-exp.hh>
#include <temp/temp.hh>
#include <temp/label.hh>
#include <translate/exp.hh>
#include <tree/fragment.hh>
#include <translate/access.hh>
#include <translate/level.hh>
#include <translate/translation.hh>
Include dependency graph for translation.cc:

Namespaces

namespace  translate
 Translation from ast::Ast to tree::Node.

Functions

ast::Var.
rExp translate::simple_var (const Access &access, const Level &use_level)
rExp translate::field_var (rExp var_exp, int index)
rExp translate::subscript_var (rExp var_exp, rExp index_exp)
ast::Exp.
rExp translate::nil_exp ()
rExp translate::int_exp (int i)
rExp translate::string_exp (const std::string &s, tree::Fragment *&f)
rExp translate::record_exp (std::list< rExp > args)
rExp translate::static_link (const Level *decl, const Level *use)
rExp translate::call_exp (const temp::Label &label, std::list< rExp > args)
 Call the function LABEL.
rExp translate::call_exp (const std::string &label, rExp arg1, rExp arg2=nullptr)
 Shorthand.
rExp translate::op_exp (const ast::OpExp::Oper oper, rExp left, rExp right)
 Translation of ast::OpExp.
rExp translate::seq_exp (std::list< rExp > &exps)
 Translate an ast::SeqExp.
rExp translate::eseq_exp (std::list< rExp > &exps)
rExp translate::assign_exp (rExp dst, rExp src)
rExp translate::if_exp (rExp test, rExp then_clause, rExp else_clause)
rExp translate::while_exp (rExp test, rExp body, const temp::Label &ldone)
rExp translate::break_exp (const temp::Label &loop_end)
rExp translate::array_exp (rExp array_size, rExp init_val)
ast::Dec.
tree::ProcFragtranslate::procedure_dec (const temp::Label &label, const misc::symbol &name, rExp body, frame::Frame *frame)
tree::ProcFragtranslate::function_dec (const temp::Label &label, const misc::symbol &name, rExp value, frame::Frame *frame)

Detailed Description

Implementation for translate/translation.hh.