Sha256: bbed006c82dafe4af8f3ce2daffdd82b7872457ca0072442e8488604adf662b2

Contents?: true

Size: 1.67 KB

Versions: 2

Compression:

Stored size: 1.67 KB

Contents

module Lrama
  class Counterexamples
    @states: States
    @transitions: Hash[[StateItem, Grammar::Symbol], StateItem]
    @reverse_transitions: Hash[[StateItem, Grammar::Symbol], Set[StateItem]]
    @productions: Hash[StateItem, Set[States::Item]]
    @reverse_productions: Hash[[State, Grammar::Symbol], Set[States::Item]]

    attr_reader transitions: Hash[[StateItem, Grammar::Symbol], StateItem]
    attr_reader productions: Hash[StateItem, Set[States::Item]]

    def initialize: (States states) -> void
    def to_s: () -> "#<Counterexamples>"
    alias inspect to_s
    def compute: (State conflict_state) -> Array[Example]

    private

    def setup_transitions: () -> void
    def setup_productions: () -> void
    def shift_reduce_example: (State conflict_state, State::ShiftReduceConflict conflict) -> Example
    def reduce_reduce_examples: (State conflict_state, State::ReduceReduceConflict conflict) -> Example
    def find_shift_conflict_shortest_path: (::Array[StartPath|TransitionPath|ProductionPath]? reduce_path, State conflict_state, States::Item conflict_item) -> ::Array[StartPath|TransitionPath|ProductionPath]
    def find_shift_conflict_shortest_state_items: (::Array[StartPath|TransitionPath|ProductionPath]? reduce_path, State conflict_state, States::Item conflict_item) -> Array[StateItem]
    def build_paths_from_state_items: (Array[StateItem] state_items) -> ::Array[StartPath|TransitionPath|ProductionPath]
    def shortest_path: (State conflict_state, States::Item conflict_reduce_item, Grammar::Symbol conflict_term) -> ::Array[StartPath|TransitionPath|ProductionPath]?
    def follow_l: (States::Item item, Set[Grammar::Symbol] current_l) -> Set[Grammar::Symbol]
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lrama-0.7.0 sig/lrama/counterexamples.rbs
lrama-0.6.11 sig/lrama/counterexamples.rbs