fix direction

This commit is contained in:
Maxim Slipenko 2021-09-20 20:13:50 +03:00
parent 6a7b9201b7
commit 7720a2a621
2 changed files with 9 additions and 4 deletions

View File

@ -1,5 +1,11 @@
from collections import defaultdict from collections import defaultdict
DIRECTIONS = {
'>': 1,
'<': -1,
'.': 0
}
class Emulator(): class Emulator():
''' '''
@ -28,7 +34,7 @@ class Emulator():
self.tape[self.head] = symbol self.tape[self.head] = symbol
self.current_state = state self.current_state = state
self.head += 1 if direction == '>' else -1 self.head += DIRECTIONS[direction]
self.tape[self.head] = self.tape[self.head] 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)] return [self.head, self.current_state, defaultdict(lambda: self.blank_symbol, self.tape)]

View File

@ -1,5 +1,5 @@
import csv import csv
import pprint import re
def from_tur(filename): def from_tur(filename):
f = open(filename, "rb") f = open(filename, "rb")
@ -65,7 +65,7 @@ def from_file(filename: str):
if not action: if not action:
continue continue
new_symbol, direction, new_state = list(action) new_symbol, direction, new_state = re.split('([<|>|.])', action)
if new_symbol == "_": if new_symbol == "_":
new_symbol = 'λ' new_symbol = 'λ'