class Suika::Lattice
@!visibility private
Attributes
begin_nodes[R]
@!visibility private
end_nodes[R]
@!visibility private
length[R]
@!visibility private
Public Class Methods
new(length)
click to toggle source
@!visibility private
# File lib/suika/lattice.rb, line 10 def initialize(length) @length = length @begin_nodes = Array.new(length + 1) { [] } @end_nodes = Array.new(length + 1) { [] } bos = Node.new(surface: 'BOS', unknown: false, left_id: 0, right_id: 0, cost: 0, attrs: []) @end_nodes[0].push(bos) eos = Node.new(surface: 'EOS', unknown: false, left_id: 0, right_id: 0, cost: 0, attrs: []) @begin_nodes[length].push(eos) end
Public Instance Methods
insert(begin_id, end_id, surface, unknown, left_id, right_id, cost, attrs)
click to toggle source
@!visibility private
# File lib/suika/lattice.rb, line 21 def insert(begin_id, end_id, surface, unknown, left_id, right_id, cost, attrs) node = Node.new(surface: surface, unknown: unknown, left_id: left_id, right_id: right_id, cost: cost, attrs: attrs) @begin_nodes[begin_id].push(node) @end_nodes[end_id].push(node) end