ibex 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rubocop.yml +43 -0
- data/CHANGELOG.md +30 -0
- data/LICENSE.txt +21 -0
- data/README.md +194 -0
- data/Rakefile +25 -0
- data/Steepfile +10 -0
- data/docs/architecture.md +99 -0
- data/docs/compat-notes.md +37 -0
- data/docs/grammar-reference.md +127 -0
- data/docs/lexer-coverage.md +14 -0
- data/docs/phase10-extensions.md +27 -0
- data/docs/racc-migration.md +47 -0
- data/exe/ibex +6 -0
- data/gemfiles/Gemfile +7 -0
- data/gemfiles/Gemfile.lock +98 -0
- data/lib/ibex/analysis/sets.rb +194 -0
- data/lib/ibex/analysis.rb +8 -0
- data/lib/ibex/cli/counterexample_options.rb +38 -0
- data/lib/ibex/cli/outputs.rb +88 -0
- data/lib/ibex/cli.rb +333 -0
- data/lib/ibex/codegen/dot.rb +52 -0
- data/lib/ibex/codegen/html.rb +110 -0
- data/lib/ibex/codegen/rbs.rb +54 -0
- data/lib/ibex/codegen/report.rb +149 -0
- data/lib/ibex/codegen/ruby.rb +235 -0
- data/lib/ibex/codegen/symbol_labels.rb +18 -0
- data/lib/ibex/error.rb +7 -0
- data/lib/ibex/frontend/action_scanner.rb +266 -0
- data/lib/ibex/frontend/ast.rb +146 -0
- data/lib/ibex/frontend/bootstrap_parser.rb +163 -0
- data/lib/ibex/frontend/dsl.rb +196 -0
- data/lib/ibex/frontend/generated_parser.rb +434 -0
- data/lib/ibex/frontend/generated_parser_base.rb +273 -0
- data/lib/ibex/frontend/grammar.y +156 -0
- data/lib/ibex/frontend/lexer.rb +165 -0
- data/lib/ibex/frontend/parser/declarations.rb +163 -0
- data/lib/ibex/frontend/parser/rules.rb +154 -0
- data/lib/ibex/frontend/parser.rb +23 -0
- data/lib/ibex/frontend/regenerator.rb +41 -0
- data/lib/ibex/frontend/source_cursor.rb +94 -0
- data/lib/ibex/frontend/token_adapter/declaration_state.rb +248 -0
- data/lib/ibex/frontend/token_adapter/delimiter_tracker.rb +37 -0
- data/lib/ibex/frontend/token_adapter/rule_state.rb +162 -0
- data/lib/ibex/frontend/token_adapter.rb +108 -0
- data/lib/ibex/frontend.rb +28 -0
- data/lib/ibex/ir/automaton_ir.rb +109 -0
- data/lib/ibex/ir/grammar_ir.rb +192 -0
- data/lib/ibex/ir/serialize.rb +154 -0
- data/lib/ibex/ir.rb +53 -0
- data/lib/ibex/lalr/builder.rb +270 -0
- data/lib/ibex/lalr/conflict.rb +120 -0
- data/lib/ibex/lalr/conflict_search.rb +332 -0
- data/lib/ibex/lalr/conflict_search_limits.rb +39 -0
- data/lib/ibex/lalr/counterexample.rb +138 -0
- data/lib/ibex/lalr/default_reductions.rb +67 -0
- data/lib/ibex/lalr.rb +27 -0
- data/lib/ibex/normalize/declarations.rb +60 -0
- data/lib/ibex/normalize/diagnostics.rb +99 -0
- data/lib/ibex/normalize/expander.rb +218 -0
- data/lib/ibex/normalize/expression.rb +54 -0
- data/lib/ibex/normalize.rb +166 -0
- data/lib/ibex/runtime/parser.rb +360 -0
- data/lib/ibex/runtime.rb +8 -0
- data/lib/ibex/tables.rb +125 -0
- data/lib/ibex/version.rb +6 -0
- data/lib/ibex.rb +23 -0
- data/sig/ibex/analysis/sets.rbs +72 -0
- data/sig/ibex/analysis.rbs +6 -0
- data/sig/ibex/cli/counterexample_options.rbs +16 -0
- data/sig/ibex/cli/outputs.rbs +31 -0
- data/sig/ibex/cli.rbs +108 -0
- data/sig/ibex/codegen/dot.rbs +19 -0
- data/sig/ibex/codegen/html.rbs +35 -0
- data/sig/ibex/codegen/rbs.rbs +31 -0
- data/sig/ibex/codegen/report.rbs +39 -0
- data/sig/ibex/codegen/ruby.rbs +92 -0
- data/sig/ibex/codegen/symbol_labels.rbs +11 -0
- data/sig/ibex/error.rbs +7 -0
- data/sig/ibex/frontend/action_scanner.rbs +74 -0
- data/sig/ibex/frontend/ast.rbs +223 -0
- data/sig/ibex/frontend/bootstrap_parser.rbs +80 -0
- data/sig/ibex/frontend/dsl.rbs +124 -0
- data/sig/ibex/frontend/generated_parser.rbs +163 -0
- data/sig/ibex/frontend/generated_parser_base.rbs +114 -0
- data/sig/ibex/frontend/lexer.rbs +61 -0
- data/sig/ibex/frontend/parser/declarations.rbs +56 -0
- data/sig/ibex/frontend/parser/rules.rbs +48 -0
- data/sig/ibex/frontend/parser.rbs +16 -0
- data/sig/ibex/frontend/regenerator.rbs +16 -0
- data/sig/ibex/frontend/source_cursor.rbs +73 -0
- data/sig/ibex/frontend/token_adapter/declaration_state.rbs +97 -0
- data/sig/ibex/frontend/token_adapter/delimiter_tracker.rbs +25 -0
- data/sig/ibex/frontend/token_adapter/rule_state.rbs +77 -0
- data/sig/ibex/frontend/token_adapter.rbs +67 -0
- data/sig/ibex/frontend.rbs +15 -0
- data/sig/ibex/ir/automaton_ir.rbs +77 -0
- data/sig/ibex/ir/grammar_ir.rbs +143 -0
- data/sig/ibex/ir/serialize.rbs +50 -0
- data/sig/ibex/ir.rbs +43 -0
- data/sig/ibex/lalr/builder.rbs +85 -0
- data/sig/ibex/lalr/conflict.rbs +47 -0
- data/sig/ibex/lalr/conflict_search.rbs +131 -0
- data/sig/ibex/lalr/conflict_search_limits.rbs +29 -0
- data/sig/ibex/lalr/counterexample.rbs +53 -0
- data/sig/ibex/lalr/default_reductions.rbs +20 -0
- data/sig/ibex/lalr.rbs +23 -0
- data/sig/ibex/normalize/declarations.rbs +20 -0
- data/sig/ibex/normalize/diagnostics.rbs +32 -0
- data/sig/ibex/normalize/expander.rbs +66 -0
- data/sig/ibex/normalize/expression.rbs +21 -0
- data/sig/ibex/normalize.rbs +96 -0
- data/sig/ibex/runtime/parser.rbs +167 -0
- data/sig/ibex/runtime.rbs +6 -0
- data/sig/ibex/tables.rbs +50 -0
- data/sig/ibex/version.rbs +6 -0
- data/sig/ibex.rbs +6 -0
- metadata +161 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Generated from lib/ibex/runtime/parser.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
module Runtime
|
|
5
|
+
# Parser-table shape understood by this runtime.
|
|
6
|
+
PARSER_TABLE_FORMAT_VERSION: Integer
|
|
7
|
+
|
|
8
|
+
# Raised by the default parser error handler.
|
|
9
|
+
class ParseError < StandardError
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# Drives a table-defined LR parser without native extensions.
|
|
13
|
+
#
|
|
14
|
+
# Subclasses provide `.parser_tables`, returning `:tokens`, `:token_names`,
|
|
15
|
+
# `:actions`, `:gotos`, and `:productions`. Actions are represented by
|
|
16
|
+
# `[:shift, state]`, `[:reduce, production]`, `[:accept]`, or `[:error]`.
|
|
17
|
+
class Parser
|
|
18
|
+
EOF_TOKEN: Integer
|
|
19
|
+
|
|
20
|
+
ERROR_TOKEN: Integer
|
|
21
|
+
|
|
22
|
+
NO_LOOKAHEAD: Object
|
|
23
|
+
|
|
24
|
+
RECOVERY_SHIFTS: Integer
|
|
25
|
+
|
|
26
|
+
EMPTY_ROW: Hash[Integer, untyped]
|
|
27
|
+
|
|
28
|
+
@yydebug: bool
|
|
29
|
+
|
|
30
|
+
@yydebug_output: IO
|
|
31
|
+
|
|
32
|
+
@source: (^() -> untyped)?
|
|
33
|
+
|
|
34
|
+
@state_stack: Array[Integer]
|
|
35
|
+
|
|
36
|
+
@value_stack: Array[untyped]
|
|
37
|
+
|
|
38
|
+
@lookahead: untyped
|
|
39
|
+
|
|
40
|
+
@lookahead_value: untyped
|
|
41
|
+
|
|
42
|
+
@recovery_shifts: Integer
|
|
43
|
+
|
|
44
|
+
@semantic_error: bool
|
|
45
|
+
|
|
46
|
+
@accept_requested: bool
|
|
47
|
+
|
|
48
|
+
@unknown_token_id: Integer?
|
|
49
|
+
|
|
50
|
+
@unknown_token_name: String?
|
|
51
|
+
|
|
52
|
+
attr_accessor yydebug: bool
|
|
53
|
+
|
|
54
|
+
attr_writer yydebug_output: IO
|
|
55
|
+
|
|
56
|
+
# @rbs () -> void
|
|
57
|
+
def initialize: () -> void
|
|
58
|
+
|
|
59
|
+
# Pull tokens from `next_token` and parse them.
|
|
60
|
+
# @rbs () -> untyped
|
|
61
|
+
def do_parse: () -> untyped
|
|
62
|
+
|
|
63
|
+
# Parse tokens yielded by `receiver.method_id`.
|
|
64
|
+
# @rbs (untyped receiver, Symbol method_id) -> untyped
|
|
65
|
+
def yyparse: (untyped receiver, Symbol method_id) -> untyped
|
|
66
|
+
|
|
67
|
+
# Override in pull parsers. Return `[token, value]`, `false`, or `nil`.
|
|
68
|
+
# @rbs () -> ([untyped, untyped] | false | nil)
|
|
69
|
+
def next_token: () -> ([ untyped, untyped ] | false | nil)
|
|
70
|
+
|
|
71
|
+
# Override to recover from syntax errors. The default always raises.
|
|
72
|
+
# @rbs (Integer token_id, untyped value, Array[untyped] value_stack) -> untyped
|
|
73
|
+
def on_error: (Integer token_id, untyped value, Array[untyped] value_stack) -> untyped
|
|
74
|
+
|
|
75
|
+
# Called after an ordinary input token is shifted. Override to observe
|
|
76
|
+
# the internal token id, semantic value, and destination state.
|
|
77
|
+
# @rbs (Integer token_id, untyped value, Integer state) -> void
|
|
78
|
+
def on_shift: (Integer token_id, untyped value, Integer state) -> void
|
|
79
|
+
|
|
80
|
+
# Called after a production's semantic action and goto are committed.
|
|
81
|
+
# Override to observe its id, RHS values, and semantic result.
|
|
82
|
+
# @rbs (Integer production_id, Array[untyped] values, untyped result) -> void
|
|
83
|
+
def on_reduce: (Integer production_id, Array[untyped] values, untyped result) -> void
|
|
84
|
+
|
|
85
|
+
# Called after the synthetic error token enters a recovery state.
|
|
86
|
+
# The payload describes the original error before recovery popped stacks.
|
|
87
|
+
# @rbs (Integer token_id, untyped value, Array[untyped] value_stack) -> void
|
|
88
|
+
def on_error_recover: (Integer token_id, untyped value, Array[untyped] value_stack) -> void
|
|
89
|
+
|
|
90
|
+
# Return a human-readable name for an internal token id.
|
|
91
|
+
# @rbs (Integer token_id) -> String
|
|
92
|
+
def token_to_str: (Integer token_id) -> String
|
|
93
|
+
|
|
94
|
+
# Enter error recovery from a semantic action without calling `on_error`.
|
|
95
|
+
# @rbs () -> nil
|
|
96
|
+
def yyerror: () -> nil
|
|
97
|
+
|
|
98
|
+
# Leave error recovery immediately.
|
|
99
|
+
# @rbs () -> nil
|
|
100
|
+
def yyerrok: () -> nil
|
|
101
|
+
|
|
102
|
+
# Accept immediately after the current semantic action completes.
|
|
103
|
+
# @rbs () -> nil
|
|
104
|
+
def yyaccept: () -> nil
|
|
105
|
+
|
|
106
|
+
# Return token names accepted in the current parser state.
|
|
107
|
+
# @rbs () -> Array[String]
|
|
108
|
+
def expected_tokens: () -> Array[String]
|
|
109
|
+
|
|
110
|
+
private
|
|
111
|
+
|
|
112
|
+
# @rbs (^() -> untyped source) -> untyped
|
|
113
|
+
def drive_parser: (^() -> untyped source) -> untyped
|
|
114
|
+
|
|
115
|
+
# @rbs (^() -> untyped source) -> void
|
|
116
|
+
def prepare_parse: (^() -> untyped source) -> void
|
|
117
|
+
|
|
118
|
+
# @rbs () -> void
|
|
119
|
+
def validate_parser_table_format!: () -> void
|
|
120
|
+
|
|
121
|
+
# @rbs () -> untyped
|
|
122
|
+
def action_for_current_state: () -> untyped
|
|
123
|
+
|
|
124
|
+
# @rbs (untyped action) -> untyped
|
|
125
|
+
def perform: (untyped action) -> untyped
|
|
126
|
+
|
|
127
|
+
# @rbs (Integer next_state) -> untyped
|
|
128
|
+
def shift: (Integer next_state) -> untyped
|
|
129
|
+
|
|
130
|
+
# @rbs (Integer production_id) -> untyped
|
|
131
|
+
def reduce: (Integer production_id) -> untyped
|
|
132
|
+
|
|
133
|
+
# @rbs (Hash[Symbol, untyped] production, Array[untyped] values) -> untyped
|
|
134
|
+
def reduction_value: (Hash[Symbol, untyped] production, Array[untyped] values) -> untyped
|
|
135
|
+
|
|
136
|
+
# @rbs (?report: bool) -> untyped
|
|
137
|
+
def recover: (?report: bool) -> untyped
|
|
138
|
+
|
|
139
|
+
# @rbs () -> bool
|
|
140
|
+
def shift_error_token: () -> bool
|
|
141
|
+
|
|
142
|
+
# @rbs () -> void
|
|
143
|
+
def read_lookahead: () -> void
|
|
144
|
+
|
|
145
|
+
# @rbs () -> untyped
|
|
146
|
+
def read_external_token: () -> untyped
|
|
147
|
+
|
|
148
|
+
# @rbs (untyped external_token) -> Integer
|
|
149
|
+
def internal_token_id: (untyped external_token) -> Integer
|
|
150
|
+
|
|
151
|
+
# @rbs () -> Hash[Symbol, untyped]
|
|
152
|
+
def parser_tables: () -> Hash[Symbol, untyped]
|
|
153
|
+
|
|
154
|
+
# @rbs (untyped action) -> bool
|
|
155
|
+
def error_action?: (untyped action) -> bool
|
|
156
|
+
|
|
157
|
+
# @rbs (Integer state) -> untyped
|
|
158
|
+
def default_action: (Integer state) -> untyped
|
|
159
|
+
|
|
160
|
+
# @rbs (untyped table, Integer row, Integer column) -> untyped
|
|
161
|
+
def table_lookup: (untyped table, Integer row, Integer column) -> untyped
|
|
162
|
+
|
|
163
|
+
# @rbs (String message) -> void
|
|
164
|
+
def trace: (String message) -> void
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
end
|
data/sig/ibex/tables.rbs
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Generated from lib/ibex/tables.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
# Parser table construction and row-displacement compression.
|
|
5
|
+
module Tables
|
|
6
|
+
private def runtime_action: (IR::parser_action action) -> IR::runtime_action
|
|
7
|
+
|
|
8
|
+
private def self.runtime_action: (IR::parser_action action) -> IR::runtime_action
|
|
9
|
+
|
|
10
|
+
class TableSet < Struct[untyped]
|
|
11
|
+
attr_accessor actions(): untyped
|
|
12
|
+
|
|
13
|
+
attr_accessor gotos(): untyped
|
|
14
|
+
|
|
15
|
+
attr_accessor default_actions(): untyped
|
|
16
|
+
|
|
17
|
+
def self.new: (?actions: untyped, ?gotos: untyped, ?default_actions: untyped) -> instance
|
|
18
|
+
| ({ ?actions: untyped, ?gotos: untyped, ?default_actions: untyped }) -> instance
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Sparse table represented by per-row offsets and ownership checks.
|
|
22
|
+
class Compact
|
|
23
|
+
attr_reader offsets: Array[Integer]
|
|
24
|
+
|
|
25
|
+
attr_reader values: Array[untyped]
|
|
26
|
+
|
|
27
|
+
attr_reader checks: Array[Integer?]
|
|
28
|
+
|
|
29
|
+
attr_reader row_count: Integer
|
|
30
|
+
|
|
31
|
+
# @rbs (Array[Hash[Integer, untyped]] rows) -> Compact
|
|
32
|
+
def self.build: (Array[Hash[Integer, untyped]] rows) -> Compact
|
|
33
|
+
|
|
34
|
+
# @rbs (Array[Integer] columns, Array[Integer?] checks) -> Integer
|
|
35
|
+
private def self.find_offset: (Array[Integer] columns, Array[Integer?] checks) -> Integer
|
|
36
|
+
|
|
37
|
+
# @rbs (offsets: Array[Integer], values: Array[untyped], checks: Array[Integer?], row_count: Integer) -> void
|
|
38
|
+
def initialize: (offsets: Array[Integer], values: Array[untyped], checks: Array[Integer?], row_count: Integer) -> void
|
|
39
|
+
|
|
40
|
+
# @rbs (Integer row, Integer column) -> untyped
|
|
41
|
+
def lookup: (Integer row, Integer column) -> untyped
|
|
42
|
+
|
|
43
|
+
# @rbs (Integer row) -> Hash[Integer, untyped]
|
|
44
|
+
def row: (Integer row) -> Hash[Integer, untyped]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# @rbs (IR::Automaton automaton, ?format: Symbol | String) -> TableSet
|
|
48
|
+
def self?.build: (IR::Automaton automaton, ?format: Symbol | String) -> TableSet
|
|
49
|
+
end
|
|
50
|
+
end
|
data/sig/ibex.rbs
ADDED
metadata
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: ibex
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Yudai Takada
|
|
8
|
+
bindir: exe
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies: []
|
|
12
|
+
description: Ibex generates LR parsers from racc-compatible grammars without native
|
|
13
|
+
extensions.
|
|
14
|
+
email:
|
|
15
|
+
- t.yudai92@gmail.com
|
|
16
|
+
executables:
|
|
17
|
+
- ibex
|
|
18
|
+
extensions: []
|
|
19
|
+
extra_rdoc_files: []
|
|
20
|
+
files:
|
|
21
|
+
- ".rubocop.yml"
|
|
22
|
+
- CHANGELOG.md
|
|
23
|
+
- LICENSE.txt
|
|
24
|
+
- README.md
|
|
25
|
+
- Rakefile
|
|
26
|
+
- Steepfile
|
|
27
|
+
- docs/architecture.md
|
|
28
|
+
- docs/compat-notes.md
|
|
29
|
+
- docs/grammar-reference.md
|
|
30
|
+
- docs/lexer-coverage.md
|
|
31
|
+
- docs/phase10-extensions.md
|
|
32
|
+
- docs/racc-migration.md
|
|
33
|
+
- exe/ibex
|
|
34
|
+
- gemfiles/Gemfile
|
|
35
|
+
- gemfiles/Gemfile.lock
|
|
36
|
+
- lib/ibex.rb
|
|
37
|
+
- lib/ibex/analysis.rb
|
|
38
|
+
- lib/ibex/analysis/sets.rb
|
|
39
|
+
- lib/ibex/cli.rb
|
|
40
|
+
- lib/ibex/cli/counterexample_options.rb
|
|
41
|
+
- lib/ibex/cli/outputs.rb
|
|
42
|
+
- lib/ibex/codegen/dot.rb
|
|
43
|
+
- lib/ibex/codegen/html.rb
|
|
44
|
+
- lib/ibex/codegen/rbs.rb
|
|
45
|
+
- lib/ibex/codegen/report.rb
|
|
46
|
+
- lib/ibex/codegen/ruby.rb
|
|
47
|
+
- lib/ibex/codegen/symbol_labels.rb
|
|
48
|
+
- lib/ibex/error.rb
|
|
49
|
+
- lib/ibex/frontend.rb
|
|
50
|
+
- lib/ibex/frontend/action_scanner.rb
|
|
51
|
+
- lib/ibex/frontend/ast.rb
|
|
52
|
+
- lib/ibex/frontend/bootstrap_parser.rb
|
|
53
|
+
- lib/ibex/frontend/dsl.rb
|
|
54
|
+
- lib/ibex/frontend/generated_parser.rb
|
|
55
|
+
- lib/ibex/frontend/generated_parser_base.rb
|
|
56
|
+
- lib/ibex/frontend/grammar.y
|
|
57
|
+
- lib/ibex/frontend/lexer.rb
|
|
58
|
+
- lib/ibex/frontend/parser.rb
|
|
59
|
+
- lib/ibex/frontend/parser/declarations.rb
|
|
60
|
+
- lib/ibex/frontend/parser/rules.rb
|
|
61
|
+
- lib/ibex/frontend/regenerator.rb
|
|
62
|
+
- lib/ibex/frontend/source_cursor.rb
|
|
63
|
+
- lib/ibex/frontend/token_adapter.rb
|
|
64
|
+
- lib/ibex/frontend/token_adapter/declaration_state.rb
|
|
65
|
+
- lib/ibex/frontend/token_adapter/delimiter_tracker.rb
|
|
66
|
+
- lib/ibex/frontend/token_adapter/rule_state.rb
|
|
67
|
+
- lib/ibex/ir.rb
|
|
68
|
+
- lib/ibex/ir/automaton_ir.rb
|
|
69
|
+
- lib/ibex/ir/grammar_ir.rb
|
|
70
|
+
- lib/ibex/ir/serialize.rb
|
|
71
|
+
- lib/ibex/lalr.rb
|
|
72
|
+
- lib/ibex/lalr/builder.rb
|
|
73
|
+
- lib/ibex/lalr/conflict.rb
|
|
74
|
+
- lib/ibex/lalr/conflict_search.rb
|
|
75
|
+
- lib/ibex/lalr/conflict_search_limits.rb
|
|
76
|
+
- lib/ibex/lalr/counterexample.rb
|
|
77
|
+
- lib/ibex/lalr/default_reductions.rb
|
|
78
|
+
- lib/ibex/normalize.rb
|
|
79
|
+
- lib/ibex/normalize/declarations.rb
|
|
80
|
+
- lib/ibex/normalize/diagnostics.rb
|
|
81
|
+
- lib/ibex/normalize/expander.rb
|
|
82
|
+
- lib/ibex/normalize/expression.rb
|
|
83
|
+
- lib/ibex/runtime.rb
|
|
84
|
+
- lib/ibex/runtime/parser.rb
|
|
85
|
+
- lib/ibex/tables.rb
|
|
86
|
+
- lib/ibex/version.rb
|
|
87
|
+
- sig/ibex.rbs
|
|
88
|
+
- sig/ibex/analysis.rbs
|
|
89
|
+
- sig/ibex/analysis/sets.rbs
|
|
90
|
+
- sig/ibex/cli.rbs
|
|
91
|
+
- sig/ibex/cli/counterexample_options.rbs
|
|
92
|
+
- sig/ibex/cli/outputs.rbs
|
|
93
|
+
- sig/ibex/codegen/dot.rbs
|
|
94
|
+
- sig/ibex/codegen/html.rbs
|
|
95
|
+
- sig/ibex/codegen/rbs.rbs
|
|
96
|
+
- sig/ibex/codegen/report.rbs
|
|
97
|
+
- sig/ibex/codegen/ruby.rbs
|
|
98
|
+
- sig/ibex/codegen/symbol_labels.rbs
|
|
99
|
+
- sig/ibex/error.rbs
|
|
100
|
+
- sig/ibex/frontend.rbs
|
|
101
|
+
- sig/ibex/frontend/action_scanner.rbs
|
|
102
|
+
- sig/ibex/frontend/ast.rbs
|
|
103
|
+
- sig/ibex/frontend/bootstrap_parser.rbs
|
|
104
|
+
- sig/ibex/frontend/dsl.rbs
|
|
105
|
+
- sig/ibex/frontend/generated_parser.rbs
|
|
106
|
+
- sig/ibex/frontend/generated_parser_base.rbs
|
|
107
|
+
- sig/ibex/frontend/lexer.rbs
|
|
108
|
+
- sig/ibex/frontend/parser.rbs
|
|
109
|
+
- sig/ibex/frontend/parser/declarations.rbs
|
|
110
|
+
- sig/ibex/frontend/parser/rules.rbs
|
|
111
|
+
- sig/ibex/frontend/regenerator.rbs
|
|
112
|
+
- sig/ibex/frontend/source_cursor.rbs
|
|
113
|
+
- sig/ibex/frontend/token_adapter.rbs
|
|
114
|
+
- sig/ibex/frontend/token_adapter/declaration_state.rbs
|
|
115
|
+
- sig/ibex/frontend/token_adapter/delimiter_tracker.rbs
|
|
116
|
+
- sig/ibex/frontend/token_adapter/rule_state.rbs
|
|
117
|
+
- sig/ibex/ir.rbs
|
|
118
|
+
- sig/ibex/ir/automaton_ir.rbs
|
|
119
|
+
- sig/ibex/ir/grammar_ir.rbs
|
|
120
|
+
- sig/ibex/ir/serialize.rbs
|
|
121
|
+
- sig/ibex/lalr.rbs
|
|
122
|
+
- sig/ibex/lalr/builder.rbs
|
|
123
|
+
- sig/ibex/lalr/conflict.rbs
|
|
124
|
+
- sig/ibex/lalr/conflict_search.rbs
|
|
125
|
+
- sig/ibex/lalr/conflict_search_limits.rbs
|
|
126
|
+
- sig/ibex/lalr/counterexample.rbs
|
|
127
|
+
- sig/ibex/lalr/default_reductions.rbs
|
|
128
|
+
- sig/ibex/normalize.rbs
|
|
129
|
+
- sig/ibex/normalize/declarations.rbs
|
|
130
|
+
- sig/ibex/normalize/diagnostics.rbs
|
|
131
|
+
- sig/ibex/normalize/expander.rbs
|
|
132
|
+
- sig/ibex/normalize/expression.rbs
|
|
133
|
+
- sig/ibex/runtime.rbs
|
|
134
|
+
- sig/ibex/runtime/parser.rbs
|
|
135
|
+
- sig/ibex/tables.rbs
|
|
136
|
+
- sig/ibex/version.rbs
|
|
137
|
+
homepage: https://github.com/ydah/ibex
|
|
138
|
+
licenses:
|
|
139
|
+
- MIT
|
|
140
|
+
metadata:
|
|
141
|
+
homepage_uri: https://github.com/ydah/ibex
|
|
142
|
+
source_code_uri: https://github.com/ydah/ibex/tree/main
|
|
143
|
+
rubygems_mfa_required: 'true'
|
|
144
|
+
rdoc_options: []
|
|
145
|
+
require_paths:
|
|
146
|
+
- lib
|
|
147
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
148
|
+
requirements:
|
|
149
|
+
- - ">="
|
|
150
|
+
- !ruby/object:Gem::Version
|
|
151
|
+
version: 3.0.0
|
|
152
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
153
|
+
requirements:
|
|
154
|
+
- - ">="
|
|
155
|
+
- !ruby/object:Gem::Version
|
|
156
|
+
version: '0'
|
|
157
|
+
requirements: []
|
|
158
|
+
rubygems_version: 4.0.6
|
|
159
|
+
specification_version: 4
|
|
160
|
+
summary: A Pure Ruby LR parser generator
|
|
161
|
+
test_files: []
|