module Rbtm
Constants
- REGEX
Regexp for matching rules.
Public Class Methods
parse(file)
click to toggle source
Parses rules and start state from a file.
# File lib/rbtm.rb, line 9 def self.parse(file) rules = {} state = nil File.readlines(file).each do |line| next unless line =~ REGEX state ||= $1 rules[[$1, $2]] = [$3, $4, $5] end [rules, state] end
turing_machine(rules, head) { |head| ... }
click to toggle source
Runs a Turing machine. Yields current head if given a block.
# File lib/rbtm.rb, line 25 def self.turing_machine(rules, head) loop do rule = rules[head.signature] yield head if block_given? break unless rule head.operate(rule) end end