citrus 2.4.0 → 2.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +6 -0
- data/{README → README.md} +89 -86
- data/citrus.gemspec +2 -2
- data/doc/syntax.markdown +4 -4
- data/lib/citrus/file.rb +1 -1
- data/lib/citrus/grammars.rb +2 -1
- data/lib/citrus/version.rb +1 -1
- data/test/_files/{super.citrus → file1.citrus} +0 -0
- data/test/_files/{super2.citrus → file2.citrus} +0 -0
- data/test/_files/file3.citrus +9 -0
- data/test/_files/rule5.citrus +1 -0
- data/test/file_test.rb +1 -1
- metadata +31 -62
- data/benchmark/after.dat +0 -192
- data/benchmark/before.dat +0 -192
- data/test/alias_test.rbc +0 -1491
- data/test/and_predicate_test.rbc +0 -1327
- data/test/but_predicate_test.rbc +0 -1398
- data/test/choice_test.rbc +0 -1278
- data/test/extension_test.rbc +0 -1121
- data/test/file_test.rbc +0 -21465
- data/test/grammar_test.rbc +0 -3490
- data/test/grammars/calc_test.rbc +0 -2268
- data/test/grammars/ipaddress_test.rbc +0 -515
- data/test/grammars/ipv4address_test.rbc +0 -1112
- data/test/grammars/ipv6address_test.rbc +0 -1195
- data/test/helper.rbc +0 -1046
- data/test/input_test.rbc +0 -1775
- data/test/label_test.rbc +0 -692
- data/test/match_test.rbc +0 -2415
- data/test/memoized_input_test.rbc +0 -1607
- data/test/multibyte_test.rbc +0 -1597
- data/test/not_predicate_test.rbc +0 -1327
- data/test/parse_error_test.rbc +0 -1253
- data/test/repeat_test.rbc +0 -3245
- data/test/sequence_test.rbc +0 -1534
- data/test/string_terminal_test.rbc +0 -1802
- data/test/super_test.rbc +0 -2083
- data/test/terminal_test.rbc +0 -1315
data/test/file_test.rb
CHANGED
@@ -9,7 +9,7 @@ class CitrusFileTest < Test::Unit::TestCase
|
|
9
9
|
assert(match)
|
10
10
|
end
|
11
11
|
|
12
|
-
%w<
|
12
|
+
%w<file grammar rule>.each do |type|
|
13
13
|
Dir[::File.dirname(__FILE__) + "/_files/#{type}*.citrus"].each do |path|
|
14
14
|
module_eval(<<-CODE.gsub(/^ /, ''), __FILE__, __LINE__ + 1)
|
15
15
|
def test_#{::File.basename(path, '.citrus')}
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: citrus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 29
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 2
|
8
|
+
- 4
|
9
|
+
- 1
|
10
|
+
version: 2.4.1
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Michael Jackson
|
@@ -9,19 +15,23 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date: 2011-
|
18
|
+
date: 2011-11-04 00:00:00 -07:00
|
13
19
|
default_executable:
|
14
20
|
dependencies:
|
15
21
|
- !ruby/object:Gem::Dependency
|
16
22
|
name: rake
|
17
|
-
|
18
|
-
|
19
|
-
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
20
26
|
requirements:
|
21
27
|
- - ">="
|
22
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
23
32
|
version: "0"
|
24
|
-
|
33
|
+
type: :development
|
34
|
+
version_requirements: *id001
|
25
35
|
description: Parsing Expressions for Ruby
|
26
36
|
email: mjijackson@gmail.com
|
27
37
|
executables: []
|
@@ -29,11 +39,9 @@ executables: []
|
|
29
39
|
extensions: []
|
30
40
|
|
31
41
|
extra_rdoc_files:
|
32
|
-
- README
|
42
|
+
- README.md
|
33
43
|
- CHANGES
|
34
44
|
files:
|
35
|
-
- benchmark/after.dat
|
36
|
-
- benchmark/before.dat
|
37
45
|
- benchmark/seqpar.citrus
|
38
46
|
- benchmark/seqpar.gnuplot
|
39
47
|
- benchmark/seqpar.rb
|
@@ -50,6 +58,9 @@ files:
|
|
50
58
|
- lib/citrus/version.rb
|
51
59
|
- lib/citrus.rb
|
52
60
|
- test/_files/alias.citrus
|
61
|
+
- test/_files/file1.citrus
|
62
|
+
- test/_files/file2.citrus
|
63
|
+
- test/_files/file3.citrus
|
53
64
|
- test/_files/grammar1.citrus
|
54
65
|
- test/_files/grammar2.citrus
|
55
66
|
- test/_files/grammar3.citrus
|
@@ -57,61 +68,36 @@ files:
|
|
57
68
|
- test/_files/rule2.citrus
|
58
69
|
- test/_files/rule3.citrus
|
59
70
|
- test/_files/rule4.citrus
|
60
|
-
- test/_files/
|
61
|
-
- test/_files/super2.citrus
|
71
|
+
- test/_files/rule5.citrus
|
62
72
|
- test/alias_test.rb
|
63
|
-
- test/alias_test.rbc
|
64
73
|
- test/and_predicate_test.rb
|
65
|
-
- test/and_predicate_test.rbc
|
66
74
|
- test/but_predicate_test.rb
|
67
|
-
- test/but_predicate_test.rbc
|
68
75
|
- test/choice_test.rb
|
69
|
-
- test/choice_test.rbc
|
70
76
|
- test/extension_test.rb
|
71
|
-
- test/extension_test.rbc
|
72
77
|
- test/file_test.rb
|
73
|
-
- test/file_test.rbc
|
74
78
|
- test/grammar_test.rb
|
75
|
-
- test/grammar_test.rbc
|
76
79
|
- test/grammars/calc_test.rb
|
77
|
-
- test/grammars/calc_test.rbc
|
78
80
|
- test/grammars/email_test.rb
|
79
81
|
- test/grammars/ipaddress_test.rb
|
80
|
-
- test/grammars/ipaddress_test.rbc
|
81
82
|
- test/grammars/ipv4address_test.rb
|
82
|
-
- test/grammars/ipv4address_test.rbc
|
83
83
|
- test/grammars/ipv6address_test.rb
|
84
|
-
- test/grammars/ipv6address_test.rbc
|
85
84
|
- test/grammars/uri_test.rb
|
86
85
|
- test/helper.rb
|
87
|
-
- test/helper.rbc
|
88
86
|
- test/input_test.rb
|
89
|
-
- test/input_test.rbc
|
90
87
|
- test/label_test.rb
|
91
|
-
- test/label_test.rbc
|
92
88
|
- test/match_test.rb
|
93
|
-
- test/match_test.rbc
|
94
89
|
- test/memoized_input_test.rb
|
95
|
-
- test/memoized_input_test.rbc
|
96
90
|
- test/multibyte_test.rb
|
97
|
-
- test/multibyte_test.rbc
|
98
91
|
- test/not_predicate_test.rb
|
99
|
-
- test/not_predicate_test.rbc
|
100
92
|
- test/parse_error_test.rb
|
101
|
-
- test/parse_error_test.rbc
|
102
93
|
- test/repeat_test.rb
|
103
|
-
- test/repeat_test.rbc
|
104
94
|
- test/sequence_test.rb
|
105
|
-
- test/sequence_test.rbc
|
106
95
|
- test/string_terminal_test.rb
|
107
|
-
- test/string_terminal_test.rbc
|
108
96
|
- test/super_test.rb
|
109
|
-
- test/super_test.rbc
|
110
97
|
- test/terminal_test.rb
|
111
|
-
- test/terminal_test.rbc
|
112
98
|
- citrus.gemspec
|
113
99
|
- Rakefile
|
114
|
-
- README
|
100
|
+
- README.md
|
115
101
|
- CHANGES
|
116
102
|
has_rdoc: true
|
117
103
|
homepage: http://mjijackson.com/citrus
|
@@ -128,70 +114,53 @@ rdoc_options:
|
|
128
114
|
require_paths:
|
129
115
|
- lib
|
130
116
|
required_ruby_version: !ruby/object:Gem::Requirement
|
117
|
+
none: false
|
131
118
|
requirements:
|
132
119
|
- - ">="
|
133
120
|
- !ruby/object:Gem::Version
|
121
|
+
hash: 3
|
122
|
+
segments:
|
123
|
+
- 0
|
134
124
|
version: "0"
|
135
|
-
version:
|
136
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
|
+
none: false
|
137
127
|
requirements:
|
138
128
|
- - ">="
|
139
129
|
- !ruby/object:Gem::Version
|
130
|
+
hash: 3
|
131
|
+
segments:
|
132
|
+
- 0
|
140
133
|
version: "0"
|
141
|
-
version:
|
142
134
|
requirements: []
|
143
135
|
|
144
136
|
rubyforge_project:
|
145
|
-
rubygems_version: 1.
|
137
|
+
rubygems_version: 1.6.2
|
146
138
|
signing_key:
|
147
139
|
specification_version: 3
|
148
140
|
summary: Parsing Expressions for Ruby
|
149
141
|
test_files:
|
150
142
|
- test/alias_test.rb
|
151
|
-
- test/alias_test.rbc
|
152
143
|
- test/and_predicate_test.rb
|
153
|
-
- test/and_predicate_test.rbc
|
154
144
|
- test/but_predicate_test.rb
|
155
|
-
- test/but_predicate_test.rbc
|
156
145
|
- test/choice_test.rb
|
157
|
-
- test/choice_test.rbc
|
158
146
|
- test/extension_test.rb
|
159
|
-
- test/extension_test.rbc
|
160
147
|
- test/file_test.rb
|
161
|
-
- test/file_test.rbc
|
162
148
|
- test/grammar_test.rb
|
163
|
-
- test/grammar_test.rbc
|
164
149
|
- test/grammars/calc_test.rb
|
165
|
-
- test/grammars/calc_test.rbc
|
166
150
|
- test/grammars/email_test.rb
|
167
151
|
- test/grammars/ipaddress_test.rb
|
168
|
-
- test/grammars/ipaddress_test.rbc
|
169
152
|
- test/grammars/ipv4address_test.rb
|
170
|
-
- test/grammars/ipv4address_test.rbc
|
171
153
|
- test/grammars/ipv6address_test.rb
|
172
|
-
- test/grammars/ipv6address_test.rbc
|
173
154
|
- test/grammars/uri_test.rb
|
174
155
|
- test/input_test.rb
|
175
|
-
- test/input_test.rbc
|
176
156
|
- test/label_test.rb
|
177
|
-
- test/label_test.rbc
|
178
157
|
- test/match_test.rb
|
179
|
-
- test/match_test.rbc
|
180
158
|
- test/memoized_input_test.rb
|
181
|
-
- test/memoized_input_test.rbc
|
182
159
|
- test/multibyte_test.rb
|
183
|
-
- test/multibyte_test.rbc
|
184
160
|
- test/not_predicate_test.rb
|
185
|
-
- test/not_predicate_test.rbc
|
186
161
|
- test/parse_error_test.rb
|
187
|
-
- test/parse_error_test.rbc
|
188
162
|
- test/repeat_test.rb
|
189
|
-
- test/repeat_test.rbc
|
190
163
|
- test/sequence_test.rb
|
191
|
-
- test/sequence_test.rbc
|
192
164
|
- test/string_terminal_test.rb
|
193
|
-
- test/string_terminal_test.rbc
|
194
165
|
- test/super_test.rb
|
195
|
-
- test/super_test.rbc
|
196
166
|
- test/terminal_test.rb
|
197
|
-
- test/terminal_test.rbc
|
data/benchmark/after.dat
DELETED
@@ -1,192 +0,0 @@
|
|
1
|
-
12 0
|
2
|
-
30 0
|
3
|
-
35 0
|
4
|
-
1749 10
|
5
|
-
1962 9
|
6
|
-
2383 9
|
7
|
-
3728 29
|
8
|
-
3919 30
|
9
|
-
3952 30
|
10
|
-
3995 30
|
11
|
-
4063 39
|
12
|
-
4325 30
|
13
|
-
4527 29
|
14
|
-
4570 40
|
15
|
-
4607 39
|
16
|
-
4654 29
|
17
|
-
4679 40
|
18
|
-
4774 39
|
19
|
-
4968 29
|
20
|
-
5059 39
|
21
|
-
5383 49
|
22
|
-
5915 40
|
23
|
-
6109 49
|
24
|
-
6122 49
|
25
|
-
6218 50
|
26
|
-
6332 49
|
27
|
-
6681 59
|
28
|
-
7440 60
|
29
|
-
7530 60
|
30
|
-
7605 60
|
31
|
-
8155 70
|
32
|
-
8402 60
|
33
|
-
8420 60
|
34
|
-
8617 70
|
35
|
-
8635 59
|
36
|
-
8841 70
|
37
|
-
8843 70
|
38
|
-
8852 80
|
39
|
-
9151 69
|
40
|
-
9271 80
|
41
|
-
9521 80
|
42
|
-
9525 69
|
43
|
-
9566 70
|
44
|
-
9584 79
|
45
|
-
9642 70
|
46
|
-
10138 80
|
47
|
-
10181 80
|
48
|
-
10225 80
|
49
|
-
10338 79
|
50
|
-
10449 80
|
51
|
-
10629 80
|
52
|
-
10763 89
|
53
|
-
10817 79
|
54
|
-
11059 80
|
55
|
-
11062 89
|
56
|
-
11215 89
|
57
|
-
11698 89
|
58
|
-
11891 89
|
59
|
-
11945 90
|
60
|
-
11956 89
|
61
|
-
12018 89
|
62
|
-
12053 89
|
63
|
-
12178 100
|
64
|
-
12283 89
|
65
|
-
12326 99
|
66
|
-
12430 99
|
67
|
-
12438 89
|
68
|
-
12572 89
|
69
|
-
12638 100
|
70
|
-
12687 90
|
71
|
-
12703 89
|
72
|
-
12896 99
|
73
|
-
12922 99
|
74
|
-
12996 100
|
75
|
-
13137 110
|
76
|
-
13211 99
|
77
|
-
13462 110
|
78
|
-
13477 109
|
79
|
-
13576 109
|
80
|
-
13577 109
|
81
|
-
13584 99
|
82
|
-
13605 119
|
83
|
-
13631 109
|
84
|
-
14216 109
|
85
|
-
14237 110
|
86
|
-
14260 109
|
87
|
-
14367 120
|
88
|
-
14371 109
|
89
|
-
14741 110
|
90
|
-
14893 129
|
91
|
-
14910 109
|
92
|
-
14917 109
|
93
|
-
14977 109
|
94
|
-
15049 120
|
95
|
-
15191 109
|
96
|
-
15382 120
|
97
|
-
15618 120
|
98
|
-
15623 120
|
99
|
-
15629 120
|
100
|
-
15856 120
|
101
|
-
16496 130
|
102
|
-
16512 130
|
103
|
-
16956 130
|
104
|
-
17074 130
|
105
|
-
17237 129
|
106
|
-
17371 140
|
107
|
-
17568 130
|
108
|
-
17945 139
|
109
|
-
18147 139
|
110
|
-
18343 139
|
111
|
-
18417 139
|
112
|
-
18823 140
|
113
|
-
18970 150
|
114
|
-
19285 150
|
115
|
-
19333 140
|
116
|
-
19500 150
|
117
|
-
19548 149
|
118
|
-
19634 149
|
119
|
-
19673 150
|
120
|
-
19689 160
|
121
|
-
19909 150
|
122
|
-
20054 149
|
123
|
-
20107 150
|
124
|
-
20248 160
|
125
|
-
20580 160
|
126
|
-
20744 160
|
127
|
-
20806 160
|
128
|
-
20954 160
|
129
|
-
21034 160
|
130
|
-
21187 160
|
131
|
-
21303 160
|
132
|
-
21450 160
|
133
|
-
21626 169
|
134
|
-
21931 169
|
135
|
-
21950 169
|
136
|
-
22359 169
|
137
|
-
22626 169
|
138
|
-
22638 169
|
139
|
-
22772 169
|
140
|
-
22885 169
|
141
|
-
22897 170
|
142
|
-
23114 179
|
143
|
-
23242 179
|
144
|
-
23428 180
|
145
|
-
23452 179
|
146
|
-
23495 189
|
147
|
-
23499 180
|
148
|
-
23558 190
|
149
|
-
23744 179
|
150
|
-
23881 180
|
151
|
-
23945 179
|
152
|
-
24361 189
|
153
|
-
24501 190
|
154
|
-
24642 189
|
155
|
-
24672 190
|
156
|
-
24694 190
|
157
|
-
24706 190
|
158
|
-
24931 199
|
159
|
-
25065 189
|
160
|
-
25140 189
|
161
|
-
25402 189
|
162
|
-
25702 199
|
163
|
-
25743 199
|
164
|
-
27139 210
|
165
|
-
27316 209
|
166
|
-
27333 210
|
167
|
-
27414 209
|
168
|
-
27771 220
|
169
|
-
27798 210
|
170
|
-
28583 230
|
171
|
-
28906 219
|
172
|
-
29025 230
|
173
|
-
29209 229
|
174
|
-
29272 219
|
175
|
-
29273 219
|
176
|
-
29359 229
|
177
|
-
29577 220
|
178
|
-
30886 240
|
179
|
-
31170 240
|
180
|
-
31593 240
|
181
|
-
32460 250
|
182
|
-
32486 250
|
183
|
-
32630 250
|
184
|
-
33010 259
|
185
|
-
33137 259
|
186
|
-
33142 250
|
187
|
-
33739 259
|
188
|
-
39880 309
|
189
|
-
39940 319
|
190
|
-
42952 320
|
191
|
-
43227 329
|
192
|
-
52855 420
|
data/benchmark/before.dat
DELETED
@@ -1,192 +0,0 @@
|
|
1
|
-
12 1
|
2
|
-
30 0
|
3
|
-
35 0
|
4
|
-
1749 59
|
5
|
-
1962 30
|
6
|
-
2383 29
|
7
|
-
3728 50
|
8
|
-
3919 50
|
9
|
-
3952 60
|
10
|
-
3995 130
|
11
|
-
4063 49
|
12
|
-
4325 140
|
13
|
-
4527 109
|
14
|
-
4570 50
|
15
|
-
4607 60
|
16
|
-
4654 89
|
17
|
-
4679 80
|
18
|
-
4774 70
|
19
|
-
4968 80
|
20
|
-
5059 159
|
21
|
-
5383 60
|
22
|
-
5915 80
|
23
|
-
6109 119
|
24
|
-
6122 169
|
25
|
-
6218 69
|
26
|
-
6332 70
|
27
|
-
6681 90
|
28
|
-
7440 89
|
29
|
-
7530 129
|
30
|
-
7605 89
|
31
|
-
8155 159
|
32
|
-
8402 169
|
33
|
-
8420 179
|
34
|
-
8617 100
|
35
|
-
8635 119
|
36
|
-
8841 169
|
37
|
-
8843 169
|
38
|
-
8852 140
|
39
|
-
9151 220
|
40
|
-
9271 169
|
41
|
-
9521 199
|
42
|
-
9525 160
|
43
|
-
9566 120
|
44
|
-
9584 170
|
45
|
-
9642 120
|
46
|
-
10138 200
|
47
|
-
10181 119
|
48
|
-
10225 120
|
49
|
-
10338 149
|
50
|
-
10449 199
|
51
|
-
10629 150
|
52
|
-
10763 189
|
53
|
-
10817 199
|
54
|
-
11059 179
|
55
|
-
11062 179
|
56
|
-
11215 190
|
57
|
-
11698 180
|
58
|
-
11891 219
|
59
|
-
11945 209
|
60
|
-
11956 200
|
61
|
-
12018 170
|
62
|
-
12053 139
|
63
|
-
12178 249
|
64
|
-
12283 199
|
65
|
-
12326 170
|
66
|
-
12430 210
|
67
|
-
12438 180
|
68
|
-
12572 189
|
69
|
-
12638 220
|
70
|
-
12687 209
|
71
|
-
12703 170
|
72
|
-
12896 200
|
73
|
-
12922 229
|
74
|
-
12996 169
|
75
|
-
13137 220
|
76
|
-
13211 219
|
77
|
-
13462 289
|
78
|
-
13477 189
|
79
|
-
13576 220
|
80
|
-
13577 179
|
81
|
-
13584 269
|
82
|
-
13605 209
|
83
|
-
13631 219
|
84
|
-
14216 240
|
85
|
-
14237 190
|
86
|
-
14260 199
|
87
|
-
14367 210
|
88
|
-
14371 240
|
89
|
-
14741 289
|
90
|
-
14893 240
|
91
|
-
14910 189
|
92
|
-
14917 250
|
93
|
-
14977 289
|
94
|
-
15049 250
|
95
|
-
15191 209
|
96
|
-
15382 239
|
97
|
-
15618 269
|
98
|
-
15623 239
|
99
|
-
15629 260
|
100
|
-
15856 259
|
101
|
-
16496 310
|
102
|
-
16512 270
|
103
|
-
16956 279
|
104
|
-
17074 239
|
105
|
-
17237 259
|
106
|
-
17371 289
|
107
|
-
17568 350
|
108
|
-
17945 310
|
109
|
-
18147 250
|
110
|
-
18343 279
|
111
|
-
18417 300
|
112
|
-
18823 310
|
113
|
-
18970 290
|
114
|
-
19285 300
|
115
|
-
19333 299
|
116
|
-
19500 319
|
117
|
-
19548 299
|
118
|
-
19634 300
|
119
|
-
19673 309
|
120
|
-
19689 380
|
121
|
-
19909 310
|
122
|
-
20054 299
|
123
|
-
20107 349
|
124
|
-
20248 299
|
125
|
-
20580 300
|
126
|
-
20744 329
|
127
|
-
20806 340
|
128
|
-
20954 279
|
129
|
-
21034 320
|
130
|
-
21187 300
|
131
|
-
21303 280
|
132
|
-
21450 310
|
133
|
-
21626 339
|
134
|
-
21931 370
|
135
|
-
21950 320
|
136
|
-
22359 379
|
137
|
-
22626 320
|
138
|
-
22638 339
|
139
|
-
22772 359
|
140
|
-
22885 359
|
141
|
-
22897 330
|
142
|
-
23114 330
|
143
|
-
23242 329
|
144
|
-
23428 339
|
145
|
-
23452 339
|
146
|
-
23495 370
|
147
|
-
23499 360
|
148
|
-
23558 350
|
149
|
-
23744 359
|
150
|
-
23881 340
|
151
|
-
23945 320
|
152
|
-
24361 339
|
153
|
-
24501 339
|
154
|
-
24642 400
|
155
|
-
24672 340
|
156
|
-
24694 320
|
157
|
-
24706 349
|
158
|
-
24931 350
|
159
|
-
25065 380
|
160
|
-
25140 350
|
161
|
-
25402 379
|
162
|
-
25702 349
|
163
|
-
25743 429
|
164
|
-
27139 420
|
165
|
-
27316 520
|
166
|
-
27333 410
|
167
|
-
27414 370
|
168
|
-
27771 399
|
169
|
-
27798 410
|
170
|
-
28583 370
|
171
|
-
28906 409
|
172
|
-
29025 519
|
173
|
-
29209 390
|
174
|
-
29272 489
|
175
|
-
29273 449
|
176
|
-
29359 480
|
177
|
-
29577 470
|
178
|
-
30886 510
|
179
|
-
31170 469
|
180
|
-
31593 429
|
181
|
-
32460 519
|
182
|
-
32486 500
|
183
|
-
32630 480
|
184
|
-
33010 469
|
185
|
-
33137 489
|
186
|
-
33142 480
|
187
|
-
33739 560
|
188
|
-
39880 599
|
189
|
-
39940 609
|
190
|
-
42952 629
|
191
|
-
43227 620
|
192
|
-
52855 780
|