class Kleene::State
def self.new_error_state(final = false)
def self.new_error_state(final = false) State.new(final, true) end
def self.next_id
def self.next_id @@next_id += 1 end
def dup
def dup State.new(@final, @error, nil) end
def error?
def error? @error end
def final?
def final? @final end
def initialize(final = false, error = false, id = nil)
def initialize(final = false, error = false, id = nil) @final = final @error = error @id = id || State.next_id end
def to_s
def to_s "State{id: #{id}, final: #{final}, error: #{error}}" end