public IEnumerable <Position> Execute(BrainfuckEnv be) { foreach (var node in _nodes) { foreach (var pos in node.Execute(be)) { yield return(pos); } } yield return(_posEnd); }
public override IEnumerable <Position> Execute(BrainfuckEnv be) { yield return(_posStart); while (be.IsNonZero) { foreach (var inner in _inner) { foreach (var pos in inner.Execute(be)) { yield return(pos); } } yield return(_posEnd); } }
public override IEnumerable <Position> Execute(BrainfuckEnv be) { yield return(_pos); switch (_char) { case '+': be.Inc(); break; case '-': be.Dec(); break; case '<': be.MoveLeft(); break; case '>': be.MoveRight(); break; case '.': be.BfOutput(); break; case ',': be.BfInput(); break; default: break; } }
public abstract IEnumerable <Position> Execute(BrainfuckEnv be);