예제 #1
0
 public Do(
     string breakLabel,
     string continueLabel,
     string secondPlusLabel,
     string firstLabel,
     Expr expr,
     CompoundStmt body
     ) : base(breakLabel, continueLabel, secondPlusLabel, firstLabel, body)
 {
     this.expr = expr;
 }
예제 #2
0
 public Loop(
     string breakLabel,
     string continueLabel,
     string secondPlusLabel,
     string firstLabel,
     CompoundStmt body
     ) : base(breakLabel)
 {
     this.continueLabel   = continueLabel;
     this.secondPlusLabel = secondPlusLabel;
     this.firstLabel      = firstLabel;
     this.body            = body;
 }
예제 #3
0
 public For(
     string breakLabel,
     string continueLabel,
     string secondPlusLabel,
     string firstLabel,
     Node init,
     Expr pred,
     Node iter,
     CompoundStmt body
     ) : base(breakLabel, continueLabel, secondPlusLabel, firstLabel, body)
 {
     this.init = init;
     this.pred = pred;
     this.iter = iter;
 }
예제 #4
0
 public FuncDef(
     string name,
     string returnLabel,
     TFunc type,
     IEnumerable <Tuple <string, T> > parameters,
     CompoundStmt body,
     Env env,
     bool isGlobal
     )
 {
     this.name        = name;
     this.returnLabel = returnLabel;
     this.type        = type;
     this.parameters  = parameters;
     this.body        = body;
     this.env         = env;
     this.isGlobal    = isGlobal;
 }