示例#1
0
 public ASTFor(ASTDeclarationLocal init, ASTExpression conditional, ASTExpression loop, ASTStatement body)
 {
     InitialExpr = init;
     Conditional = conditional;
     LoopExpr    = loop;
     Body        = body.WrapInBlock();
 }
示例#2
0
文件: ASTForIn.cs 项目: goric/cflat
 public ASTForIn(ASTIdentifier variable, ASTExpression lower, ASTExpression upper, ASTStatement body)
 {
     TempVariable = variable;
     Lower        = lower;
     Upper        = upper;
     Body         = body.WrapInBlock();
 }
示例#3
0
 public ASTDeclarationLocal(LexLocation location, ASTType type, String id, ASTExpression value)
 {
     HasValue     = true;
     Type         = type;
     ID           = id;
     Location     = location;
     InitialValue = value;
 }
示例#4
0
文件: ASTIfThen.cs 项目: goric/cflat
        public ASTIfThen(ASTExpression condition, ASTStatement then)
        {
            Condition = condition;

            //I think it's most appropriate to record the presence of the implied block around 1 line statements here, rather than in the grammar.
            Then          = then.WrapInBlock();
            Then.IsBranch = true;
        }
示例#5
0
文件: ASTBinary.cs 项目: goric/cflat
 public ASTBinary(ASTExpression left, ASTExpression right)
 {
     Left  = left;
     Right = right;
 }
示例#6
0
 public ASTExponent(ASTExpression left, ASTExpression right)
     : base(left, right)
 {
 }
示例#7
0
 public ASTDereferenceArray(ASTExpression array, ASTExpression index)
 {
     Array = array;
     Index = index;
 }
示例#8
0
 public ASTEqual(ASTExpression left, ASTExpression right)
     : base(left, right)
 {
 }
示例#9
0
文件: ASTAnd.cs 项目: goric/cflat
 public ASTAnd(ASTExpression exp1, ASTExpression exp2)
     : base(exp1, exp2)
 {
 }
示例#10
0
 public ASTDereferenceField(ASTExpression obj, String field)
 {
     Object = obj;
     Field  = field;
 }
示例#11
0
 public ASTConcatenate(ASTExpression left, ASTExpression right)
     : base(left, right)
 {
 }
示例#12
0
 public ASTWhile(ASTExpression condition, ASTStatement body)
 {
     Condition = condition;
     Body      = body.WrapInBlock();
 }
示例#13
0
 public ASTMultiply(ASTExpression left, ASTExpression right)
     : base(left, right)
 {
 }
示例#14
0
 public ASTAdd(ASTExpression left, ASTExpression right)
     : base(left, right)
 {
 }
示例#15
0
 public ASTDivide(ASTExpression left, ASTExpression right)
     : base(left, right)
 {
 }
示例#16
0
 public ASTIncrement(ASTExpression inc)
 {
     Expression = inc;
 }
示例#17
0
 public ASTInstantiateArray(ASTType type, ASTExpression low, ASTExpression up)
 {
     Type  = type;
     Lower = low;
     Upper = up;
 }
示例#18
0
 public ASTDecrement(ASTExpression dec)
 {
     Expression = dec;
 }
示例#19
0
文件: ASTAssign.cs 项目: goric/cflat
 public ASTAssign(ASTLValue lval, ASTExpression exp)
 {
     LValue = lval;
     Expr   = exp;
 }
示例#20
0
 public ASTIfThenElse(ASTExpression condition, ASTStatement then, ASTStatement elseStatement)
     : base(condition, then)
 {
     Else          = elseStatement.WrapInBlock();
     Else.IsBranch = true;
 }
示例#21
0
 public ASTStatementExpr(ASTExpression exp)
 {
     Expression = exp;
 }
示例#22
0
文件: ASTReturn.cs 项目: goric/cflat
 public ASTReturn(ASTExpression retVal)
 {
     ReturnValue = retVal;
 }
示例#23
0
 public ASTGreater(ASTExpression left, ASTExpression right)
     : base(left, right)
 {
 }
示例#24
0
文件: ASTSmaller.cs 项目: goric/cflat
 public ASTSmaller(ASTExpression left, ASTExpression right)
     : base(left, right)
 {
 }
示例#25
0
 public ASTExpressionList(ASTExpression exp, ASTExpressionList tail)
 {
     Expr   = exp;
     Tail   = tail;
     Length = Tail.Length + 1;
 }
示例#26
0
文件: ASTNot.cs 项目: goric/cflat
 public ASTNot(ASTExpression not)
 {
     Expression = not;
 }
示例#27
0
文件: ASTModulo.cs 项目: goric/cflat
 public ASTModulo(ASTExpression left, ASTExpression right)
     : base(left, right)
 {
 }
示例#28
0
 public ASTInvoke(ASTExpression obj, String method, ASTExpressionList actuals)
 {
     Object  = obj;
     Method  = method;
     Actuals = actuals;
 }
示例#29
0
 public ASTNegative(ASTExpression exp)
 {
     Expression = exp;
 }
示例#30
0
 public ASTSubtract(ASTExpression left, ASTExpression right)
     : base(left, right)
 {
 }