MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::ast::Node Class Referenceabstract

Base class of all AST nodes. More...

#include <mim/ast/ast.h>

Inheritance diagram for mim::ast::Node:
[legend]

Public Member Functions

Loc loc () const
virtual void stream (fe::Tab &, std::ostream &) const =0
void dump () const

Protected Member Functions

 Node (Loc loc)

Detailed Description

Base class of all AST nodes.

Definition at line 186 of file ast.h.

Constructor & Destructor Documentation

◆ Node()

mim::ast::Node::Node ( Loc loc)
inlineprotected

Member Function Documentation

◆ dump()

void mim::ast::Node::dump ( ) const

Definition at line 66 of file stream.cpp.

References stream().

Referenced by stream().

◆ loc()

Loc mim::ast::Node::loc ( ) 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().

◆ stream()


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