コード例 #1
0
ファイル: Block.cs プロジェクト: dbremner/Cortex
 public override Operation Coalesce()
 {
     Block outputBlock = new Block();
       outputBlock.OnTrueHook = OnTrueHook;
       outputBlock.OnFalseHook = OnFalseHook;
       int amountSeen = 0;
       foreach(var v in this)
       {
     if(v is StandardOperation)
     {
       amountSeen++;
     }
     else
     {
       if(amountSeen > 0)
       {
     outputBlock.Add(new StandardOperation());
     amountSeen = 0;
       }
       outputBlock.Add(v.Coalesce());
     }
       }
       if(amountSeen > 0) //final list of operations
     outputBlock.Add(new StandardOperation());
       return outputBlock;
 }
コード例 #2
0
ファイル: Loops.cs プロジェクト: dbremner/Cortex
 public DoWhileLoopOperation(Block body, BooleanOperation condition)
 {
     Add(body);
       Add(condition);
 }
コード例 #3
0
ファイル: Loops.cs プロジェクト: dbremner/Cortex
 public WhileLoopOperation(BooleanOperation condition,
 Block body)
 {
     Add(condition);
       Add(body);
 }
コード例 #4
0
ファイル: IfStatements.cs プロジェクト: dbremner/Cortex
 public override Operation Coalesce()
 {
     Condition = (BooleanOperation)Condition.Coalesce();
       OnFalse = (Block)OnFalse.Coalesce();
       OnTrue = (Block)OnTrue.Coalesce();
       return this;
 }
コード例 #5
0
ファイル: IfStatements.cs プロジェクト: dbremner/Cortex
 public IfThenElseStatement(BooleanOperation condition, 
 Block onTrue, Block onFalse)
     : base(condition, onTrue)
 {
     Add(onFalse);
 }
コード例 #6
0
ファイル: IfStatements.cs プロジェクト: dbremner/Cortex
 public IfThenStatement(BooleanOperation condition, Block onTrue)
 {
     Add(condition);
       Add(onTrue);
 }