regexp_parser 2.9.0 → 2.10.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 +4 -4
 - data/lib/regexp_parser/expression/classes/backreference.rb +1 -20
 - data/lib/regexp_parser/expression/classes/conditional.rb +0 -14
 - data/lib/regexp_parser/expression/classes/escape_sequence.rb +18 -90
 - data/lib/regexp_parser/expression/classes/keep.rb +1 -1
 - data/lib/regexp_parser/expression/methods/escape_sequence_char.rb +5 -0
 - data/lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb +68 -0
 - data/lib/regexp_parser/expression/methods/referenced_expressions.rb +28 -0
 - data/lib/regexp_parser/expression.rb +37 -34
 - data/lib/regexp_parser/parser.rb +12 -9
 - data/lib/regexp_parser/scanner/errors/scanner_error.rb +1 -1
 - data/lib/regexp_parser/scanner/scanner.rl +5 -5
 - data/lib/regexp_parser/scanner.rb +728 -771
 - data/lib/regexp_parser/syntax/token.rb +13 -13
 - data/lib/regexp_parser/syntax/versions.rb +1 -1
 - data/lib/regexp_parser/syntax.rb +1 -1
 - data/lib/regexp_parser/version.rb +1 -1
 - data/lib/regexp_parser.rb +6 -6
 - data/regexp_parser.gemspec +2 -0
 - metadata +7 -3
 
| 
         @@ -20,19 +20,19 @@ end 
     | 
|
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
            # Load all the token files, they will populate the Map constant.
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
      
 23 
     | 
    
         
            +
            require_relative 'token/anchor'
         
     | 
| 
      
 24 
     | 
    
         
            +
            require_relative 'token/assertion'
         
     | 
| 
      
 25 
     | 
    
         
            +
            require_relative 'token/backreference'
         
     | 
| 
      
 26 
     | 
    
         
            +
            require_relative 'token/posix_class'
         
     | 
| 
      
 27 
     | 
    
         
            +
            require_relative 'token/character_set'
         
     | 
| 
      
 28 
     | 
    
         
            +
            require_relative 'token/character_type'
         
     | 
| 
      
 29 
     | 
    
         
            +
            require_relative 'token/conditional'
         
     | 
| 
      
 30 
     | 
    
         
            +
            require_relative 'token/escape'
         
     | 
| 
      
 31 
     | 
    
         
            +
            require_relative 'token/group'
         
     | 
| 
      
 32 
     | 
    
         
            +
            require_relative 'token/keep'
         
     | 
| 
      
 33 
     | 
    
         
            +
            require_relative 'token/meta'
         
     | 
| 
      
 34 
     | 
    
         
            +
            require_relative 'token/quantifier'
         
     | 
| 
      
 35 
     | 
    
         
            +
            require_relative 'token/unicode_property'
         
     | 
| 
       36 
36 
     | 
    
         | 
| 
       37 
37 
     | 
    
         | 
| 
       38 
38 
     | 
    
         
             
            # After loading all the tokens the map is full. Extract all tokens and types
         
     | 
| 
         @@ -3,6 +3,6 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            #
         
     | 
| 
       4 
4 
     | 
    
         
             
            # Aliases for the latest patch version are provided as 'ruby/n.n',
         
     | 
| 
       5 
5 
     | 
    
         
             
            # e.g. 'ruby/1.9' refers to Ruby v1.9.3.
         
     | 
