regexp_parser 2.8.1 → 2.11.3
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/Gemfile +6 -4
 - data/LICENSE +1 -1
 - data/Rakefile +5 -3
 - data/lib/regexp_parser/error.rb +2 -0
 - data/lib/regexp_parser/expression/base.rb +2 -0
 - data/lib/regexp_parser/expression/classes/alternation.rb +2 -0
 - data/lib/regexp_parser/expression/classes/anchor.rb +2 -0
 - data/lib/regexp_parser/expression/classes/backreference.rb +3 -20
 - data/lib/regexp_parser/expression/classes/character_set/intersection.rb +2 -0
 - data/lib/regexp_parser/expression/classes/character_set/range.rb +2 -0
 - data/lib/regexp_parser/expression/classes/character_set.rb +3 -4
 - data/lib/regexp_parser/expression/classes/character_type.rb +2 -0
 - data/lib/regexp_parser/expression/classes/conditional.rb +2 -14
 - data/lib/regexp_parser/expression/classes/escape_sequence.rb +26 -95
 - data/lib/regexp_parser/expression/classes/free_space.rb +2 -0
 - data/lib/regexp_parser/expression/classes/group.rb +2 -0
 - data/lib/regexp_parser/expression/classes/keep.rb +3 -1
 - data/lib/regexp_parser/expression/classes/literal.rb +2 -0
 - data/lib/regexp_parser/expression/classes/posix_class.rb +2 -4
 - data/lib/regexp_parser/expression/classes/root.rb +2 -0
 - data/lib/regexp_parser/expression/classes/unicode_property.rb +8 -9
 - data/lib/regexp_parser/expression/methods/construct.rb +2 -0
 - data/lib/regexp_parser/expression/methods/escape_sequence_char.rb +7 -0
 - data/lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb +76 -0
 - data/lib/regexp_parser/expression/methods/human_name.rb +2 -0
 - data/lib/regexp_parser/expression/methods/match.rb +2 -0
 - data/lib/regexp_parser/expression/methods/match_length.rb +2 -0
 - data/lib/regexp_parser/expression/methods/negative.rb +22 -0
 - data/lib/regexp_parser/expression/methods/options.rb +2 -0
 - data/lib/regexp_parser/expression/methods/parts.rb +2 -0
 - data/lib/regexp_parser/expression/methods/printing.rb +2 -0
 - data/lib/regexp_parser/expression/methods/referenced_expressions.rb +30 -0
 - data/lib/regexp_parser/expression/methods/strfregexp.rb +2 -0
 - data/lib/regexp_parser/expression/methods/tests.rb +2 -0
 - data/lib/regexp_parser/expression/methods/traverse.rb +2 -0
 - data/lib/regexp_parser/expression/quantifier.rb +3 -1
 - data/lib/regexp_parser/expression/sequence.rb +2 -0
 - data/lib/regexp_parser/expression/sequence_operation.rb +2 -0
 - data/lib/regexp_parser/expression/shared.rb +6 -3
 - data/lib/regexp_parser/expression/subexpression.rb +2 -0
 - data/lib/regexp_parser/expression.rb +39 -33
 - data/lib/regexp_parser/lexer.rb +2 -0
 - data/lib/regexp_parser/parser.rb +16 -9
 - data/lib/regexp_parser/scanner/errors/premature_end_error.rb +2 -0
 - data/lib/regexp_parser/scanner/errors/scanner_error.rb +3 -1
 - data/lib/regexp_parser/scanner/errors/validation_error.rb +2 -0
 - data/lib/regexp_parser/scanner/properties/long.csv +37 -0
 - data/lib/regexp_parser/scanner/properties/short.csv +9 -0
 - data/lib/regexp_parser/scanner/scanner.rl +62 -18
 - data/lib/regexp_parser/scanner.rb +1041 -936
 - data/lib/regexp_parser/syntax/any.rb +2 -0
 - data/lib/regexp_parser/syntax/base.rb +2 -0
 - data/lib/regexp_parser/syntax/token/anchor.rb +5 -3
 - data/lib/regexp_parser/syntax/token/assertion.rb +4 -2
 - data/lib/regexp_parser/syntax/token/backreference.rb +8 -6
 - data/lib/regexp_parser/syntax/token/character_set.rb +3 -1
 - data/lib/regexp_parser/syntax/token/character_type.rb +6 -4
 - data/lib/regexp_parser/syntax/token/conditional.rb +5 -3
 - data/lib/regexp_parser/syntax/token/escape.rb +9 -7
 - data/lib/regexp_parser/syntax/token/group.rb +8 -6
 - data/lib/regexp_parser/syntax/token/keep.rb +3 -1
 - data/lib/regexp_parser/syntax/token/meta.rb +4 -2
 - data/lib/regexp_parser/syntax/token/posix_class.rb +4 -2
 - data/lib/regexp_parser/syntax/token/quantifier.rb +8 -6
 - data/lib/regexp_parser/syntax/token/unicode_property.rb +79 -46
 - data/lib/regexp_parser/syntax/token/virtual.rb +5 -3
 - data/lib/regexp_parser/syntax/token.rb +18 -16
 - data/lib/regexp_parser/syntax/version_lookup.rb +4 -2
 - data/lib/regexp_parser/syntax/versions/1.8.6.rb +2 -0
 - data/lib/regexp_parser/syntax/versions/1.9.1.rb +2 -0
 - data/lib/regexp_parser/syntax/versions/1.9.3.rb +2 -0
 - data/lib/regexp_parser/syntax/versions/2.0.0.rb +2 -0
 - data/lib/regexp_parser/syntax/versions/2.2.0.rb +2 -0
 - data/lib/regexp_parser/syntax/versions/2.3.0.rb +2 -0
 - data/lib/regexp_parser/syntax/versions/2.4.0.rb +2 -0
 - data/lib/regexp_parser/syntax/versions/2.4.1.rb +2 -0
 - data/lib/regexp_parser/syntax/versions/2.5.0.rb +2 -0
 - data/lib/regexp_parser/syntax/versions/2.6.0.rb +2 -0
 - data/lib/regexp_parser/syntax/versions/2.6.2.rb +2 -0
 - data/lib/regexp_parser/syntax/versions/2.6.3.rb +2 -0
 - data/lib/regexp_parser/syntax/versions/3.1.0.rb +2 -0
 - data/lib/regexp_parser/syntax/versions/3.2.0.rb +2 -0
 - data/lib/regexp_parser/syntax/versions/3.5.0.rb +4 -0
 - data/lib/regexp_parser/syntax/versions.rb +3 -1
 - data/lib/regexp_parser/syntax.rb +3 -1
 - data/lib/regexp_parser/token.rb +2 -0
 - data/lib/regexp_parser/version.rb +3 -1
 - data/lib/regexp_parser.rb +8 -6
 - data/regexp_parser.gemspec +7 -5
 - metadata +12 -11
 - data/CHANGELOG.md +0 -691
 - data/README.md +0 -506
 
