Base class of all AST nodes. More...
#include <mim/ast/ast.h>
Public Member Functions | |
| Loc | loc () const |
| virtual void | stream (fe::Tab &, std::ostream &) const =0 |
| void | dump () const |
Protected Member Functions | |
| Node (Loc loc) | |
|
inlineprotected |
Definition at line 188 of file ast.h.
References loc().
Referenced by mim::ast::MatchExpr::Arm::Arm(), mim::ast::Decl::Decl(), mim::ast::PiExpr::Dom::Dom(), mim::ast::Expr::Expr(), and mim::ast::Path::Path().
| void mim::ast::Node::dump | ( | ) | const |
|
inline |
Definition at line 197 of file ast.h.
Referenced by mim::ast::PiExpr::Dom::add_ret(), mim::ast::AliasDecl::AliasDecl(), mim::ast::AliasPtrn::AliasPtrn(), mim::ast::AppExpr::AppExpr(), mim::ast::MatchExpr::Arm::Arm(), mim::ast::AxmDecl::AxmDecl(), mim::ast::AliasDecl::bind(), mim::ast::AxmDecl::bind(), mim::ast::LitExpr::bind(), mim::ast::PiExpr::bind(), mim::ast::UseDecl::bind(), mim::ast::LamDecl::bind_decl(), mim::ast::RecDecl::bind_decl(), mim::ast::Decl::dbg(), mim::ast::Decl::Decl(), mim::ast::DeclExpr::DeclExpr(), mim::ast::LamDecl::Dom::Dom(), mim::ast::PiExpr::Dom::Dom(), mim::ast::AxmDecl::emit(), mim::ast::Expr::emit(), mim::ast::File::emit(), mim::ast::LetDecl::emit(), mim::ast::MatchExpr::Arm::emit(), mim::ast::RuleDecl::emit(), mim::ast::InfixExpr::emit_(), mim::ast::LitExpr::emit_(), mim::ast::PathExpr::emit_(), mim::ast::RetExpr::emit_(), mim::ast::Expr::emit_body(), mim::ast::LamDecl::emit_body(), mim::ast::RecDecl::emit_body(), mim::ast::TuplePtrn::emit_body(), mim::ast::Expr::emit_decl(), mim::ast::LamDecl::emit_decl(), mim::ast::RecDecl::emit_decl(), mim::ast::TuplePtrn::emit_decl(), mim::ast::Ptrn::emit_proj(), mim::ast::IdPtrn::emit_type(), mim::ast::PiExpr::Dom::emit_type(), mim::ast::LamDecl::Dom::emit_value(), mim::ast::TuplePtrn::emit_value(), mim::ast::ErrorExpr::ErrorExpr(), mim::ast::ErrorPtrn::ErrorPtrn(), mim::ast::Expr::Expr(), mim::ast::File::File(), mim::ast::GrpPtrn::GrpPtrn(), mim::ast::HoleExpr::HoleExpr(), mim::ast::IdPtrn::IdPtrn(), mim::ast::InfixExpr::InfixExpr(), mim::ast::LamDecl::LamDecl(), mim::ast::LamExpr::LamExpr(), mim::ast::LetDecl::LetDecl(), mim::ast::LitExpr::LitExpr(), mim::ast::IdPtrn::make_id(), mim::ast::MatchExpr::MatchExpr(), mim::ast::ModDecl::ModDecl(), Node(), mim::ast::Path::Path(), mim::ast::PathExpr::PathExpr(), mim::ast::PiExpr::PiExpr(), mim::ast::PrimaryExpr::PrimaryExpr(), mim::ast::PrimaryExpr::PrimaryExpr(), mim::ast::Ptrn::Ptrn(), mim::ast::RecDecl::RecDecl(), mim::ast::RetExpr::RetExpr(), mim::ast::RuleDecl::RuleDecl(), mim::ast::RuleExpr::RuleExpr(), mim::ast::SeqExpr::SeqExpr(), mim::ast::AxmDecl::Sibling::Sibling(), mim::ast::SigmaExpr::SigmaExpr(), mim::ast::Ptrn::to_expr(), mim::ast::TupleExpr::TupleExpr(), mim::ast::TuplePtrn::TuplePtrn(), mim::ast::TypeExpr::TypeExpr(), mim::ast::UniqExpr::UniqExpr(), mim::ast::UseDecl::UseDecl(), mim::ast::UseDecl::UseDecl(), and mim::ast::ValDecl::ValDecl().
|
pure virtual |
Implemented in mim::ast::AliasDecl, mim::ast::AliasPtrn, mim::ast::AppExpr, mim::ast::AxmDecl::Sibling, mim::ast::AxmDecl, mim::ast::DeclExpr, mim::ast::DummyDecl, mim::ast::ErrorExpr, mim::ast::ErrorPtrn, mim::ast::File, mim::ast::GrpPtrn, mim::ast::HoleExpr, mim::ast::IdPtrn, mim::ast::InfixExpr, mim::ast::LamDecl::Dom, mim::ast::LamExpr, mim::ast::LetDecl, mim::ast::LitExpr, mim::ast::MatchExpr::Arm, mim::ast::MatchExpr, mim::ast::ModDecl, mim::ast::Path, mim::ast::PathExpr, mim::ast::PiExpr::Dom, mim::ast::PiExpr, mim::ast::PrimaryExpr, mim::ast::RecDecl, mim::ast::RetExpr, mim::ast::RuleDecl, mim::ast::RuleExpr, mim::ast::SeqExpr, mim::ast::SigmaExpr, mim::ast::TupleExpr, mim::ast::TuplePtrn, mim::ast::TypeExpr, mim::ast::UniqExpr, and mim::ast::UseDecl.
References dump().
Referenced by dump().