lexer_kit 0.5.0-arm64-darwin-23

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.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +157 -0
  4. data/exe/lexer_kit +7 -0
  5. data/lib/lexer_kit/builder/compiler.rb +596 -0
  6. data/lib/lexer_kit/builder/conflict_detector.rb +209 -0
  7. data/lib/lexer_kit/builder/mode_def.rb +36 -0
  8. data/lib/lexer_kit/builder/token_def.rb +65 -0
  9. data/lib/lexer_kit/builder/validator.rb +84 -0
  10. data/lib/lexer_kit/builder.rb +230 -0
  11. data/lib/lexer_kit/cli/commands.rb +389 -0
  12. data/lib/lexer_kit/cli.rb +88 -0
  13. data/lib/lexer_kit/core/diagnostic.rb +103 -0
  14. data/lib/lexer_kit/core/source.rb +154 -0
  15. data/lib/lexer_kit/core/span.rb +80 -0
  16. data/lib/lexer_kit/core/token.rb +120 -0
  17. data/lib/lexer_kit/core.rb +13 -0
  18. data/lib/lexer_kit/debug/disassembler.rb +143 -0
  19. data/lib/lexer_kit/debug/visualizer.rb +203 -0
  20. data/lib/lexer_kit/debug.rb +11 -0
  21. data/lib/lexer_kit/dfa/byte_class_builder.rb +69 -0
  22. data/lib/lexer_kit/dfa/case_folding.rb +45 -0
  23. data/lib/lexer_kit/dfa/char_class_collector.rb +81 -0
  24. data/lib/lexer_kit/dfa/dfa_builder.rb +95 -0
  25. data/lib/lexer_kit/dfa/dfa_minimizer.rb +158 -0
  26. data/lib/lexer_kit/dfa/nfa.rb +304 -0
  27. data/lib/lexer_kit/dfa/regex_ast.rb +64 -0
  28. data/lib/lexer_kit/dfa/regex_parser.rb +385 -0
  29. data/lib/lexer_kit/dfa/utf8_range.rb +175 -0
  30. data/lib/lexer_kit/dfa/utf8_range_pattern.rb +17 -0
  31. data/lib/lexer_kit/dfa.rb +37 -0
  32. data/lib/lexer_kit/errors.rb +76 -0
  33. data/lib/lexer_kit/format/lkb1/decoder.rb +126 -0
  34. data/lib/lexer_kit/format/lkb1.rb +199 -0
  35. data/lib/lexer_kit/format/lkt1.rb +111 -0
  36. data/lib/lexer_kit/format.rb +19 -0
  37. data/lib/lexer_kit/ir/compiled_program.rb +228 -0
  38. data/lib/lexer_kit/ir/constant_pool.rb +107 -0
  39. data/lib/lexer_kit/ir/dfa_table.rb +125 -0
  40. data/lib/lexer_kit/ir/instruction.rb +50 -0
  41. data/lib/lexer_kit/ir/jump_table.rb +94 -0
  42. data/lib/lexer_kit/ir/keyword_table.rb +168 -0
  43. data/lib/lexer_kit/ir/opcode.rb +96 -0
  44. data/lib/lexer_kit/ir/serializer.rb +249 -0
  45. data/lib/lexer_kit/ir.rb +16 -0
  46. data/lib/lexer_kit/runner.rb +114 -0
  47. data/lib/lexer_kit/trie.rb +170 -0
  48. data/lib/lexer_kit/version.rb +5 -0
  49. data/lib/lexer_kit.rb +155 -0
  50. data/lib/lexer_kit_rust/lexer_kit_rust.bundle +0 -0
  51. metadata +111 -0
