Changeset 15017 for branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/ExecExpressions.cs
- Timestamp:
- 06/01/17 09:28:34 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/ExecExpressions.cs
r14952 r15017 1 1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions { 2 using System; 3 2 4 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 3 5 using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes; … … 13 15 /// </summary> 14 16 [StorableClass] 15 [PushExpression(StackTypes.Exec, "EXEC.IF", StackTypes.Boolean )]17 [PushExpression(StackTypes.Exec, "EXEC.IF", StackTypes.Boolean, execIn: 2)] 16 18 public class ExecIfExpression : StatelessExpression { 17 19 public ExecIfExpression() { } … … 35 37 /// "( EXEC.Y <TopItem> )". 36 38 /// </summary> 37 [PushExpression(StackTypes.Exec, "EXEC.Y" )]39 [PushExpression(StackTypes.Exec, "EXEC.Y", execIn: 1)] 38 40 [StorableClass] 39 41 public class ExecYExpression : StatelessExpression { … … 58 60 var result = PushProgram.Create(interpreter.PoolContainer.PushProgramPool, expressions); 59 61 60 interpreter.ExecStack. SetTop(result);62 interpreter.ExecStack.Top = result; 61 63 interpreter.ExecStack.Add(top); 62 64 } … … 66 68 /// Removes the second item on the EXEC stack. 67 69 /// </summary> 68 [PushExpression(StackTypes.Exec, "EXEC.K" )]70 [PushExpression(StackTypes.Exec, "EXEC.K", execIn: 2)] 69 71 [StorableClass] 70 72 public class ExecKExpression : StatelessExpression { … … 79 81 public override void Eval(IInternalPushInterpreter interpreter) { 80 82 var top = interpreter.ExecStack.Pop(); 81 interpreter.ExecStack. SetTop(top);83 interpreter.ExecStack.Top = top; 82 84 } 83 85 } … … 88 90 /// another instance of C, followed by another instance of A. 89 91 /// </summary> 90 [PushExpression(StackTypes.Exec, "EXEC.S" )]92 [PushExpression(StackTypes.Exec, "EXEC.S", execIn: 3)] 91 93 [StorableClass] 92 94 public class ExecSExpression : StatelessExpression { … … 113 115 var newTop = PushProgram.Create(interpreter.PoolContainer.PushProgramPool, expressions); 114 116 115 interpreter.ExecStack. SetTop(newTop);117 interpreter.ExecStack.Top = newTop; 116 118 interpreter.ExecStack.Push(c, a); 117 119 } … … 121 123 /// Does nothing. 122 124 /// </summary> 125 /// 126 [StorableClass] 127 [Serializable] 123 128 [PushExpression(StackTypes.Exec, "EXEC.NOOP")] 124 [StorableClass]125 129 public class ExecNoopExpression : StatelessExpression { 126 130 public ExecNoopExpression() { } … … 137 141 } 138 142 139 [PushExpression(StackTypes.Exec, "EXEC.WHILE", StackTypes.Boolean )]143 [PushExpression(StackTypes.Exec, "EXEC.WHILE", StackTypes.Boolean, execIn: 1)] 140 144 [StorableClass] 141 145 public class ExecWhileExpression : StatelessExpression { … … 165 169 } 166 170 167 [PushExpression(StackTypes.Exec, "EXEC.DO*WHILE" )]171 [PushExpression(StackTypes.Exec, "EXEC.DO*WHILE", execIn: 1)] 168 172 [StorableClass] 169 173 public class ExecDoWhileExpression : StatelessExpression { … … 181 185 } 182 186 183 [PushExpression(StackTypes.Exec, "EXEC.WHEN", StackTypes.Boolean )]187 [PushExpression(StackTypes.Exec, "EXEC.WHEN", StackTypes.Boolean, execIn: 1)] 184 188 [StorableClass] 185 189 public class ExecWhenExpression : StatelessExpression {
Note: See TracChangeset
for help on using the changeset viewer.