| 
         @@ -1,8 +1,10 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            # Ruby 1.x is no longer a supported runtime,
         
     | 
| 
       2 
4 
     | 
    
         
             
            # but its regex features are still recognized.
         
     | 
| 
       3 
5 
     | 
    
         
             
            #
         
     | 
| 
       4 
6 
     | 
    
         
             
            # Aliases for the latest patch version are provided as 'ruby/n.n',
         
     | 
| 
       5 
7 
     | 
    
         
             
            # e.g. 'ruby/1.9' refers to Ruby v1.9.3.
         
     | 
| 
       6 
     | 
    
         
            -
            Dir[File.expand_path('../versions/*.rb', __FILE__)].sort.each { |f|  
     | 
| 
      
 8 
     | 
    
         
            +
            Dir[File.expand_path('../versions/*.rb', __FILE__)].sort.each { |f| require_relative f }
         
     | 
| 
       7 
9 
     | 
    
         | 
| 
       8 
10 
     | 
    
         
             
            Regexp::Syntax::CURRENT = Regexp::Syntax.for("ruby/#{RUBY_VERSION}")
         
     | 
    
        data/lib/regexp_parser/syntax.rb
    CHANGED
    
    
    
        data/lib/regexp_parser/token.rb
    CHANGED
    
    
    
        data/lib/regexp_parser.rb
    CHANGED
    
    | 
         @@ -1,6 +1,8 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require_relative 'regexp_parser/version'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require_relative 'regexp_parser/token'
         
     | 
| 
      
 5 
     | 
    
         
            +
            require_relative 'regexp_parser/scanner'
         
     | 
| 
      
 6 
     | 
    
         
            +
            require_relative 'regexp_parser/syntax'
         
     | 
| 
      
 7 
     | 
    
         
            +
            require_relative 'regexp_parser/lexer'
         
     | 
| 
      
 8 
     | 
    
         
            +
            require_relative 'regexp_parser/parser'
         
     | 
    
        data/regexp_parser.gemspec
    CHANGED
    
    | 
         @@ -1,3 +1,5 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            $:.unshift File.join(File.dirname(__FILE__), 'lib')
         
     | 
| 
       2 
4 
     | 
    
         | 
| 
       3 
5 
     | 
    
         
             
            require 'regexp_parser/version'
         
     | 
| 
         @@ -16,17 +18,17 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       16 
18 
     | 
    
         
             
              spec.metadata['source_code_uri'] = spec.homepage
         
     | 
| 
       17 
19 
     | 
    
         
             
              spec.metadata['wiki_uri']        = "#{spec.homepage}/wiki"
         
     | 
| 
       18 
20 
     | 
    
         | 
| 
       19 
     | 
    
         
            -
              spec. 
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
      
 21 
     | 
    
         
            +
              spec.metadata['rubygems_mfa_required'] = 'true'
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
              spec.authors       = ['Ammar Ali', 'Janosch Müller']
         
     | 
| 
      
 24 
     | 
    
         
            +
              spec.email         = ['ammarabuali@gmail.com', 'janosch84@gmail.com']
         
     | 
| 
       21 
25 
     | 
    
         | 
| 
       22 
26 
     | 
    
         
             
              spec.license       = 'MIT'
         
     | 
| 
       23 
27 
     | 
    
         | 
| 
       24 
28 
     | 
    
         
             
              spec.require_paths = ['lib']
         
     | 
| 
       25 
29 
     | 
    
         | 
| 
       26 
30 
     | 
    
         
             
              spec.files         = Dir.glob('lib/**/*.{csv,rb,rl}') +
         
     | 
| 
       27 
     | 
    
         
            -
                                   %w[Gemfile Rakefile LICENSE  
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
              spec.rdoc_options  = ["--inline-source", "--charset=UTF-8"]
         
     | 
| 
      
 31 
     | 
    
         
            +
                                   %w[Gemfile Rakefile LICENSE regexp_parser.gemspec]
         
     | 
| 
       30 
32 
     | 
    
         | 
| 
       31 
33 
     | 
    
         
             
              spec.platform      = Gem::Platform::RUBY
         
     | 
| 
       32 
34 
     | 
    
         | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,26 +1,25 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: regexp_parser
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.11.3
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Ammar Ali
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 8 
     | 
    
         
            +
            - Janosch Müller
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 1980-01-02 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       13 
13 
     | 
    
         
             
            description: A library for tokenizing, lexing, and parsing Ruby regular expressions.
         
     | 
| 
       14 
14 
     | 
    
         
             
            email:
         
     | 
| 
       15 
15 
     | 
    
         
             
            - ammarabuali@gmail.com
         
     | 
| 
      
 16 
     | 
    
         
            +
            - janosch84@gmail.com
         
     | 
| 
       16 
17 
     | 
    
         
             
            executables: []
         
     | 
| 
       17 
18 
     | 
    
         
             
            extensions: []
         
     | 
| 
       18 
19 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       19 
20 
     | 
    
         
             
            files:
         
     | 
| 
       20 
     | 
    
         
            -
            - CHANGELOG.md
         
     | 
| 
       21 
21 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       22 
22 
     | 
    
         
             
            - LICENSE
         
     | 
| 
       23 
     | 
    
         
            -
            - README.md
         
     | 
| 
       24 
23 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       25 
24 
     | 
    
         
             
            - lib/regexp_parser.rb
         
     | 
| 
       26 
25 
     | 
    
         
             
            - lib/regexp_parser/error.rb
         
     | 
| 
         @@ -43,12 +42,16 @@ files: 
     | 
|
| 
       43 
42 
     | 
    
         
             
            - lib/regexp_parser/expression/classes/root.rb
         
     | 
| 
       44 
43 
     | 
    
         
             
            - lib/regexp_parser/expression/classes/unicode_property.rb
         
     | 
| 
       45 
44 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/construct.rb
         
     | 
| 
      
 45 
     | 
    
         
            +
            - lib/regexp_parser/expression/methods/escape_sequence_char.rb
         
     | 
| 
      
 46 
     | 
    
         
            +
            - lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb
         
     | 
| 
       46 
47 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/human_name.rb
         
     | 
| 
       47 
48 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/match.rb
         
     | 
| 
       48 
49 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/match_length.rb
         
     | 
| 
      
 50 
     | 
    
         
            +
            - lib/regexp_parser/expression/methods/negative.rb
         
     | 
| 
       49 
51 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/options.rb
         
     | 
| 
       50 
52 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/parts.rb
         
     | 
| 
       51 
53 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/printing.rb
         
     | 
| 
      
 54 
     | 
    
         
            +
            - lib/regexp_parser/expression/methods/referenced_expressions.rb
         
     | 
| 
       52 
55 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/strfregexp.rb
         
     | 
| 
       53 
56 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/tests.rb
         
     | 
| 
       54 
57 
     | 
    
         
             
            - lib/regexp_parser/expression/methods/traverse.rb
         
     | 
| 
         @@ -102,6 +105,7 @@ files: 
     | 
|
| 
       102 
105 
     | 
    
         
             
            - lib/regexp_parser/syntax/versions/2.6.3.rb
         
     | 
| 
       103 
106 
     | 
    
         
             
            - lib/regexp_parser/syntax/versions/3.1.0.rb
         
     | 
| 
       104 
107 
     | 
    
         
             
            - lib/regexp_parser/syntax/versions/3.2.0.rb
         
     | 
| 
      
 108 
     | 
    
         
            +
            - lib/regexp_parser/syntax/versions/3.5.0.rb
         
     | 
| 
       105 
109 
     | 
    
         
             
            - lib/regexp_parser/token.rb
         
     | 
| 
       106 
110 
     | 
    
         
             
            - lib/regexp_parser/version.rb
         
     | 
| 
       107 
111 
     | 
    
         
             
            - regexp_parser.gemspec
         
     | 
| 
         @@ -114,10 +118,8 @@ metadata: 
     | 
|
| 
       114 
118 
     | 
    
         
             
              homepage_uri: https://github.com/ammar/regexp_parser
         
     | 
| 
       115 
119 
     | 
    
         
             
              source_code_uri: https://github.com/ammar/regexp_parser
         
     | 
| 
       116 
120 
     | 
    
         
             
              wiki_uri: https://github.com/ammar/regexp_parser/wiki
         
     | 
| 
       117 
     | 
    
         
            -
             
     | 
| 
       118 
     | 
    
         
            -
            rdoc_options:
         
     | 
| 
       119 
     | 
    
         
            -
            - "--inline-source"
         
     | 
| 
       120 
     | 
    
         
            -
            - "--charset=UTF-8"
         
     | 
| 
      
 121 
     | 
    
         
            +
              rubygems_mfa_required: 'true'
         
     | 
| 
      
 122 
     | 
    
         
            +
            rdoc_options: []
         
     | 
| 
       121 
123 
     | 
    
         
             
            require_paths:
         
     | 
| 
       122 
124 
     | 
    
         
             
            - lib
         
     | 
| 
       123 
125 
     | 
    
         
             
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -131,8 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       131 
133 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       132 
134 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       133 
135 
     | 
    
         
             
            requirements: []
         
     | 
| 
       134 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
       135 
     | 
    
         
            -
            signing_key:
         
     | 
| 
      
 136 
     | 
    
         
            +
            rubygems_version: 3.6.7
         
     | 
| 
       136 
137 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       137 
138 
     | 
    
         
             
            summary: Scanner, lexer, parser for ruby's regular expressions
         
     | 
| 
       138 
139 
     | 
    
         
             
            test_files: []
         
     |