Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rage against the Turing Machine (confoo)

Igor Wiedler
February 27, 2014

Rage against the Turing Machine (confoo)

Lightning talk.

Igor Wiedler

February 27, 2014
Tweet

More Decks by Igor Wiedler

Other Decks in Programming

Transcript

  1. while (!in_array($state, $accept_states)) { $read_val = isset($tape[$position]) ? $tape[$position] :

    '_'; ! if (!isset($rules[$state][$read_val])) { throw new NoTransitionException(); } ! list($write_val, $move_dir, $new_state) = $rules[$state][$read_val]; ! $tape[$position] = $write_val; ! if ('l' === $move_dir) { $position--; if ($position < 0) { $position++; array_unshift($tape, '_'); } } else if ('r' === $move_dir) { $position++; if ($position >= count($tape)) { array_push($tape, '_'); } } ! $state = $new_state; }
  2. U M