class RegularExpression::NFA::State

Attributes

transitions[R]

Public Class Methods

new() click to toggle source
# File lib/regular_expression/nfa.rb, line 16
def initialize
  @transitions = []
end

Public Instance Methods

add_transition(transition) click to toggle source
# File lib/regular_expression/nfa.rb, line 20
def add_transition(transition)
  transitions << transition
end
to_dot(graph, visited) click to toggle source
# File lib/regular_expression/nfa.rb, line 24
def to_dot(graph, visited)
  return visited[self] if visited.include?(self)

  source = graph.add_node(object_id, label: "")
  visited[self] = source

  transitions.each do |transition|
    target = transition.state.to_dot(graph, visited)
    source.connect(target, label: transition.label)
  end

  source
end