Class: Ibex::LALR::BuildMetrics
- Inherits:
-
Object
- Object
- Ibex::LALR::BuildMetrics
- Defined in:
- lib/ibex/lalr/build_metrics.rb,
sig/ibex/lalr/build_metrics.rbs
Overview
Optional measurements are kept explicit for schema stability. rubocop:disable Metrics/ParameterLists Immutable structural measurements from one automaton build. These counts are intended for diagnostics and benchmarks, not parser behavior.
Instance Attribute Summary collapse
- #canonical_items ⇒ Integer? readonly
- #canonical_states ⇒ Integer? readonly
- #construction_states ⇒ Integer readonly
- #final_items ⇒ Integer? readonly
- #final_lookahead_items ⇒ Integer? readonly
- #final_states ⇒ Integer readonly
- #ielr_annotated_states ⇒ Integer? readonly
- #ielr_annotations ⇒ Integer? readonly
- #ielr_final_partitions ⇒ Integer? readonly
- #ielr_inadequacies ⇒ Integer? readonly
- #ielr_initial_partitions ⇒ Integer? readonly
- #ielr_lalr_states ⇒ Integer? readonly
- #ielr_remergeable_candidates ⇒ Integer? readonly
- #ielr_split_stable_discarded ⇒ Integer? readonly
- #ielr_split_states ⇒ Integer? readonly
- #ielr_unreachable_removed ⇒ Integer? readonly
- #lr0_items ⇒ Integer? readonly
- #lr0_states ⇒ Integer? readonly
- #propagation_edges ⇒ Integer? readonly
- #strategy ⇒ Symbol readonly
Instance Method Summary collapse
Constructor Details
#initialize(construction_states:, canonical_states:, final_states:, strategy:, lr0_states: nil, lr0_items: nil, canonical_items: nil, final_items: nil, final_lookahead_items: nil, propagation_edges: nil, ielr_initial_partitions: nil, ielr_final_partitions: nil, ielr_annotations: nil, ielr_annotated_states: nil, ielr_inadequacies: nil, ielr_split_stable_discarded: nil, ielr_lalr_states: nil, ielr_split_states: nil, ielr_unreachable_removed: nil, ielr_remergeable_candidates: nil) ⇒ BuildMetrics
Returns a new instance of BuildMetrics.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/ibex/lalr/build_metrics.rb', line 39 def initialize(construction_states:, canonical_states:, final_states:, strategy:, lr0_states: nil, lr0_items: nil, canonical_items: nil, final_items: nil, final_lookahead_items: nil, propagation_edges: nil, ielr_initial_partitions: nil, ielr_final_partitions: nil, ielr_annotations: nil, ielr_annotated_states: nil, ielr_inadequacies: nil, ielr_split_stable_discarded: nil, ielr_lalr_states: nil, ielr_split_states: nil, ielr_unreachable_removed: nil, ielr_remergeable_candidates: nil) @construction_states = construction_states @canonical_states = canonical_states @final_states = final_states @strategy = strategy @lr0_states = lr0_states @lr0_items = lr0_items @canonical_items = canonical_items @final_items = final_items @final_lookahead_items = final_lookahead_items @propagation_edges = propagation_edges @ielr_initial_partitions = ielr_initial_partitions @ielr_final_partitions = ielr_final_partitions @ielr_annotations = ielr_annotations @ielr_annotated_states = ielr_annotated_states @ielr_inadequacies = ielr_inadequacies @ielr_split_stable_discarded = ielr_split_stable_discarded @ielr_lalr_states = ielr_lalr_states @ielr_split_states = ielr_split_states @ielr_unreachable_removed = ielr_unreachable_removed @ielr_remergeable_candidates = ielr_remergeable_candidates freeze end |
Instance Attribute Details
#canonical_items ⇒ Integer? (readonly)
17 18 19 |
# File 'lib/ibex/lalr/build_metrics.rb', line 17 def canonical_items @canonical_items end |
#canonical_states ⇒ Integer? (readonly)
12 13 14 |
# File 'lib/ibex/lalr/build_metrics.rb', line 12 def canonical_states @canonical_states end |
#construction_states ⇒ Integer (readonly)
11 12 13 |
# File 'lib/ibex/lalr/build_metrics.rb', line 11 def construction_states @construction_states end |
#final_items ⇒ Integer? (readonly)
18 19 20 |
# File 'lib/ibex/lalr/build_metrics.rb', line 18 def final_items @final_items end |
#final_lookahead_items ⇒ Integer? (readonly)
19 20 21 |
# File 'lib/ibex/lalr/build_metrics.rb', line 19 def final_lookahead_items @final_lookahead_items end |
#final_states ⇒ Integer (readonly)
13 14 15 |
# File 'lib/ibex/lalr/build_metrics.rb', line 13 def final_states @final_states end |
#ielr_annotated_states ⇒ Integer? (readonly)
24 25 26 |
# File 'lib/ibex/lalr/build_metrics.rb', line 24 def ielr_annotated_states @ielr_annotated_states end |
#ielr_annotations ⇒ Integer? (readonly)
23 24 25 |
# File 'lib/ibex/lalr/build_metrics.rb', line 23 def ielr_annotations @ielr_annotations end |
#ielr_final_partitions ⇒ Integer? (readonly)
22 23 24 |
# File 'lib/ibex/lalr/build_metrics.rb', line 22 def ielr_final_partitions @ielr_final_partitions end |
#ielr_inadequacies ⇒ Integer? (readonly)
25 26 27 |
# File 'lib/ibex/lalr/build_metrics.rb', line 25 def ielr_inadequacies @ielr_inadequacies end |
#ielr_initial_partitions ⇒ Integer? (readonly)
21 22 23 |
# File 'lib/ibex/lalr/build_metrics.rb', line 21 def ielr_initial_partitions @ielr_initial_partitions end |
#ielr_lalr_states ⇒ Integer? (readonly)
27 28 29 |
# File 'lib/ibex/lalr/build_metrics.rb', line 27 def ielr_lalr_states @ielr_lalr_states end |
#ielr_remergeable_candidates ⇒ Integer? (readonly)
30 31 32 |
# File 'lib/ibex/lalr/build_metrics.rb', line 30 def ielr_remergeable_candidates @ielr_remergeable_candidates end |
#ielr_split_stable_discarded ⇒ Integer? (readonly)
26 27 28 |
# File 'lib/ibex/lalr/build_metrics.rb', line 26 def ielr_split_stable_discarded @ielr_split_stable_discarded end |
#ielr_split_states ⇒ Integer? (readonly)
28 29 30 |
# File 'lib/ibex/lalr/build_metrics.rb', line 28 def ielr_split_states @ielr_split_states end |
#ielr_unreachable_removed ⇒ Integer? (readonly)
29 30 31 |
# File 'lib/ibex/lalr/build_metrics.rb', line 29 def ielr_unreachable_removed @ielr_unreachable_removed end |
#lr0_items ⇒ Integer? (readonly)
16 17 18 |
# File 'lib/ibex/lalr/build_metrics.rb', line 16 def lr0_items @lr0_items end |
#lr0_states ⇒ Integer? (readonly)
15 16 17 |
# File 'lib/ibex/lalr/build_metrics.rb', line 15 def lr0_states @lr0_states end |
#propagation_edges ⇒ Integer? (readonly)
20 21 22 |
# File 'lib/ibex/lalr/build_metrics.rb', line 20 def propagation_edges @propagation_edges end |
#strategy ⇒ Symbol (readonly)
14 15 16 |
# File 'lib/ibex/lalr/build_metrics.rb', line 14 def strategy @strategy end |