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 }