regexp_parser 0.5.0 → 1.0.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/CHANGELOG.md +242 -0
- data/Gemfile +1 -0
- data/README.md +21 -17
- data/Rakefile +31 -0
- data/lib/regexp_parser/expression.rb +11 -9
- data/lib/regexp_parser/expression/classes/alternation.rb +5 -28
- data/lib/regexp_parser/expression/classes/backref.rb +21 -16
- data/lib/regexp_parser/expression/classes/escape.rb +81 -10
- data/lib/regexp_parser/expression/classes/group.rb +20 -20
- data/lib/regexp_parser/expression/classes/{character_class.rb → posix_class.rb} +2 -2
- data/lib/regexp_parser/expression/classes/property.rb +6 -0
- data/lib/regexp_parser/expression/classes/set.rb +10 -93
- data/lib/regexp_parser/expression/classes/set/intersection.rb +9 -0
- data/lib/regexp_parser/expression/classes/set/range.rb +23 -0
- data/lib/regexp_parser/expression/methods/strfregexp.rb +6 -4
- data/lib/regexp_parser/expression/methods/tests.rb +4 -14
- data/lib/regexp_parser/expression/methods/traverse.rb +1 -1
- data/lib/regexp_parser/expression/quantifier.rb +3 -4
- data/lib/regexp_parser/expression/sequence_operation.rb +34 -0
- data/lib/regexp_parser/expression/subexpression.rb +6 -10
- data/lib/regexp_parser/lexer.rb +13 -17
- data/lib/regexp_parser/parser.rb +170 -116
- data/lib/regexp_parser/scanner.rb +952 -2431
- data/lib/regexp_parser/scanner/char_type.rl +31 -0
- data/lib/regexp_parser/scanner/properties/long.yml +561 -0
- data/lib/regexp_parser/scanner/properties/short.yml +225 -0
- data/lib/regexp_parser/scanner/property.rl +7 -806
- data/lib/regexp_parser/scanner/scanner.rl +112 -154
- data/lib/regexp_parser/syntax/base.rb +4 -4
- data/lib/regexp_parser/syntax/tokens.rb +1 -0
- data/lib/regexp_parser/syntax/tokens/backref.rb +2 -2
- data/lib/regexp_parser/syntax/tokens/character_set.rb +3 -38
- data/lib/regexp_parser/syntax/tokens/escape.rb +2 -3
- data/lib/regexp_parser/syntax/tokens/group.rb +5 -4
- data/lib/regexp_parser/syntax/tokens/{character_class.rb → posix_class.rb} +5 -5
- data/lib/regexp_parser/syntax/tokens/unicode_property.rb +519 -266
- data/lib/regexp_parser/syntax/versions/1.8.6.rb +2 -4
- data/lib/regexp_parser/syntax/versions/1.9.1.rb +4 -10
- data/lib/regexp_parser/syntax/versions/2.0.0.rb +0 -2
- data/lib/regexp_parser/syntax/versions/2.4.1.rb +1 -1
- data/lib/regexp_parser/version.rb +1 -1
- data/regexp_parser.gemspec +2 -1
- data/test/expression/test_base.rb +2 -1
- data/test/expression/test_clone.rb +0 -57
- data/test/expression/test_set.rb +31 -8
- data/test/expression/test_strfregexp.rb +13 -4
- data/test/expression/test_subexpression.rb +25 -0
- data/test/expression/test_traverse.rb +25 -25
- data/test/helpers.rb +1 -0
- data/test/lexer/test_all.rb +1 -1
- data/test/lexer/test_conditionals.rb +9 -7
- data/test/lexer/test_nesting.rb +39 -21
- data/test/lexer/test_refcalls.rb +4 -4
- data/test/parser/set/test_intersections.rb +127 -0
- data/test/parser/set/test_ranges.rb +111 -0
- data/test/parser/test_all.rb +4 -1
- data/test/parser/test_escapes.rb +41 -9
- data/test/parser/test_groups.rb +22 -3
- data/test/parser/test_posix_classes.rb +27 -0
- data/test/parser/test_properties.rb +17 -290
- data/test/parser/test_refcalls.rb +66 -26
- data/test/parser/test_sets.rb +132 -129
- data/test/scanner/test_all.rb +1 -7
- data/test/scanner/test_conditionals.rb +16 -16
- data/test/scanner/test_errors.rb +0 -30
- data/test/scanner/test_escapes.rb +1 -2
- data/test/scanner/test_free_space.rb +28 -28
- data/test/scanner/test_groups.rb +35 -35
- data/test/scanner/test_meta.rb +1 -1
- data/test/scanner/test_properties.rb +87 -114
- data/test/scanner/test_refcalls.rb +18 -18
- data/test/scanner/test_scripts.rb +19 -351
- data/test/scanner/test_sets.rb +87 -60
- data/test/scanner/test_unicode_blocks.rb +4 -105
- data/test/support/warning_extractor.rb +1 -1
- data/test/syntax/test_syntax.rb +7 -0
- data/test/syntax/versions/test_1.8.rb +2 -4
- metadata +17 -7
- data/ChangeLog +0 -325
- data/test/scanner/test_emojis.rb +0 -31
@@ -3,111 +3,10 @@ require File.expand_path("../../helpers", __FILE__)
|
|
3
3
|
class ScannerUnicodeBlocks < Test::Unit::TestCase
|
4
4
|
|
5
5
|
tests = {
|
6
|
-
'
|
7
|
-
'
|
8
|
-
'
|
9
|
-
'
|
10
|
-
'InArmenian' => :block_inarmenian,
|
11
|
-
'InArrows' => :block_inarrows,
|
12
|
-
'InBasic_Latin' => :block_inbasic_latin,
|
13
|
-
'InBengali' => :block_inbengali,
|
14
|
-
'InBlock_Elements' => :block_inblock_elements,
|
15
|
-
'InBopomofo_Extended' => :block_inbopomofo_extended,
|
16
|
-
'InBopomofo' => :block_inbopomofo,
|
17
|
-
'InBox_Drawing' => :block_inbox_drawing,
|
18
|
-
'InBraille_Patterns' => :block_inbraille_patterns,
|
19
|
-
'InBuhid' => :block_inbuhid,
|
20
|
-
'InCJK_Compatibility_Forms' => :block_incjk_compatibility_forms,
|
21
|
-
'InCJK_Compatibility_Ideographs' => :block_incjk_compatibility_ideographs,
|
22
|
-
'InCJK_Compatibility' => :block_incjk_compatibility,
|
23
|
-
'InCJK_Radicals_Supplement' => :block_incjk_radicals_supplement,
|
24
|
-
'InCJK_Symbols_and_Punctuation' => :block_incjk_symbols_and_punctuation,
|
25
|
-
'InCJK_Unified_Ideographs_Extension_A' => :block_incjk_unified_ideographs_extension_a,
|
26
|
-
'InCJK_Unified_Ideographs' => :block_incjk_unified_ideographs,
|
27
|
-
'InCherokee' => :block_incherokee,
|
28
|
-
'InCombining_Diacritical_Marks_for_Symbols' => :block_incombining_diacritical_marks_for_symbols,
|
29
|
-
'InCombining_Diacritical_Marks' => :block_incombining_diacritical_marks,
|
30
|
-
'InCombining_Half_Marks' => :block_incombining_half_marks,
|
31
|
-
'InControl_Pictures' => :block_incontrol_pictures,
|
32
|
-
'InCurrency_Symbols' => :block_incurrency_symbols,
|
33
|
-
'InCyrillic_Supplement' => :block_incyrillic_supplement,
|
34
|
-
'InCyrillic' => :block_incyrillic,
|
35
|
-
'InDevanagari' => :block_indevanagari,
|
36
|
-
'InDingbats' => :block_indingbats,
|
37
|
-
'InEnclosed_Alphanumerics' => :block_inenclosed_alphanumerics,
|
38
|
-
'InEnclosed_CJK_Letters_and_Months' => :block_inenclosed_cjk_letters_and_months,
|
39
|
-
'InEthiopic' => :block_inethiopic,
|
40
|
-
'InGeneral_Punctuation' => :block_ingeneral_punctuation,
|
41
|
-
'InGeometric_Shapes' => :block_ingeometric_shapes,
|
42
|
-
'InGeorgian' => :block_ingeorgian,
|
43
|
-
'InGreek_Extended' => :block_ingreek_extended,
|
44
|
-
'InGreek_and_Coptic' => :block_ingreek_and_coptic,
|
45
|
-
'InGujarati' => :block_ingujarati,
|
46
|
-
'InGurmukhi' => :block_ingurmukhi,
|
47
|
-
'InHalfwidth_and_Fullwidth_Forms' => :block_inhalfwidth_and_fullwidth_forms,
|
48
|
-
'InHangul_Compatibility_Jamo' => :block_inhangul_compatibility_jamo,
|
49
|
-
'InHangul_Jamo' => :block_inhangul_jamo,
|
50
|
-
'InHangul_Syllables' => :block_inhangul_syllables,
|
51
|
-
'InHanunoo' => :block_inhanunoo,
|
52
|
-
'InHebrew' => :block_inhebrew,
|
53
|
-
'InHigh_Private_Use_Surrogates' => :block_inhigh_private_use_surrogates,
|
54
|
-
'InHigh_Surrogates' => :block_inhigh_surrogates,
|
55
|
-
'InHiragana' => :block_inhiragana,
|
56
|
-
'InIPA_Extensions' => :block_inipa_extensions,
|
57
|
-
'InIdeographic_Description_Characters' => :block_inideographic_description_characters,
|
58
|
-
'InKanbun' => :block_inkanbun,
|
59
|
-
'InKangxi_Radicals' => :block_inkangxi_radicals,
|
60
|
-
'InKannada' => :block_inkannada,
|
61
|
-
'InKatakana_Phonetic_Extensions' => :block_inkatakana_phonetic_extensions,
|
62
|
-
'InKatakana' => :block_inkatakana,
|
63
|
-
'InKhmer_Symbols' => :block_inkhmer_symbols,
|
64
|
-
'InKhmer' => :block_inkhmer,
|
65
|
-
'InLao' => :block_inlao,
|
66
|
-
'InLatin-1_Supplement' => :block_inlatin_1_supplement,
|
67
|
-
'InLatin_Extended-A' => :block_inlatin_extended_a,
|
68
|
-
'InLatin_Extended-B' => :block_inlatin_extended_b,
|
69
|
-
'InLatin_Extended_Additional' => :block_inlatin_extended_additional,
|
70
|
-
'InLetterlike_Symbols' => :block_inletterlike_symbols,
|
71
|
-
'InLimbu' => :block_inlimbu,
|
72
|
-
'InLow_Surrogates' => :block_inlow_surrogates,
|
73
|
-
'InMalayalam' => :block_inmalayalam,
|
74
|
-
'InMathematical_Operators' => :block_inmathematical_operators,
|
75
|
-
'InMiscellaneous_Mathematical_Symbols-A' => :block_inmiscellaneous_mathematical_symbols_a,
|
76
|
-
'InMiscellaneous_Mathematical_Symbols-B' => :block_inmiscellaneous_mathematical_symbols_b,
|
77
|
-
'InMiscellaneous_Symbols_and_Arrows' => :block_inmiscellaneous_symbols_and_arrows,
|
78
|
-
'InMiscellaneous_Symbols' => :block_inmiscellaneous_symbols,
|
79
|
-
'InMiscellaneous_Technical' => :block_inmiscellaneous_technical,
|
80
|
-
'InMongolian' => :block_inmongolian,
|
81
|
-
'InMyanmar' => :block_inmyanmar,
|
82
|
-
'InNumber_Forms' => :block_innumber_forms,
|
83
|
-
'InOgham' => :block_inogham,
|
84
|
-
'InOptical_Character_Recognition' => :block_inoptical_character_recognition,
|
85
|
-
'InOriya' => :block_inoriya,
|
86
|
-
'InPhonetic_Extensions' => :block_inphonetic_extensions,
|
87
|
-
'InPrivate_Use_Area' => :block_inprivate_use_area,
|
88
|
-
'InRunic' => :block_inrunic,
|
89
|
-
'InSinhala' => :block_insinhala,
|
90
|
-
'InSmall_Form_Variants' => :block_insmall_form_variants,
|
91
|
-
'InSpacing_Modifier_Letters' => :block_inspacing_modifier_letters,
|
92
|
-
'InSpecials' => :block_inspecials,
|
93
|
-
'InSuperscripts_and_Subscripts' => :block_insuperscripts_and_subscripts,
|
94
|
-
'InSupplemental_Arrows-A' => :block_insupplemental_arrows_a,
|
95
|
-
'InSupplemental_Arrows-B' => :block_insupplemental_arrows_b,
|
96
|
-
'InSupplemental_Mathematical_Operators' => :block_insupplemental_mathematical_operators,
|
97
|
-
'InSyriac' => :block_insyriac,
|
98
|
-
'InTagalog' => :block_intagalog,
|
99
|
-
'InTagbanwa' => :block_intagbanwa,
|
100
|
-
'InTai_Le' => :block_intai_le,
|
101
|
-
'InTamil' => :block_intamil,
|
102
|
-
'InTelugu' => :block_intelugu,
|
103
|
-
'InThaana' => :block_inthaana,
|
104
|
-
'InThai' => :block_inthai,
|
105
|
-
'InTibetan' => :block_intibetan,
|
106
|
-
'InUnified_Canadian_Aboriginal_Syllabics' => :block_inunified_canadian_aboriginal_syllabics,
|
107
|
-
'InVariation_Selectors' => :block_invariation_selectors,
|
108
|
-
'InYi_Radicals' => :block_inyi_radicals,
|
109
|
-
'InYi_Syllables' => :block_inyi_syllables,
|
110
|
-
'InYijing_Hexagram_Symbols' => :block_inyijing_hexagram_symbols
|
6
|
+
'InArabic' => :in_arabic,
|
7
|
+
'InCJK_Unified_Ideographs_Extension_A' => :in_cjk_unified_ideographs_extension_a,
|
8
|
+
'In Letterlike Symbols' => :in_letterlike_symbols,
|
9
|
+
'InMiscellaneous_Mathematical_Symbols-A' => :in_miscellaneous_mathematical_symbols_a,
|
111
10
|
}
|
112
11
|
|
113
12
|
tests.each_with_index do |(property, token), count|
|
data/test/syntax/test_syntax.rb
CHANGED
@@ -13,6 +13,13 @@ class TestSyntax < Test::Unit::TestCase
|
|
13
13
|
Regexp::Syntax.new('ruby/1.9.3')
|
14
14
|
end
|
15
15
|
|
16
|
+
def test_syntax_new_any
|
17
|
+
assert_instance_of Regexp::Syntax::Any,
|
18
|
+
Regexp::Syntax.new('any')
|
19
|
+
assert_instance_of Regexp::Syntax::Any,
|
20
|
+
Regexp::Syntax.new('*')
|
21
|
+
end
|
22
|
+
|
16
23
|
def test_syntax_not_implemented
|
17
24
|
assert_raise( Regexp::Syntax::NotImplementedError ) {
|
18
25
|
RP.parse('\p{alpha}', 'ruby/1.8')
|
@@ -12,7 +12,7 @@ class TestSyntaxV1_8 < Test::Unit::TestCase
|
|
12
12
|
assertion: [Assertion::Lookahead].flatten,
|
13
13
|
backref: [:number],
|
14
14
|
escape: [Escape::All].flatten,
|
15
|
-
group: [Group::
|
15
|
+
group: [Group::V1_8_6].flatten,
|
16
16
|
quantifier: [
|
17
17
|
Quantifier::Greedy + Quantifier::Reluctant +
|
18
18
|
Quantifier::Interval + Quantifier::IntervalReluctant
|
@@ -28,9 +28,7 @@ class TestSyntaxV1_8 < Test::Unit::TestCase
|
|
28
28
|
|
29
29
|
quantifier: [
|
30
30
|
Quantifier::Possessive
|
31
|
-
].flatten
|
32
|
-
|
33
|
-
subset: nil
|
31
|
+
].flatten
|
34
32
|
},
|
35
33
|
}
|
36
34
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: regexp_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ammar Ali
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-01 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A library for tokenizing, lexing, and parsing Ruby regular expressions.
|
14
14
|
email:
|
@@ -17,7 +17,7 @@ executables: []
|
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
-
-
|
20
|
+
- CHANGELOG.md
|
21
21
|
- Gemfile
|
22
22
|
- LICENSE
|
23
23
|
- README.md
|
@@ -27,26 +27,32 @@ files:
|
|
27
27
|
- lib/regexp_parser/expression/classes/alternation.rb
|
28
28
|
- lib/regexp_parser/expression/classes/anchor.rb
|
29
29
|
- lib/regexp_parser/expression/classes/backref.rb
|
30
|
-
- lib/regexp_parser/expression/classes/character_class.rb
|
31
30
|
- lib/regexp_parser/expression/classes/conditional.rb
|
32
31
|
- lib/regexp_parser/expression/classes/escape.rb
|
33
32
|
- lib/regexp_parser/expression/classes/free_space.rb
|
34
33
|
- lib/regexp_parser/expression/classes/group.rb
|
35
34
|
- lib/regexp_parser/expression/classes/keep.rb
|
36
35
|
- lib/regexp_parser/expression/classes/literal.rb
|
36
|
+
- lib/regexp_parser/expression/classes/posix_class.rb
|
37
37
|
- lib/regexp_parser/expression/classes/property.rb
|
38
38
|
- lib/regexp_parser/expression/classes/root.rb
|
39
39
|
- lib/regexp_parser/expression/classes/set.rb
|
40
|
+
- lib/regexp_parser/expression/classes/set/intersection.rb
|
41
|
+
- lib/regexp_parser/expression/classes/set/range.rb
|
40
42
|
- lib/regexp_parser/expression/classes/type.rb
|
41
43
|
- lib/regexp_parser/expression/methods/strfregexp.rb
|
42
44
|
- lib/regexp_parser/expression/methods/tests.rb
|
43
45
|
- lib/regexp_parser/expression/methods/traverse.rb
|
44
46
|
- lib/regexp_parser/expression/quantifier.rb
|
45
47
|
- lib/regexp_parser/expression/sequence.rb
|
48
|
+
- lib/regexp_parser/expression/sequence_operation.rb
|
46
49
|
- lib/regexp_parser/expression/subexpression.rb
|
47
50
|
- lib/regexp_parser/lexer.rb
|
48
51
|
- lib/regexp_parser/parser.rb
|
49
52
|
- lib/regexp_parser/scanner.rb
|
53
|
+
- lib/regexp_parser/scanner/char_type.rl
|
54
|
+
- lib/regexp_parser/scanner/properties/long.yml
|
55
|
+
- lib/regexp_parser/scanner/properties/short.yml
|
50
56
|
- lib/regexp_parser/scanner/property.rl
|
51
57
|
- lib/regexp_parser/scanner/scanner.rl
|
52
58
|
- lib/regexp_parser/syntax.rb
|
@@ -56,7 +62,6 @@ files:
|
|
56
62
|
- lib/regexp_parser/syntax/tokens/anchor.rb
|
57
63
|
- lib/regexp_parser/syntax/tokens/assertion.rb
|
58
64
|
- lib/regexp_parser/syntax/tokens/backref.rb
|
59
|
-
- lib/regexp_parser/syntax/tokens/character_class.rb
|
60
65
|
- lib/regexp_parser/syntax/tokens/character_set.rb
|
61
66
|
- lib/regexp_parser/syntax/tokens/character_type.rb
|
62
67
|
- lib/regexp_parser/syntax/tokens/conditional.rb
|
@@ -64,6 +69,7 @@ files:
|
|
64
69
|
- lib/regexp_parser/syntax/tokens/group.rb
|
65
70
|
- lib/regexp_parser/syntax/tokens/keep.rb
|
66
71
|
- lib/regexp_parser/syntax/tokens/meta.rb
|
72
|
+
- lib/regexp_parser/syntax/tokens/posix_class.rb
|
67
73
|
- lib/regexp_parser/syntax/tokens/quantifier.rb
|
68
74
|
- lib/regexp_parser/syntax/tokens/unicode_property.rb
|
69
75
|
- lib/regexp_parser/syntax/version_lookup.rb
|
@@ -99,6 +105,8 @@ files:
|
|
99
105
|
- test/lexer/test_literals.rb
|
100
106
|
- test/lexer/test_nesting.rb
|
101
107
|
- test/lexer/test_refcalls.rb
|
108
|
+
- test/parser/set/test_intersections.rb
|
109
|
+
- test/parser/set/test_ranges.rb
|
102
110
|
- test/parser/test_all.rb
|
103
111
|
- test/parser/test_alternation.rb
|
104
112
|
- test/parser/test_anchors.rb
|
@@ -108,6 +116,7 @@ files:
|
|
108
116
|
- test/parser/test_free_space.rb
|
109
117
|
- test/parser/test_groups.rb
|
110
118
|
- test/parser/test_keep.rb
|
119
|
+
- test/parser/test_posix_classes.rb
|
111
120
|
- test/parser/test_properties.rb
|
112
121
|
- test/parser/test_quantifiers.rb
|
113
122
|
- test/parser/test_refcalls.rb
|
@@ -116,7 +125,6 @@ files:
|
|
116
125
|
- test/scanner/test_all.rb
|
117
126
|
- test/scanner/test_anchors.rb
|
118
127
|
- test/scanner/test_conditionals.rb
|
119
|
-
- test/scanner/test_emojis.rb
|
120
128
|
- test/scanner/test_errors.rb
|
121
129
|
- test/scanner/test_escapes.rb
|
122
130
|
- test/scanner/test_free_space.rb
|
@@ -191,11 +199,14 @@ test_files:
|
|
191
199
|
- test/parser/test_free_space.rb
|
192
200
|
- test/parser/test_anchors.rb
|
193
201
|
- test/parser/test_escapes.rb
|
202
|
+
- test/parser/test_posix_classes.rb
|
194
203
|
- test/parser/test_quantifiers.rb
|
195
204
|
- test/parser/test_keep.rb
|
196
205
|
- test/parser/test_conditionals.rb
|
197
206
|
- test/parser/test_errors.rb
|
198
207
|
- test/parser/test_refcalls.rb
|
208
|
+
- test/parser/set/test_intersections.rb
|
209
|
+
- test/parser/set/test_ranges.rb
|
199
210
|
- test/parser/test_all.rb
|
200
211
|
- test/support/disable_autotest.rb
|
201
212
|
- test/support/warning_extractor.rb
|
@@ -225,7 +236,6 @@ test_files:
|
|
225
236
|
- test/scanner/test_sets.rb
|
226
237
|
- test/scanner/test_properties.rb
|
227
238
|
- test/scanner/test_scripts.rb
|
228
|
-
- test/scanner/test_emojis.rb
|
229
239
|
- test/scanner/test_types.rb
|
230
240
|
- test/scanner/test_groups.rb
|
231
241
|
- test/scanner/test_meta.rb
|
data/ChangeLog
DELETED
@@ -1,325 +0,0 @@
|
|
1
|
-
Sun Apr 29 2018 Janosch Müller <janosch84@gmail.com>
|
2
|
-
|
3
|
-
* Changed handling of Ruby versions (PR #53)
|
4
|
-
- New Ruby versions are now supported by default
|
5
|
-
- Some deep-lying APIs have changed, which should not affect most users:
|
6
|
-
- `Regexp::Syntax::VERSIONS` is gone
|
7
|
-
- Syntax version names have changed from `Regexp::Syntax::Ruby::Vnnn`
|
8
|
-
to `Regexp::Syntax::Vn_n_n`
|
9
|
-
- Syntax version classes for Ruby versions without regex feature changes
|
10
|
-
are no longer predefined and are now only created on demand / lazily
|
11
|
-
- `Regexp::Syntax::supported?` returns true for any argument >= 1.8.6
|
12
|
-
* Fixed some use cases of Expression methods #strfregexp and #to_h (@e738107)
|
13
|
-
* Added full signature support to collection methods of Expressions (@aa7c55a)
|
14
|
-
* Bumped version to 0.5.0
|
15
|
-
|
16
|
-
Tue Apr 4 2018 ammarabuali@gmail.com <ammarabuali@gmail.com>
|
17
|
-
|
18
|
-
* Added ruby version files for 2.2.10 and 2.3.7
|
19
|
-
* Bumped version to 0.4.13
|
20
|
-
|
21
|
-
Fri Mar 30 2018 Janosch Müller <janosch84@gmail.com>
|
22
|
-
|
23
|
-
* Added ruby version files for 2.4.4 and 2.5.1
|
24
|
-
* Bumped version to 0.4.12
|
25
|
-
|
26
|
-
Sun Mar 4 2018 Janosch Müller <janosch84@gmail.com>
|
27
|
-
|
28
|
-
* Fixed UnknownSyntaxNameError introduced in v0.4.10 if
|
29
|
-
the gems parent dir tree included a 'ruby' dir
|
30
|
-
* Bumped version to 0.4.11
|
31
|
-
|
32
|
-
Sun Mar 4 2018 Janosch Müller <janosch84@gmail.com>
|
33
|
-
|
34
|
-
* Added ruby version file for 2.6.0
|
35
|
-
* Added support for Emoji properties (available in Ruby since 2.5.0)
|
36
|
-
* Added support for XPosixPunct and Regional_Indicator properties
|
37
|
-
* Fixed parsing of Unicode 6.0 and 7.0 script properties
|
38
|
-
* Fixed parsing of the special Assigned property
|
39
|
-
* Fixed scanning of InCyrillic_Supplement property
|
40
|
-
* Bumped version to 0.4.10
|
41
|
-
|
42
|
-
Mon Dec 25 2017 Ammar Ali <ammarabuali@gmail.com>
|
43
|
-
|
44
|
-
* Added ruby version file for 2.5.0
|
45
|
-
* Bumped version to 0.4.9
|
46
|
-
|
47
|
-
Mon Dec 18 2017 Janosch Müller <janosch84@gmail.com>
|
48
|
-
|
49
|
-
* Added ruby version files for 2.2.9, 2.3.6, and 2.4.3
|
50
|
-
* Bumped version to 0.4.8
|
51
|
-
|
52
|
-
Sun Oct 15 2017 Janosch Müller <janosch84@gmail.com>
|
53
|
-
|
54
|
-
* Fixed a thread safety issue (issue #45)
|
55
|
-
* Some public class methods that were only reliable for
|
56
|
-
internal use are now private instance methods (PR #46)
|
57
|
-
* Improved the usefulness of Expression#options (issue #43) -
|
58
|
-
#options and derived methods such as #i?, #m? and #x? are now
|
59
|
-
defined for all Expressions that are affected by such flags.
|
60
|
-
* Fixed scanning of whitespace following (?x) (commit 5c94bd2)
|
61
|
-
* Fixed a Parser bug where the #number attribute of traditional
|
62
|
-
numerical backreferences was not set correctly (commit 851b620)
|
63
|
-
* Bumped version to 0.4.7
|
64
|
-
|
65
|
-
Mon Sep 18 2017 Janosch Müller <janosch84@gmail.com>
|
66
|
-
|
67
|
-
* Added Parser support for hex escapes in sets (PR #36)
|
68
|
-
* Added Parser support for octal escapes (PR #37)
|
69
|
-
* Added support for cluster types \R and \X (PR #38)
|
70
|
-
* Added support for more metacontrol notations (PR #39)
|
71
|
-
* Bumped version to 0.4.6
|
72
|
-
|
73
|
-
Sun Sep 17 2017 Ammar Ali <ammarabuali@gmail.com>
|
74
|
-
|
75
|
-
* Thanks to Janosch Müller (https://github.com/janosch-x):
|
76
|
-
- Support ruby 2.2.7 (PR #42)
|
77
|
-
* Added ruby version files for 2.2.8, 2.3.5, and 2.4.2
|
78
|
-
* Bumped version to 0.4.5
|
79
|
-
|
80
|
-
Mon Jul 10 2017 Ammar Ali <ammarabuali@gmail.com>
|
81
|
-
|
82
|
-
* Thanks to Janosch Müller (https://github.com/janosch-x):
|
83
|
-
- Add support for new absence operator (PR #33)
|
84
|
-
* Thanks to Bartek Bułat (https://github.com/barthez):
|
85
|
-
- Add support for Ruby 2.3.4 version (PR #40)
|
86
|
-
* Bumped version to 0.4.4
|
87
|
-
|
88
|
-
Fri Mar 24 2017 Ammar Ali <ammarabuali@gmail.com>
|
89
|
-
|
90
|
-
* Added ruby version file for 2.4.1
|
91
|
-
* Bumped version to 0.4.3
|
92
|
-
|
93
|
-
Tue Jan 10 2017 Ammar Ali <ammarabuali@gmail.com>
|
94
|
-
|
95
|
-
* Thanks to Janosch Müller (https://github.com/janosch-x):
|
96
|
-
- Support ruby 2.4 (PR #30)
|
97
|
-
* Bumped version to 0.4.2
|
98
|
-
|
99
|
-
Sun Dec 4 2016 Ammar Ali <ammarabuali@gmail.com>
|
100
|
-
|
101
|
-
* Thanks to Janosch Müller (https://github.com/janosch-x):
|
102
|
-
- Improve codepoint handling (PR #27)
|
103
|
-
|
104
|
-
Tue Nov 22 2016 Ammar Ali <ammarabuali@gmail.com>
|
105
|
-
|
106
|
-
* Updated ruby version file for 2.3.3
|
107
|
-
* Bumped version to 0.4.1
|
108
|
-
|
109
|
-
Sun Nov 20 2016 Ammar Ali <ammarabuali@gmail.com>
|
110
|
-
|
111
|
-
* Added Syntax.supported? method
|
112
|
-
* Updated ruby versions for latest releases; 2.1.10, 2.2.6, and 2.3.2
|
113
|
-
* Bumped version to 0.4.0
|
114
|
-
|
115
|
-
Wed Jun 8 2016 Ammar Ali <ammarabuali@gmail.com>
|
116
|
-
|
117
|
-
* Thanks to John Backus (https://github.com/backus):
|
118
|
-
- Remove warnings (PR #26)
|
119
|
-
* Bumped version to 0.3.6
|
120
|
-
|
121
|
-
Mon May 30 2016 Ammar Ali <ammarabuali@gmail.com>
|
122
|
-
|
123
|
-
* Thanks to John Backus (https://github.com/backus):
|
124
|
-
- Fix parsing of /\xFF/n (hex:escape) (PR #24)
|
125
|
-
* Bumped version to 0.3.5
|
126
|
-
|
127
|
-
Wed May 25 2016 Ammar Ali <ammarabuali@gmail.com>
|
128
|
-
|
129
|
-
* Thanks to John Backus (https://github.com/backus):
|
130
|
-
- Fix warnings (PR #19)
|
131
|
-
* Thanks to Dana Scheider (https://github.com/danascheider):
|
132
|
-
- Correct error in README (PR #20)
|
133
|
-
* Fixed mistyped \h and \H character types (issue #21)
|
134
|
-
* Added ancestry syntax files for latest rubies (issue #22)
|
135
|
-
* Bumped version to 0.3.4
|
136
|
-
|
137
|
-
Tue Apr 26 2016 Ammar Ali <ammarabuali@gmail.com>
|
138
|
-
|
139
|
-
* Thanks to John Backus (https://github.com/backus):
|
140
|
-
- Fixed scanning of zero length comments (PR #12)
|
141
|
-
- Fixed missing escape:codepoint_list syntax token (PR #14)
|
142
|
-
- Fixed to_s for modified interval quantifiers (PR #17)
|
143
|
-
* Added a note about MRI implementation quirks to Scanner section
|
144
|
-
* Bumped version to 0.3.3
|
145
|
-
|
146
|
-
Fri Jan 1 2016 Ammar Ali <ammarabuali@gmail.com>
|
147
|
-
|
148
|
-
* Updated ruby versions for latest releases; 2.1.8, 2.2.4, and 2.3.0
|
149
|
-
* Fixed class name for UnknownSyntaxNameError exception
|
150
|
-
* Bumped version to 0.3.2
|
151
|
-
|
152
|
-
Sat Aug 29 2015 Ammar Ali <ammarabuali@gmail.com>
|
153
|
-
|
154
|
-
* Updated ruby versions for latest releases; 2.1.7, 2.2.3
|
155
|
-
|
156
|
-
Sun Aug 6 2015 Ammar Ali <ammarabuali@gmail.com>
|
157
|
-
|
158
|
-
* Added UnicodeBlocks support to the parser.
|
159
|
-
|
160
|
-
Mon Aug 3 2015 Garen Torikian <gjtorikian@gmail.com>
|
161
|
-
|
162
|
-
* Added UnicodeBlocks support to the scanner.
|
163
|
-
|
164
|
-
Sat Apr 18 14:38:12 2015 Ammar Ali <ammarabuali@gmail.com>
|
165
|
-
|
166
|
-
* Updated ruby versions for latest releases.
|
167
|
-
|
168
|
-
Wed Dec 3 05:21:27 2014 Ammar Ali <ammarabuali@gmail.com>
|
169
|
-
|
170
|
-
* Added expand_members method to CharacterSet, returns traditional
|
171
|
-
or unicode property forms of shothands (\d, \W, \s, etc.)
|
172
|
-
|
173
|
-
Tue Dec 2 02:42:39 2014 Ammar Ali <ammarabuali@gmail.com>
|
174
|
-
|
175
|
-
* Improved meaning and output of %t and %T in strfregexp.
|
176
|
-
|
177
|
-
* Added syntax versions for ruby 2.1.4 and 2.1.5 and updated
|
178
|
-
latest 2.1 version.
|
179
|
-
|
180
|
-
Mon Dec 1 15:52:31 2014 Ammar Ali <ammarabuali@gmail.com>
|
181
|
-
|
182
|
-
* Added to_h methods to Expression, Subexpression, and Quantifier.
|
183
|
-
|
184
|
-
Tue Oct 21 19:14:03 2014 Ammar Ali <ammarabuali@gmail.com>
|
185
|
-
|
186
|
-
* Added traversal methods; traverse, each_expression, and map.
|
187
|
-
|
188
|
-
* Added token/type test methods; type?, is?, and one_of?
|
189
|
-
|
190
|
-
* Added printing method strfregexp, inspired by strftime.
|
191
|
-
|
192
|
-
Mon Oct 20 01:03:46 2014 Ammar Ali <ammarabuali@gmail.com>
|
193
|
-
|
194
|
-
* Added scanning and parsing of free spacing (x mode) expressions.
|
195
|
-
|
196
|
-
* Improved handling of inline options (?mixdau:...)
|
197
|
-
|
198
|
-
Fri Oct 18 14:09:38 2014 Ammar Ali <ammarabuali@gmail.com>
|
199
|
-
|
200
|
-
* Added conditional expressions. Ruby 2.0.
|
201
|
-
|
202
|
-
* Added keep (\K) markers. Ruby 2.0.
|
203
|
-
|
204
|
-
* Added d, a, and u options. Ruby 2.0.
|
205
|
-
|
206
|
-
* Added missing meta sequences to the parser. They were supported
|
207
|
-
by the scanner only.
|
208
|
-
|
209
|
-
* Renamed Lexer's method to lex, added an alias to the old name (scan)
|
210
|
-
|
211
|
-
* Use #map instead of #each to run the block in Lexer.lex.
|
212
|
-
|
213
|
-
* Replaced VERSION.yml file with a constant.
|
214
|
-
|
215
|
-
* Updated README
|
216
|
-
|
217
|
-
Fri Oct 10 11:49:38 2014 Ammar Ali <ammarabuali@gmail.com>
|
218
|
-
|
219
|
-
* Update tokens and scanner with new additions in Unicode 7.0.
|
220
|
-
|
221
|
-
Mon Oct 6 04:30:24 2014 Ammar Ali <ammarabuali@gmail.com>
|
222
|
-
|
223
|
-
* Released version 0.1.6
|
224
|
-
|
225
|
-
Sun Oct 5 19:58:17 2014 Ammar Ali <ammarabuali@gmail.com>
|
226
|
-
|
227
|
-
* Fixed test and gem building rake tasks and extracted the gem
|
228
|
-
specification from the Rakefile into a .gemspec file.
|
229
|
-
|
230
|
-
* Added syntax files for missing ruby 2.x versions. These do not add
|
231
|
-
extra syntax support, they just make the gem work with the newer
|
232
|
-
ruby versions.
|
233
|
-
|
234
|
-
* Added .travis.yml to project root.
|
235
|
-
|
236
|
-
* README:
|
237
|
-
|
238
|
-
* Removed note purporting runtime support for ruby 1.8.6.
|
239
|
-
|
240
|
-
* Added a section identifying the main unsupported syntax features.
|
241
|
-
|
242
|
-
* Added sections for Testing and Building
|
243
|
-
|
244
|
-
* Added badges for gem version, Travis CI, and code climate.
|
245
|
-
|
246
|
-
Sat Oct 4 13:46:24 2014 Ammar Ali <ammarabuali@gmail.com>
|
247
|
-
|
248
|
-
* Updated README, fixing broken examples, and converting it from
|
249
|
-
a rdoc file to Github's flavor of Markdown.
|
250
|
-
|
251
|
-
* Fixed a parser bug where an alternation sequence that contained
|
252
|
-
nested expressions was incorrectly being appended to the parent
|
253
|
-
expression when the nesting was exited. e.g. in /a|(b)c/, c was
|
254
|
-
appended to the root.
|
255
|
-
|
256
|
-
Wed May 7 5:52:37 2014 Ammar Ali <ammarabuali@gmail.com>
|
257
|
-
|
258
|
-
* Fixed a bug where character types were not being correctly scanned
|
259
|
-
within character sets. e.g. in [\d], two tokens were scanned; one
|
260
|
-
for the backslash '\' and one for the 'd'
|
261
|
-
|
262
|
-
Tue Jan 14 13:14:24 2014 Ammar Ali <ammarabuali@gmail.com>
|
263
|
-
|
264
|
-
* Released version 0.1.5, with a correct ChangeLog.
|
265
|
-
|
266
|
-
Tue Jan 14 13:14:24 2014 Ammar Ali <ammarabuali@gmail.com>
|
267
|
-
|
268
|
-
* Released version 0.1.4, after accidental yank of last version.
|
269
|
-
|
270
|
-
Tue Jan 14 13:05:13 2014 Ammar Ali <ammarabuali@gmail.com>
|
271
|
-
|
272
|
-
* Released version 0.1.3, adds missing VERSION.yml file.
|
273
|
-
|
274
|
-
Tue Jan 14 12:41:52 2014 Ammar Ali <ammarabuali@gmail.com>
|
275
|
-
|
276
|
-
* Released version 0.1.2
|
277
|
-
|
278
|
-
* Added syntax stubs for ruby versions 2.0 and 2.1
|
279
|
-
|
280
|
-
Sat Feb 9 12:27:13 2010 Ammar Ali <ammarabuali@gmail.com>
|
281
|
-
|
282
|
-
* Added clone methods for deep copying expressions.
|
283
|
-
|
284
|
-
* Added optional format argument for to_s on expressions to return the
|
285
|
-
text of the expression with (:full, the default) or without (:base)
|
286
|
-
its quantifier.
|
287
|
-
|
288
|
-
* Renamed the :beginning_of_line and :end_of_line tokens to :bol and
|
289
|
-
:eol.
|
290
|
-
|
291
|
-
* Fixed a bug where alternations with more than two alternatives and
|
292
|
-
one of them ending in a group were being incorrectly nested.
|
293
|
-
|
294
|
-
* Improved EOF handling in general and especially from sequences like
|
295
|
-
hex and control escapes.
|
296
|
-
|
297
|
-
* Fixed a bug where named groups with an empty name would return a
|
298
|
-
blank token [].
|
299
|
-
|
300
|
-
* Fixed a bug where member of a parent set where being added to its
|
301
|
-
last subset.
|
302
|
-
|
303
|
-
* Various code cleanups in scanner.rl
|
304
|
-
|
305
|
-
* Fixed a few mutable string bugs by calling dup on the originals.
|
306
|
-
|
307
|
-
Tue Nov 23 11:35:56 2010 Ammar Ali <ammarabuali@gmail.com>
|
308
|
-
|
309
|
-
* Made ruby 1.8.6 the base for all 1.8 syntax, and the 1.8 name a pointer
|
310
|
-
to the latest (1.8.7 at this time)
|
311
|
-
|
312
|
-
* Removed look-behind assertions (positive and negative) from 1.8 syntax
|
313
|
-
|
314
|
-
* Added control (\cc and \C-c) and meta (\M-c) escapes to 1.8 syntax
|
315
|
-
|
316
|
-
* The default syntax is now the one of the running ruby version in both the
|
317
|
-
lexer and the parser.
|
318
|
-
|
319
|
-
Sun Nov 21 03:36:42 2010 Ammar Ali <ammarabuali@gmail.com>
|
320
|
-
|
321
|
-
* Released version 0.1.0
|
322
|
-
|
323
|
-
Sat Nov 20 16:40:10 2010 Ammar Ali <ammarabuali@gmail.com>
|
324
|
-
|
325
|
-
* Initial version bump to 0.1.0
|