Differences From Artifact [4e37845b6ce5021a]:
- File        
polemy/ast.d
- 2010-11-08 14:59:30 - part of checkin [b985f3bf91] on branch trunk - refactored parser to change AST to ML-like one. (user: kinaba) [annotate]
 
To Artifact [35d37c6aa0a6531e]:
- File        
polemy/ast.d
- 2010-11-08 16:40:55 - part of checkin [aa770610d3] on branch trunk - added layered-let (user: kinaba) [annotate]
 
    34     34    string var;
    35     35    mixin SimpleClass;
    36     36   }
    37     37   
    38     38   class LetExpression : AST
    39     39   {
    40     40    string var;
           41  + string layer;
    41     42    AST    init;
    42     43    AST    expr;
    43     44    mixin SimpleClass;
    44     45   }
    45     46   
    46     47   class FuncallExpression : AST
    47     48   {
................................................................................
    65     66   template EasyAST()
    66     67   {
    67     68    template genEast(T)
    68     69     { T genEast(P...)(P ps) { return new T(LexPosition.dummy, ps); } }
    69     70   
    70     71    alias genEast!StrLiteral strl;
    71     72    alias genEast!IntLiteral intl;
    72         - auto fun(string[] xs, AST ps) { return genEast!FunLiteral(xs,ps); }
           73  + auto fun(string[] xs, AST ps) { return genEast!FunLiteral(xs,ps); } // to help type inference of D
    73     74    alias genEast!VarExpression var;
    74     75    alias genEast!LetExpression let;
    75     76    alias genEast!FuncallExpression call;
    76     77   }