sammine-lang
Loading...
Searching...
No Matches
AstDecl.h
Go to the documentation of this file.
1#pragma once
2#include <cstdint>
3
6namespace sammine_lang {
7namespace AST {
8
9using NodeId = uint32_t;
10
11class Printable;
12class ProgramAST;
13class DefinitionAST;
14class VarDefAST;
15class ExternAST;
16class FuncDefAST;
17class StructDefAST;
18class PrototypeAST;
19class TypedVarAST;
20class Stmt;
21class ExprAST;
22class CallExprAST;
23class UnitExprAST;
24class ReturnExprAST;
25class BinaryExprAST;
26class NumberExprAST;
27class StringExprAST;
28class BoolExprAST;
29class CharExprAST;
30class VariableExprAST;
31class BlockAST;
32class IfExprAST;
33class DerefExprAST;
34class AddrOfExprAST;
35class AllocExprAST;
36class FreeExprAST;
38class IndexExprAST;
39class LenExprAST;
40class UnaryNegExprAST;
43class CaseExprAST;
44class WhileExprAST;
46class EnumDefAST;
47class TypeAliasDefAST;
50
51} // namespace AST
52} // namespace sammine_lang
An AST to simulate a { } code block.
Definition Ast.h:317
Definition Ast.h:485
Definition Ast.h:548
Definition Ast.h:798
Definition Ast.h:495
Definition Ast.h:378
Definition Ast.h:302
A Function Definition that has the prototype and definition in terms of a block.
Definition Ast.h:291
Definition Ast.h:667
Definition Ast.h:326
Definition Ast.h:598
Definition Ast.h:707
Definition Ast.h:39
Definition Ast.h:197
A prototype to present "func func_name(...) -> type;".
Definition Ast.h:236
Definition Ast.h:205
Definition Ast.h:581
A variable definition: "var x = expression;" or "let (a, b) = expr;".
Definition Ast.h:420