metadata ADDED
@@ -0,0 +1,111 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lexer_kit
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0
5
+ platform: arm64-darwin-23
6
+ authors:
7
+ - takahashim
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: base64
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '0'
26
+ description: LexerKit is a high performance lexer toolkit for Ruby
27
+ email:
28
+ - takahashimm@gmail.com
29
+ executables:
30
+ - lexer_kit
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - LICENSE.txt
35
+ - README.md
36
+ - exe/lexer_kit
37
+ - lib/lexer_kit.rb
38
+ - lib/lexer_kit/builder.rb
39
+ - lib/lexer_kit/builder/compiler.rb
40
+ - lib/lexer_kit/builder/conflict_detector.rb
41
+ - lib/lexer_kit/builder/mode_def.rb
42
+ - lib/lexer_kit/builder/token_def.rb
43
+ - lib/lexer_kit/builder/validator.rb
44
+ - lib/lexer_kit/cli.rb
45
+ - lib/lexer_kit/cli/commands.rb
46
+ - lib/lexer_kit/core.rb
47
+ - lib/lexer_kit/core/diagnostic.rb
48
+ - lib/lexer_kit/core/source.rb
49
+ - lib/lexer_kit/core/span.rb
50
+ - lib/lexer_kit/core/token.rb
51
+ - lib/lexer_kit/debug.rb
52
+ - lib/lexer_kit/debug/disassembler.rb
53
+ - lib/lexer_kit/debug/visualizer.rb
54
+ - lib/lexer_kit/dfa.rb
55
+ - lib/lexer_kit/dfa/byte_class_builder.rb
56
+ - lib/lexer_kit/dfa/case_folding.rb
57
+ - lib/lexer_kit/dfa/char_class_collector.rb
58
+ - lib/lexer_kit/dfa/dfa_builder.rb
59
+ - lib/lexer_kit/dfa/dfa_minimizer.rb
60
+ - lib/lexer_kit/dfa/nfa.rb
61
+ - lib/lexer_kit/dfa/regex_ast.rb
62
+ - lib/lexer_kit/dfa/regex_parser.rb
63
+ - lib/lexer_kit/dfa/utf8_range.rb
64
+ - lib/lexer_kit/dfa/utf8_range_pattern.rb
65
+ - lib/lexer_kit/errors.rb
66
+ - lib/lexer_kit/format.rb
67
+ - lib/lexer_kit/format/lkb1.rb
68
+ - lib/lexer_kit/format/lkb1/decoder.rb
69
+ - lib/lexer_kit/format/lkt1.rb
70
+ - lib/lexer_kit/ir.rb
71
+ - lib/lexer_kit/ir/compiled_program.rb
72
+ - lib/lexer_kit/ir/constant_pool.rb
73
+ - lib/lexer_kit/ir/dfa_table.rb
74
+ - lib/lexer_kit/ir/instruction.rb
75
+ - lib/lexer_kit/ir/jump_table.rb
76
+ - lib/lexer_kit/ir/keyword_table.rb
77
+ - lib/lexer_kit/ir/opcode.rb
78
+ - lib/lexer_kit/ir/serializer.rb
79
+ - lib/lexer_kit/runner.rb
80
+ - lib/lexer_kit/trie.rb
81
+ - lib/lexer_kit/version.rb
82
+ - lib/lexer_kit_rust/lexer_kit_rust.bundle
83
+ homepage: https://github.com/takahashim/lexer_kit
84
+ licenses:
85
+ - MIT
86
+ metadata:
87
+ homepage_uri: https://github.com/takahashim/lexer_kit
88
+ source_code_uri: https://github.com/takahashim/lexer_kit
89
+ changelog_uri: https://github.com/takahashim/lexer_kit/blob/main/CHANGELOG.md
90
+ rubygems_mfa_required: 'true'
91
+ rdoc_options: []
92
+ require_paths:
93
+ - lib
94
+ required_ruby_version: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '3.4'
99
+ - - "<"
100
+ - !ruby/object:Gem::Version
101
+ version: 3.5.dev
102
+ required_rubygems_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ requirements: []
108
+ rubygems_version: 3.6.9
109
+ specification_version: 4
110
+ summary: A high-performance lexer toolkit for Ruby
111
+ test_files: []