Class: LrState

Inherits:
Object show all
Includes:
Indexable
Defined in:
lib/rpdf2txt-rockit/parsetable_generation.rb

Instance Attribute Summary collapse

Attributes included from Indexable

#factory, #index_number

Instance Method Summary collapse

Constructor Details

#initialize(kernelItems) ⇒ LrState

Returns a new instance of LrState.



86
87
88
89
90
91
92
# File 'lib/rpdf2txt-rockit/parsetable_generation.rb', line 86

def initialize(kernelItems)
  @kernel_items = kernelItems
  calc_closure(kernelItems) # Do it lazily instead?
  @final_items = kernelItems.select {|i| i.final?}
  @reduce_state = @final_items.length > 0
  @consistent = kernelItems.length == 1
end

Instance Attribute Details

#closureObject (readonly)

Returns the value of attribute closure.



84
85
86
# File 'lib/rpdf2txt-rockit/parsetable_generation.rb', line 84

def closure
  @closure
end

#final_itemsObject (readonly)

Returns the value of attribute final_items.



84
85
86
# File 'lib/rpdf2txt-rockit/parsetable_generation.rb', line 84

def final_items
  @final_items
end

#kernel_itemsObject (readonly)

Returns the value of attribute kernel_items.



84
85
86
# File 'lib/rpdf2txt-rockit/parsetable_generation.rb', line 84

def kernel_items
  @kernel_items
end

Instance Method Details

#consistent?Boolean

Returns:

  • (Boolean)


98
99
100
# File 'lib/rpdf2txt-rockit/parsetable_generation.rb', line 98

def consistent?
  @consistent
end

#inspectObject



106
107
108
# File 'lib/rpdf2txt-rockit/parsetable_generation.rb', line 106

def inspect
  "State(#{@kernel_items.inspect})"
end

#lengthObject



102
103
104
# File 'lib/rpdf2txt-rockit/parsetable_generation.rb', line 102

def length
  @kernel_items.length
end

#reduce_state?Boolean

Returns:

  • (Boolean)


94
95
96
# File 'lib/rpdf2txt-rockit/parsetable_generation.rb', line 94

def reduce_state?
  @reduce_state
end