OpenClonk
C4AulAST.h File Reference
#include "script/C4Value.h"
Include dependency graph for C4AulAST.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  aul::AstVisitor
 
class  aul::ast::Node
 
struct  aul::ast::Node::Location
 
class  aul::ast::Stmt
 
class  aul::ast::Noop
 
class  aul::ast::Expr
 
class  aul::ast::Literal
 
class  aul::ast::StringLit
 
class  aul::ast::IntLit
 
class  aul::ast::BoolLit
 
class  aul::ast::ArrayLit
 
class  aul::ast::ProplistLit
 
class  aul::ast::NilLit
 
class  aul::ast::ThisLit
 
class  aul::ast::VarExpr
 
class  aul::ast::UnOpExpr
 
class  aul::ast::BinOpExpr
 
class  aul::ast::AssignmentExpr
 
class  aul::ast::SubscriptExpr
 
class  aul::ast::SliceExpr
 
class  aul::ast::CallExpr
 
class  aul::ast::ParExpr
 
class  aul::ast::Block
 
class  aul::ast::ControlFlow
 
class  aul::ast::Return
 
class  aul::ast::Loop
 
class  aul::ast::ForLoop
 
class  aul::ast::RangeLoop
 
class  aul::ast::DoLoop
 
class  aul::ast::WhileLoop
 
class  aul::ast::LoopControl
 
class  aul::ast::Break
 
class  aul::ast::Continue
 
class  aul::ast::If
 
class  aul::ast::Decl
 
class  aul::ast::VarDecl
 
struct  aul::ast::VarDecl::Var
 
class  aul::ast::Function
 
struct  aul::ast::Function::Parameter
 
class  aul::ast::FunctionDecl
 
class  aul::ast::FunctionExpr
 
class  aul::ast::Pragma
 
class  aul::ast::IncludePragma
 
class  aul::ast::AppendtoPragma
 
class  aul::ast::Script
 
class  aul::DefaultRecursiveVisitor
 

Namespaces

 aul
 
 aul::ast
 

Macros

#define AST_NODE(cls)
 

Typedefs

typedef std::unique_ptr< Stmt > aul::ast::StmtPtr
 
typedef std::unique_ptr< Expr > aul::ast::ExprPtr
 
typedef std::unique_ptr< Loop > aul::ast::LoopPtr
 
typedef std::unique_ptr< Decl > aul::ast::DeclPtr
 

Class Documentation

◆ aul::ast::Node::Location

struct aul::ast::Node::Location

Definition at line 116 of file C4AulAST.h.

Class Members
size_t column
string file
size_t line

◆ aul::ast::VarDecl::Var

struct aul::ast::VarDecl::Var

Definition at line 360 of file C4AulAST.h.

Class Members
ExprPtr init
string name

Macro Definition Documentation

◆ AST_NODE

#define AST_NODE (   cls)
Value:
public: \
virtual void accept(::aul::AstVisitor *v) const override { v->visit(this); } \
template<class... T> static std::unique_ptr<cls> New(const char *loc, T &&...t) { auto n = std::make_unique<cls>(std::forward<T>(t)...); n->loc = loc; return n; } \
private:
virtual void visit(const ::aul::ast::Noop *)
Definition: C4AulAST.h:63

Definition at line 105 of file C4AulAST.h.