#!/usr/bin/env ruby

require 'TuringMachine'

INITIAL_STATE = 's1'
FINAL_STATES = ['s6']
TRANSITIONS = {
['s1', 'a'] => ['s2', 'A', :R],
['s2', 'a'] => ['s2', 'a', :R],
['s2', 'B'] => ['s2', 'B', :R],
['s2', 'b'] => ['s3', 'B', :L],
['s3', 'B'] => ['s3', 'B', :L],
['s3', 'A'] => ['s5', 'A', :R],
['s3', 'a'] => ['s4', 'a', :L],
['s4', 'a'] => ['s4', 'a', :L],
['s4', 'A'] => ['s1', 'A', :R],
['s5', 'B'] => ['s5', 'B', :R],
['s5', '^'] => ['s6', '^', :R]
}
STRING = 'aaabbb'

TM = TuringMachine.new(INITIAL_STATE, FINAL_STATES, TRANSITIONS)

TM.run(STRING)
