class Petri::Token

Attributes

data[R]
place[R]
source_transition[R]

Public Class Methods

new(place, source_transition = nil) click to toggle source

@param place [Place] @param source_transition [Transition, nil]

# File lib/petri/token.rb, line 7
def initialize(place, source_transition = nil)
  @place = place
  @source_transition = source_transition
  @data = {}
end

Public Instance Methods

[](k) click to toggle source
# File lib/petri/token.rb, line 29
def [](k)
  @data[k]
end
[]=(k, v) click to toggle source
# File lib/petri/token.rb, line 25
def []=(k, v)
  @data[k] = v
end
production_rule() click to toggle source

@return [String, nil]

# File lib/petri/token.rb, line 14
def production_rule
  source_arc && source_arc.production_rule
end
source_arc() click to toggle source

@return [Arc, nil]

# File lib/petri/token.rb, line 19
def source_arc
  if source_transition
    place.input_arcs.find { |arc| arc.from_node == source_transition }
  end
end