Mercurial > projects > dang
diff ast/Stmt.d @ 44:495188f9078e new_gen
Big update - Moving towards a better, more seperated parser
The parser no loner creates the AST directly, but through
callbacks(actions). This means the parser can be run with a different set
of actions that do something else.
The parser is not back to full strength yet, the main thing missing is the
various statements and structs.
Also added a SmallArray that uses the stack only until a given size is
exceeded, after which the array is copied unto the heap.
author | Anders Halager <halager@gmail.com> |
---|---|
date | Wed, 23 Apr 2008 00:57:45 +0200 |
parents | ce17bea8e9bd |
children | 9bc660cbdbec |
line wrap: on
line diff
--- a/ast/Stmt.d Tue Apr 22 22:31:39 2008 +0200 +++ b/ast/Stmt.d Wed Apr 23 00:57:45 2008 +0200 @@ -12,6 +12,7 @@ enum StmtType { Stmt, + Compound, Decl, Exp, Return, @@ -31,6 +32,17 @@ Scope env; } +class CompoundStatement : Stmt +{ + this(Stmt[] stmts) + { + super(StmtType.Compound); + this.statements = stmts; + } + + Stmt[] statements; +} + class ReturnStmt : Stmt { this()