Differences From Artifact [79741a3186611288]:
- File        
polemy/ast.d
- 2010-11-08 11:42:14 - part of checkin [5e407d7cf8] on branch trunk - Lexer Refactored so that it can accpet multi-symbol token (user: kinaba) [annotate]
 
To Artifact [9b22488b3393157f]:
- File        
polemy/ast.d
- 2010-11-08 11:57:48 - part of checkin [077506b38c] on branch trunk - Generic toString utility added. (user: kinaba) [annotate]
 
    17     17   }
    18     18   
    19     19   class DeclStatement : Statement
    20     20   {
    21     21    string     var;
    22     22    Expression expr;
    23     23    mixin SimpleConstructor;
    24         - mixin SimpleCompare; // do not take "pos" into account
           24  + mixin SimpleCompare;
    25     25   }
    26     26   
    27     27   class ExprStatement : Statement
    28     28   {
    29     29    Expression expr;
    30     30    mixin SimpleConstructor;
    31         - mixin SimpleCompare; // do not take "pos" into account
           31  + mixin SimpleCompare;
    32     32   }
    33     33   
    34     34   abstract class Expression
    35     35   {
    36     36    immutable LexPosition pos;
    37     37    mixin SimpleConstructor;
    38         - mixin SimpleCompare; // do not take "pos" into account
           38  + mixin SimpleCompare;
    39     39   }
    40     40   
    41     41   class StrLiteralExpression : Expression
    42     42   {
    43     43    string data;
    44     44    mixin SimpleConstructor;
    45         - mixin SimpleCompare; // do not take "pos" into account
           45  + mixin SimpleCompare;
    46     46   }
    47     47   
    48     48   class IntLiteralExpression : Expression
    49     49   {
    50     50    BigInt data;
    51     51    mixin SimpleConstructor;
    52         - mixin SimpleCompare; // do not take "pos" into account
           52  + mixin SimpleCompare;
    53     53   }
    54     54   
    55     55   class VarExpression : Expression
    56     56   {
    57     57    string var;
    58     58    mixin SimpleConstructor;
    59         - mixin SimpleCompare; // do not take "pos" into account
           59  + mixin SimpleCompare;
    60     60   }
    61     61   
    62     62   class AssignExpression : Expression
    63     63   {
    64     64    Expression lhs;
    65     65    Expression rhs;
    66     66    mixin SimpleConstructor;
    67         - mixin SimpleCompare; // do not take "pos" into account
           67  + mixin SimpleCompare;
    68     68   }
    69     69   
    70     70   class FuncallExpression : Expression
    71     71   {
    72     72    Expression   fun;
    73     73    Expression[] args;
    74     74    this(immutable LexPosition pos, Expression fun, Expression[] args...)
    75     75     { super(pos); this.fun=fun; this.args=args.dup; }
    76         - mixin SimpleCompare; // do not take "pos" into account
           76  + mixin SimpleCompare;
    77     77   }
    78     78   
    79     79   class FunLiteralExpression : Expression
    80     80   {
    81     81    string[] params;
    82     82    Program  funbody;
    83     83    mixin SimpleConstructor;
    84         - mixin SimpleCompare; // do not take "pos" into account
           84  + mixin SimpleCompare;
    85     85   }