class Moory::Recogniser

Public Class Methods

new(rules:, initial:, final:) click to toggle source
# File lib/moory/recogniser.rb, line 5
def initialize(rules:, initial:, final:)
  @initial = initial
  @final   = final
  Loader.load(rules: rules, machine: self)
end

Public Instance Methods

accepts?(string) click to toggle source
# File lib/moory/recogniser.rb, line 11
def accepts?(string)
  reset

  string.each_char.all? { |c| issue(c) } && accepting?
end

Private Instance Methods

accepting?() click to toggle source
# File lib/moory/recogniser.rb, line 23
def accepting?
  @final.include?(state)
end
reset() click to toggle source
# File lib/moory/recogniser.rb, line 19
def reset
  @state = @initial
end