diff options
Diffstat (limited to 'test/turing.go')
-rw-r--r-- | test/turing.go | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/test/turing.go b/test/turing.go deleted file mode 100644 index 0af39de8b..000000000 --- a/test/turing.go +++ /dev/null @@ -1,52 +0,0 @@ -// $G $F.go && $L $F.$A && ./$A.out - -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package main - -// brainfuck - -var p, pc int -var a [30000]byte -const prog = "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.!" - -func scan(dir int) { - for nest := dir; dir*nest > 0; pc += dir { - switch prog[pc+dir] { - case ']': - nest-- - case '[': - nest++ - } - } -} - -func main() { - for { - switch prog[pc] { - case '>': - p++ - case '<': - p-- - case '+': - a[p]++ - case '-': - a[p]-- - case '.': - print(string(a[p])) - case '[': - if a[p] == 0 { - scan(1) - } - case ']': - if a[p] != 0 { - scan(-1) - } - default: - return - } - pc++ - } -} |