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()