l43_peg 0.1.8 → 0.1.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0d386b9373423da69f7697e81bd02a011df1c36cc20ff6c861b3215a2081dea9
4
- data.tar.gz: b82ba81e4372717f6603b6b41311d1ff2f608ce4a9cc7376c3242a65e3842432
3
+ metadata.gz: 9e988304f4b2f29b9d0fdc15008e8cc0bdf1b9bd2407d5563a7a8d0f88ff805e
4
+ data.tar.gz: 6d8c8edca204793d062ce30dc2ee22f8f3a95faee74779e62beb4a9d90ef4234
5
5
  SHA512:
6
- metadata.gz: 265f550e6e956e85c5b0a39a5817ab13424e57d0da7d44ff9b946c318392421955292d7462b24a4a744c2f8361af10b627204800408fa500500c6779d359314b
7
- data.tar.gz: 54eb3d55de2704d91c31d9fd31db3931fab1c5f614a005e11ca3efcafb854cf964f8b6a3e26bc43d93005065bc42dcdd517b6ef3d3284c3d205f93f7c9ccf466
6
+ metadata.gz: 5884815166a138bf01163af5b0782d83cac9ac97571cbcb9cc35a92dcc54dacef96fa5f5b97049c0d39b0585fa71e6c50a04d91459889c64a17a7858ac9bc199
7
+ data.tar.gz: 0c709f631fba65dcf86e172aba3b4fc3743d8d0a246089a361a0954a1abaaad69b24fa3de78e73ae62cb7ed3c150f950b7925cdafea2a8157c80d7b8720090a1
@@ -2,13 +2,15 @@
2
2
 
3
3
  require_relative 'helper'
4
4
  require_relative 'mappers'
5
- require_relative 'parser'
6
- require_relative 'parsers'
7
- require_subdir('combinators') {}
8
5
 
9
6
  module L43Peg
10
7
  module Combinators extend self
11
8
 
9
+ require 'l43_peg/combinators/debug_parser'
10
+ require 'l43_peg/combinators/many'
11
+ require 'l43_peg/combinators/sel'
12
+ require 'l43_peg/combinators/seq'
13
+
12
14
  include L43Peg::Helper
13
15
  include L43Peg::Mappers
14
16
  include L43Peg::Parsers
@@ -1,10 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module L43Peg
4
+ # A wrapper
4
5
  class Parser
5
6
 
6
7
  attr_reader :fn, :name
7
8
 
9
+ # Calls the parse function of this parser instance.
10
+ #
11
+ # @param input [L43Peg::Input] to be parsed
8
12
  def call(input, cache: L43Peg::Cache.new)
9
13
  fn.(input, cache, name)
10
14
  end
@@ -1,10 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'combinators'
4
- require_subdir {}
5
3
 
6
4
  module L43Peg
7
5
  module Parsers extend self
6
+
7
+ require 'l43_peg/combinators'
8
+ require 'l43_peg/parsers/char_parser'
9
+ require 'l43_peg/parsers/end_parser'
10
+ require 'l43_peg/parsers/failure_parser'
11
+ require 'l43_peg/parsers/int_parser'
12
+ require 'l43_peg/parsers/rgx_parser'
13
+ require 'l43_peg/parsers/rgx_tokenizer'
14
+ require 'l43_peg/parsers/sel_rgx_parser'
15
+ require 'l43_peg/parsers/token_parser'
16
+ require 'l43_peg/parsers/tokens_parser'
17
+ require 'l43_peg/parsers/verb_parser'
18
+
8
19
  def args_parser(args, name: nil, stop: nil, &blk) =
9
20
  L43Peg::Combinators.args_parser(args, name:, stop:, &blk)
10
21
  def char_parser(charset = nil) = L43Peg::Parsers::CharParser.new(charset)
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module L43Peg
4
+ VERSION = '0.1.9'
5
+ end
6
+ # SPDX-License-Identifier: AGPL-3.0-or-later
data/lib/l43_peg.rb CHANGED
@@ -2,12 +2,23 @@
2
2
 
3
3
  require 'l43/open_object'
4
4
 
5
- require_relative 'l43/require_helper'
6
- require_subdir {}
5
+ require 'l43_peg/cache'
6
+ require 'l43_peg/failure'
7
+ require 'l43_peg/success'
7
8
 
8
- module L43Peg extend self
9
- VERSION = "0.1.8"
9
+ require 'l43_peg/input'
10
+ require 'l43_peg/stop'
11
+ require 'l43_peg/tokens'
12
+
13
+ require 'l43_peg/parser'
14
+ require 'l43_peg/parsers'
10
15
 
16
+ ##
17
+ # The main namespace
18
+ module L43Peg extend self
19
+ ##
20
+ #
21
+ # A convenience function
11
22
  def parse_string(parser, input, lnb: 1, col: 1, context: {})
12
23
  input = Input.new(input:, col:, lnb:, context:)
13
24
  _parse(parser, input)
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: l43_peg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Dober
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-05-15 00:00:00.000000000 Z
10
+ date: 2026-04-15 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: l43_open_object
@@ -16,14 +15,14 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: 0.2.1
18
+ version: 0.2.9
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: 0.2.1
25
+ version: 0.2.9
27
26
  description: |
28
27
  A (still incomplete) PEG Library
29
28
 
@@ -36,7 +35,6 @@ files:
36
35
  - LICENSE
37
36
  - README.md
38
37
  - lib/l43/match_data_extenstion.rb
39
- - lib/l43/require_helper.rb
40
38
  - lib/l43_peg.rb
41
39
  - lib/l43_peg/cache.rb
42
40
  - lib/l43_peg/combinators.rb
@@ -63,11 +61,11 @@ files:
63
61
  - lib/l43_peg/stop.rb
64
62
  - lib/l43_peg/success.rb
65
63
  - lib/l43_peg/tokens.rb
64
+ - lib/l43_peg/version.rb
66
65
  homepage: https://codeberg.org/lab419/l43_peg
67
66
  licenses:
68
67
  - AGPL-3.0-or-later
69
68
  metadata: {}
70
- post_install_message:
71
69
  rdoc_options: []
72
70
  require_paths:
73
71
  - lib
@@ -75,15 +73,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
75
73
  requirements:
76
74
  - - ">="
77
75
  - !ruby/object:Gem::Version
78
- version: 3.3.0
76
+ version: 4.0.1
79
77
  required_rubygems_version: !ruby/object:Gem::Requirement
80
78
  requirements:
81
79
  - - ">="
82
80
  - !ruby/object:Gem::Version
83
81
  version: '0'
84
82
  requirements: []
85
- rubygems_version: 3.5.8
86
- signing_key:
83
+ rubygems_version: 4.0.10
87
84
  specification_version: 4
88
85
  summary: A (still incomplete) PEG Library
89
86
  test_files: []
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Object
4
- def require_subdir(path=nil, &blk)
5
- Dir.glob(File.join([File.dirname(blk.source_location.first), path, '/**/*.rb'].compact)).each { require _1}
6
- end
7
- end
8
- # SPDX-License-Identifier: AGPL-3.0-or-later