| 
       6 
     | 
    
         
            -
            Dir[File.expand_path('../versions/*.rb', __FILE__)].sort.each { |f|  
     | 
| 
      
 6 
     | 
    
         
            +
            Dir[File.expand_path('../versions/*.rb', __FILE__)].sort.each { |f| require_relative f }
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            Regexp::Syntax::CURRENT = Regexp::Syntax.for("ruby/#{RUBY_VERSION}")
         
     | 
    
        data/lib/regexp_parser/syntax.rb
    CHANGED
    
    
    
        data/lib/regexp_parser.rb
    CHANGED
    
    | 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            require_relative 'regexp_parser/version'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require_relative 'regexp_parser/token'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require_relative 'regexp_parser/scanner'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require_relative 'regexp_parser/syntax'
         
     | 
| 
      
 5 
     | 
    
         
            +
            require_relative 'regexp_parser/lexer'
         
     | 
| 
      
 6 
     | 
    
         
            +
            require_relative 'regexp_parser/parser'
         
     | 
    
        data/regexp_parser.gemspec
    CHANGED
    
    | 
         @@ -16,6 +16,8 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       16 
16 
     | 
    
         
             
              spec.metadata['source_code_uri'] = spec.homepage
         
     | 
| 
       17 
17 
     | 
    
         
             
              spec.metadata['wiki_uri']        = "#{spec.homepage}/wiki"
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
      
 19 
     | 
    
         
            +
              spec.metadata['rubygems_mfa_required'] = 'true'
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
       19 
21 
     | 
    
         
             
              spec.authors       = ['Ammar Ali', 'Janosch Müller']
         
     | 
| 
       20 
22 
     | 
    
         
             
              spec.email         = ['ammarabuali@gmail.com', 'janosch84@gmail.com']
         
     | 
| 
       21 
23 
     | 
    
         | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: regexp_parser
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.10.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Ammar Ali
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire:
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2024- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2024-12-25 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       14 
14 
     | 
    
         
             
            description: A library for tokenizing, lexing, and parsing Ruby regular expressions.
         
     | 
| 
       15 
15 
     | 
    
         
             
            email:
         
     | 
| 
         @@ -43,6 +43,8 @@ files: 
     | 
|
| 
       43 
43 
     | 
    
         
             
            - lib/regexp_parser/expression/classes/root.rb
         
     | 
| 
       44 
44 
     | 
    
         
             
            - lib/regexp_parser/expression/classes/unicode_property.rb
         
     | 
| 
       45 
45 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/construct.rb
         
     | 
| 
      
 46 
     | 
    
         
            +
            - lib/regexp_parser/expression/methods/escape_sequence_char.rb
         
     | 
| 
      
 47 
     | 
    
         
            +
            - lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb
         
     | 
| 
       46 
48 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/human_name.rb
         
     | 
| 
       47 
49 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/match.rb
         
     | 
| 
       48 
50 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/match_length.rb
         
     | 
| 
         @@ -50,6 +52,7 @@ files: 
     | 
|
| 
       50 
52 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/options.rb
         
     | 
| 
       51 
53 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/parts.rb
         
     | 
| 
       52 
54 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/printing.rb
         
     | 
| 
      
 55 
     | 
    
         
            +
            - lib/regexp_parser/expression/methods/referenced_expressions.rb
         
     | 
| 
       53 
56 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/strfregexp.rb
         
     | 
| 
       54 
57 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/tests.rb
         
     | 
| 
       55 
58 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/traverse.rb
         
     | 
| 
         @@ -115,6 +118,7 @@ metadata: 
     | 
|
| 
       115 
118 
     | 
    
         
             
              homepage_uri: https://github.com/ammar/regexp_parser
         
     | 
| 
       116 
119 
     | 
    
         
             
              source_code_uri: https://github.com/ammar/regexp_parser
         
     | 
| 
       117 
120 
     | 
    
         
             
              wiki_uri: https://github.com/ammar/regexp_parser/wiki
         
     | 
| 
      
 121 
     | 
    
         
            +
              rubygems_mfa_required: 'true'
         
     | 
| 
       118 
122 
     | 
    
         
             
            post_install_message:
         
     | 
| 
       119 
123 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       120 
124 
     | 
    
         
             
            require_paths:
         
     | 
| 
         @@ -130,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       130 
134 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       131 
135 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       132 
136 
     | 
    
         
             
            requirements: []
         
     | 
| 
       133 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
      
 137 
     | 
    
         
            +
            rubygems_version: 3.4.13
         
     | 
| 
       134 
138 
     | 
    
         
             
            signing_key:
         
     | 
| 
       135 
139 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       136 
140 
     | 
    
         
             
            summary: Scanner, lexer, parser for ruby's regular expressions
         
     |