fix direction
This commit is contained in:
parent
6a7b9201b7
commit
7720a2a621
@ -1,5 +1,11 @@
|
||||
from collections import defaultdict
|
||||
|
||||
DIRECTIONS = {
|
||||
'>': 1,
|
||||
'<': -1,
|
||||
'.': 0
|
||||
}
|
||||
|
||||
|
||||
class Emulator():
|
||||
'''
|
||||
@ -28,7 +34,7 @@ class Emulator():
|
||||
self.tape[self.head] = symbol
|
||||
|
||||
self.current_state = state
|
||||
self.head += 1 if direction == '>' else -1
|
||||
self.head += DIRECTIONS[direction]
|
||||
|
||||
self.tape[self.head] = self.tape[self.head]
|
||||
|
||||
@ -45,5 +51,4 @@ class Emulator():
|
||||
return [self.head, self.current_state, defaultdict(lambda: self.blank_symbol, self.tape)]
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
import csv
|
||||
import pprint
|
||||
import re
|
||||
|
||||
def from_tur(filename):
|
||||
f = open(filename, "rb")
|
||||
@ -65,7 +65,7 @@ def from_file(filename: str):
|
||||
if not action:
|
||||
continue
|
||||
|
||||
new_symbol, direction, new_state = list(action)
|
||||
new_symbol, direction, new_state = re.split('([<|>|.])', action)
|
||||
|
||||
if new_symbol == "_":
|
||||
new_symbol = 'λ'
|
||||
|
Loading…
Reference in New Issue
Block a user