mailparser 0.4.22a → 0.5.0.beta1
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.
- data/README.txt +2 -6
- data/lib/mailparser/conv_charset.rb +40 -19
- data/lib/mailparser/error.rb +1 -0
- data/lib/mailparser/loose.rb +22 -20
- data/lib/mailparser/rfc2045/parser.rb +140 -140
- data/lib/mailparser/rfc2045/scanner.rb +15 -14
- data/lib/mailparser/rfc2045.rb +1 -0
- data/lib/mailparser/rfc2047.rb +26 -37
- data/lib/mailparser/rfc2183/parser.rb +2 -1
- data/lib/mailparser/rfc2183/scanner.rb +1 -0
- data/lib/mailparser/rfc2183.rb +1 -0
- data/lib/mailparser/rfc2231.rb +6 -5
- data/lib/mailparser/rfc2822/parser.rb +584 -544
- data/lib/mailparser/rfc2822/scanner.rb +21 -21
- data/lib/mailparser/rfc2822.rb +1 -0
- data/lib/mailparser.rb +83 -209
- data/test/test_loose.rb +17 -8
- data/test/test_mailparser.rb +88 -183
- data/test/test_rfc2045.rb +1 -1
- data/test/test_rfc2047.rb +35 -13
- data/test/test_rfc2183.rb +1 -1
- data/test/test_rfc2822.rb +6 -2
- metadata +22 -9
- data/HISTORY +0 -141
- data/lib/mailparser/obsolete.rb +0 -403
- data/test/test_obsolete.rb +0 -615
@@ -1,19 +1,16 @@
|
|
1
|
+
# coding: ascii-8bit
|
1
2
|
#
|
2
3
|
# DO NOT MODIFY!!!!
|
3
|
-
# This file is automatically generated by
|
4
|
-
# from
|
4
|
+
# This file is automatically generated by Racc 1.4.7
|
5
|
+
# from Racc grammer file "".
|
5
6
|
#
|
6
7
|
|
7
|
-
require 'racc/parser'
|
8
|
-
|
9
|
-
|
8
|
+
require 'racc/parser.rb'
|
10
9
|
module MailParser
|
11
|
-
|
12
10
|
module RFC2822
|
13
|
-
|
14
11
|
class Parser < Racc::Parser
|
15
12
|
|
16
|
-
module_eval
|
13
|
+
module_eval(<<'...end parser.y/module_eval...', 'parser.y', 346)
|
17
14
|
|
18
15
|
require "mailparser/rfc2822/scanner"
|
19
16
|
|
@@ -37,7 +34,7 @@ def parse(header_type, value)
|
|
37
34
|
end
|
38
35
|
|
39
36
|
def parse_sub(&block)
|
40
|
-
yield @header_type, nil
|
37
|
+
yield [@header_type, nil]
|
41
38
|
@scanner.scan(&block)
|
42
39
|
end
|
43
40
|
|
@@ -55,764 +52,804 @@ end
|
|
55
52
|
def decode2(ary)
|
56
53
|
ary.map{|i| decode(i)}
|
57
54
|
end
|
58
|
-
|
59
|
-
|
60
|
-
##### racc 1.4.5 generates ###
|
61
|
-
|
62
|
-
racc_reduce_table = [
|
63
|
-
0, 0, :racc_error,
|
64
|
-
2, 28, :_reduce_1,
|
65
|
-
2, 28, :_reduce_2,
|
66
|
-
2, 28, :_reduce_3,
|
67
|
-
2, 28, :_reduce_4,
|
68
|
-
2, 28, :_reduce_5,
|
69
|
-
2, 28, :_reduce_6,
|
70
|
-
2, 28, :_reduce_7,
|
71
|
-
2, 28, :_reduce_8,
|
72
|
-
2, 28, :_reduce_9,
|
73
|
-
2, 28, :_reduce_10,
|
74
|
-
2, 28, :_reduce_11,
|
75
|
-
2, 28, :_reduce_12,
|
76
|
-
1, 29, :_reduce_13,
|
77
|
-
1, 39, :_reduce_14,
|
78
|
-
3, 39, :_reduce_15,
|
79
|
-
0, 40, :_reduce_none,
|
80
|
-
1, 40, :_reduce_none,
|
81
|
-
1, 31, :_reduce_18,
|
82
|
-
1, 41, :_reduce_19,
|
83
|
-
3, 41, :_reduce_20,
|
84
|
-
0, 42, :_reduce_none,
|
85
|
-
1, 42, :_reduce_none,
|
86
|
-
1, 43, :_reduce_none,
|
87
|
-
1, 43, :_reduce_none,
|
88
|
-
1, 30, :_reduce_none,
|
89
|
-
1, 30, :_reduce_26,
|
90
|
-
1, 45, :_reduce_27,
|
91
|
-
2, 45, :_reduce_28,
|
92
|
-
1, 49, :_reduce_29,
|
93
|
-
2, 49, :_reduce_30,
|
94
|
-
3, 47, :_reduce_31,
|
95
|
-
4, 47, :_reduce_32,
|
96
|
-
2, 50, :_reduce_none,
|
97
|
-
2, 51, :_reduce_none,
|
98
|
-
4, 51, :_reduce_none,
|
99
|
-
0, 53, :_reduce_none,
|
100
|
-
2, 53, :_reduce_none,
|
101
|
-
4, 44, :_reduce_38,
|
102
|
-
1, 48, :_reduce_39,
|
103
|
-
1, 34, :_reduce_40,
|
104
|
-
3, 34, :_reduce_41,
|
105
|
-
0, 55, :_reduce_none,
|
106
|
-
1, 55, :_reduce_43,
|
107
|
-
1, 56, :_reduce_none,
|
108
|
-
1, 56, :_reduce_none,
|
109
|
-
1, 54, :_reduce_46,
|
110
|
-
2, 54, :_reduce_47,
|
111
|
-
3, 46, :_reduce_48,
|
112
|
-
1, 57, :_reduce_none,
|
113
|
-
2, 57, :_reduce_50,
|
114
|
-
2, 57, :_reduce_51,
|
115
|
-
1, 52, :_reduce_none,
|
116
|
-
2, 52, :_reduce_53,
|
117
|
-
1, 52, :_reduce_none,
|
118
|
-
1, 63, :_reduce_none,
|
119
|
-
1, 63, :_reduce_none,
|
120
|
-
1, 59, :_reduce_none,
|
121
|
-
1, 59, :_reduce_none,
|
122
|
-
1, 62, :_reduce_none,
|
123
|
-
1, 62, :_reduce_none,
|
124
|
-
2, 60, :_reduce_61,
|
125
|
-
3, 60, :_reduce_62,
|
126
|
-
3, 60, :_reduce_63,
|
127
|
-
2, 58, :_reduce_64,
|
128
|
-
2, 58, :_reduce_65,
|
129
|
-
2, 61, :_reduce_66,
|
130
|
-
3, 61, :_reduce_67,
|
131
|
-
1, 64, :_reduce_none,
|
132
|
-
1, 64, :_reduce_none,
|
133
|
-
1, 33, :_reduce_70,
|
134
|
-
2, 33, :_reduce_71,
|
135
|
-
5, 32, :_reduce_72,
|
136
|
-
0, 35, :_reduce_73,
|
137
|
-
2, 35, :_reduce_none,
|
138
|
-
2, 35, :_reduce_75,
|
139
|
-
1, 65, :_reduce_none,
|
140
|
-
1, 66, :_reduce_none,
|
141
|
-
2, 37, :_reduce_78,
|
142
|
-
1, 37, :_reduce_none,
|
143
|
-
3, 38, :_reduce_80,
|
144
|
-
0, 67, :_reduce_81,
|
145
|
-
2, 67, :_reduce_82,
|
146
|
-
2, 68, :_reduce_83,
|
147
|
-
1, 69, :_reduce_none,
|
148
|
-
1, 69, :_reduce_none,
|
149
|
-
1, 69, :_reduce_none,
|
150
|
-
6, 36, :_reduce_87,
|
151
|
-
0, 70, :_reduce_none,
|
152
|
-
2, 70, :_reduce_89,
|
153
|
-
3, 71, :_reduce_90,
|
154
|
-
5, 71, :_reduce_91,
|
155
|
-
1, 72, :_reduce_92 ]
|
156
|
-
|
157
|
-
racc_reduce_n = 93
|
158
|
-
|
159
|
-
racc_shift_n = 148
|
55
|
+
...end parser.y/module_eval...
|
56
|
+
##### State transition tables begin ###
|
160
57
|
|
161
58
|
racc_action_table = [
|
162
|
-
4, 5, 6, 7, 8, 10, 11,
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
59
|
+
2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
|
60
|
+
12, 13, 47, 97, 130, -57, 99, 23, 129, 33,
|
61
|
+
34, 113, 35, 36, 33, 34, 23, 35, 36, -57,
|
62
|
+
23, 23, 87, 33, 34, 84, 35, 36, 33, 34,
|
63
|
+
23, 35, 36, 33, 34, 23, 84, 33, 34, 94,
|
64
|
+
35, 36, 33, 34, 23, 35, 36, 91, 101, 23,
|
65
|
+
47, 33, 34, 103, 35, 36, 33, 34, 23, 35,
|
66
|
+
36, 86, 76, 109, 110, 33, 34, 85, 35, 36,
|
67
|
+
96, 84, 70, 112, 113, 114, 33, 34, 70, 35,
|
68
|
+
36, 77, 33, 34, 76, 35, 36, 33, 34, 117,
|
69
|
+
35, 36, 33, 34, 23, 35, 36, 33, 34, 119,
|
70
|
+
35, 36, 33, 34, 57, 35, 36, 33, 34, 65,
|
71
|
+
35, 36, 33, 34, 80, 35, 36, 33, 34, 128,
|
72
|
+
35, 36, 33, 34, 64, 35, 36, 33, 34, 95,
|
73
|
+
35, 36, 33, 34, 63, 35, 36, 109, 110, 33,
|
74
|
+
34, 109, 110, 33, 34, 109, 110, 33, 34, 109,
|
75
|
+
110, 33, 34, 132, 59, 135, 23, 57, 47, 47,
|
76
|
+
113, 139, 141, 14, 143, 144, 145, 146, 147 ]
|
180
77
|
|
181
78
|
racc_action_check = [
|
182
79
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
183
|
-
0, 0,
|
184
|
-
|
185
|
-
4,
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
80
|
+
0, 0, 54, 62, 104, 137, 62, 2, 104, 54,
|
81
|
+
54, 137, 54, 54, 2, 2, 3, 2, 2, 124,
|
82
|
+
44, 4, 44, 3, 3, 124, 3, 3, 4, 4,
|
83
|
+
5, 4, 4, 107, 107, 65, 106, 5, 5, 56,
|
84
|
+
5, 5, 65, 65, 86, 65, 65, 50, 67, 87,
|
85
|
+
48, 86, 86, 69, 86, 86, 87, 87, 99, 87,
|
86
|
+
87, 39, 71, 99, 99, 99, 99, 32, 99, 99,
|
87
|
+
59, 31, 59, 79, 82, 83, 59, 59, 23, 59,
|
88
|
+
59, 26, 23, 23, 25, 23, 23, 8, 8, 88,
|
89
|
+
8, 8, 24, 24, 22, 24, 24, 123, 123, 94,
|
90
|
+
123, 123, 91, 91, 97, 91, 91, 52, 52, 16,
|
91
|
+
52, 52, 29, 29, 29, 29, 29, 47, 47, 102,
|
92
|
+
47, 47, 72, 72, 14, 72, 72, 68, 68, 57,
|
93
|
+
68, 68, 30, 30, 13, 30, 30, 70, 70, 70,
|
94
|
+
70, 129, 129, 129, 129, 117, 117, 117, 117, 76,
|
95
|
+
76, 76, 76, 116, 11, 119, 122, 10, 7, 6,
|
96
|
+
131, 133, 135, 1, 140, 141, 144, 145, 146 ]
|
200
97
|
|
201
98
|
racc_action_pointer = [
|
202
|
-
-2,
|
203
|
-
|
204
|
-
nil, nil,
|
205
|
-
|
206
|
-
|
207
|
-
nil,
|
208
|
-
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
nil,
|
213
|
-
nil, nil, nil,
|
214
|
-
nil, nil,
|
215
|
-
nil,
|
216
|
-
|
99
|
+
-2, 173, 2, 11, 16, 25, 154, 153, 75, nil,
|
100
|
+
145, 149, nil, 131, 134, nil, 105, nil, nil, nil,
|
101
|
+
nil, nil, 89, 70, 80, 76, 67, nil, nil, 100,
|
102
|
+
120, 57, 53, nil, nil, nil, nil, nil, nil, 57,
|
103
|
+
nil, nil, nil, nil, 15, nil, nil, 105, 45, nil,
|
104
|
+
43, nil, 95, nil, -3, nil, 26, 125, nil, 64,
|
105
|
+
nil, nil, -6, nil, nil, 30, nil, 42, 115, 46,
|
106
|
+
127, 54, 110, nil, nil, nil, 139, nil, nil, 59,
|
107
|
+
nil, nil, 60, 61, nil, nil, 39, 44, 81, nil,
|
108
|
+
nil, 90, nil, nil, 87, nil, nil, 92, nil, 53,
|
109
|
+
nil, nil, 113, nil, 0, nil, 22, 21, nil, nil,
|
110
|
+
nil, nil, nil, nil, nil, nil, 144, 135, nil, 142,
|
111
|
+
nil, nil, 151, 85, 11, nil, nil, nil, nil, 131,
|
112
|
+
nil, 146, nil, 155, nil, 149, nil, -3, nil, nil,
|
113
|
+
152, 158, nil, nil, 153, 160, 155, nil ]
|
217
114
|
|
218
115
|
racc_action_default = [
|
219
|
-
-93, -93, -
|
220
|
-
-
|
221
|
-
-
|
222
|
-
-
|
223
|
-
-
|
224
|
-
-
|
225
|
-
|
226
|
-
-
|
227
|
-
-
|
228
|
-
-
|
229
|
-
-
|
230
|
-
-
|
231
|
-
-
|
232
|
-
-37, -
|
233
|
-
-93, -93, -
|
116
|
+
-93, -93, -16, -93, -21, -21, -93, -93, -42, -73,
|
117
|
+
-88, -93, -81, -93, -93, -1, -13, -14, -17, -25,
|
118
|
+
-26, -27, -93, -93, -39, -44, -45, -46, -49, -93,
|
119
|
+
-93, -57, -58, -59, -60, -68, -69, -2, -3, -18,
|
120
|
+
-19, -22, -23, -24, -93, -4, -5, -93, -6, -70,
|
121
|
+
-7, -40, -43, -44, -8, -9, -93, -93, -10, -93,
|
122
|
+
-79, -11, -93, -12, 148, -16, -28, -93, -93, -36,
|
123
|
+
-93, -93, -93, -47, -57, -58, -93, -65, -50, -58,
|
124
|
+
-64, -51, -57, -58, -66, -61, -21, -16, -93, -76,
|
125
|
+
-71, -42, -74, -75, -93, -89, -78, -88, -82, -93,
|
126
|
+
-15, -31, -93, -33, -93, -34, -52, -93, -54, -55,
|
127
|
+
-56, -48, -62, -67, -63, -20, -93, -93, -41, -93,
|
128
|
+
-80, -29, -84, -93, -52, -83, -85, -86, -32, -93,
|
129
|
+
-37, -53, -38, -93, -77, -93, -30, -53, -35, -72,
|
130
|
+
-93, -93, -87, -92, -93, -90, -93, -91 ]
|
234
131
|
|
235
132
|
racc_goto_table = [
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
nil,
|
245
|
-
|
246
|
-
|
247
|
-
nil,
|
248
|
-
nil, nil,
|
133
|
+
60, 74, 55, 73, 53, 15, 74, 82, 78, 81,
|
134
|
+
75, 66, 1, 51, 52, 79, 83, 44, 44, 71,
|
135
|
+
37, 42, 42, 46, 49, 67, 38, 45, 104, 74,
|
136
|
+
122, 73, 72, 66, 105, 115, 92, 100, 75, 61,
|
137
|
+
111, 58, 54, 89, 50, 48, 88, 106, 133, 74,
|
138
|
+
53, 78, 62, 106, 98, 71, 72, 125, 79, 140,
|
139
|
+
142, 67, nil, 127, 71, 90, nil, nil, 72, 107,
|
140
|
+
102, 93, nil, nil, nil, 107, 124, 72, nil, nil,
|
141
|
+
nil, 134, nil, nil, 131, nil, nil, 53, 121, 120,
|
142
|
+
116, nil, nil, 138, 106, 71, 118, 52, 123, 44,
|
143
|
+
137, 126, 81, 42, nil, nil, 106, nil, 72, 83,
|
144
|
+
nil, 136, nil, nil, nil, nil, 107, nil, nil, nil,
|
145
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 107 ]
|
249
146
|
|
250
147
|
racc_goto_check = [
|
251
|
-
20,
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
nil, nil,
|
260
|
-
|
261
|
-
|
262
|
-
nil,
|
263
|
-
nil, nil,
|
148
|
+
20, 35, 9, 32, 30, 2, 35, 35, 32, 32,
|
149
|
+
37, 20, 1, 28, 27, 37, 37, 21, 21, 30,
|
150
|
+
3, 3, 3, 5, 5, 19, 4, 4, 26, 35,
|
151
|
+
22, 32, 33, 20, 25, 15, 29, 13, 37, 11,
|
152
|
+
25, 10, 8, 30, 7, 6, 38, 35, 39, 35,
|
153
|
+
30, 32, 40, 35, 41, 30, 33, 42, 37, 44,
|
154
|
+
45, 19, nil, 25, 30, 5, nil, nil, 33, 34,
|
155
|
+
19, 5, nil, nil, nil, 34, 35, 33, nil, nil,
|
156
|
+
nil, 25, nil, nil, 35, nil, nil, 30, 20, 9,
|
157
|
+
2, nil, nil, 25, 35, 30, 28, 27, 34, 21,
|
158
|
+
35, 19, 32, 3, nil, nil, 35, nil, 33, 37,
|
159
|
+
nil, 20, nil, nil, nil, nil, 34, nil, nil, nil,
|
160
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 34 ]
|
264
161
|
|
265
162
|
racc_goto_pointer = [
|
266
|
-
nil,
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
163
|
+
nil, 12, 3, 17, 22, 17, 38, 36, 33, -8,
|
164
|
+
30, 27, nil, -28, nil, -51, nil, nil, nil, 2,
|
165
|
+
-11, 13, -69, nil, nil, -36, -41, 6, 5, -18,
|
166
|
+
-4, nil, -21, 9, -1, -23, nil, -14, -1, -69,
|
167
|
+
40, -8, -42, nil, -76, -80 ]
|
271
168
|
|
272
169
|
racc_goto_default = [
|
273
|
-
nil, nil, nil,
|
274
|
-
nil, nil,
|
275
|
-
|
276
|
-
|
277
|
-
nil, nil, nil,
|
170
|
+
nil, nil, nil, 18, nil, nil, nil, nil, nil, nil,
|
171
|
+
nil, nil, 16, 17, 39, 40, 41, 43, 19, 20,
|
172
|
+
21, 22, nil, 68, 69, nil, nil, 24, nil, 27,
|
173
|
+
25, 26, 28, 29, 30, 31, 108, 32, nil, nil,
|
174
|
+
nil, nil, nil, 56, nil, nil ]
|
278
175
|
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
:
|
283
|
-
:
|
284
|
-
:
|
285
|
-
:
|
286
|
-
:
|
287
|
-
:
|
288
|
-
:
|
289
|
-
:
|
290
|
-
:
|
291
|
-
:
|
292
|
-
:
|
293
|
-
:
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
:
|
301
|
-
:
|
302
|
-
:
|
303
|
-
:
|
304
|
-
|
305
|
-
:
|
306
|
-
:
|
176
|
+
racc_reduce_table = [
|
177
|
+
0, 0, :racc_error,
|
178
|
+
2, 28, :_reduce_1,
|
179
|
+
2, 28, :_reduce_2,
|
180
|
+
2, 28, :_reduce_3,
|
181
|
+
2, 28, :_reduce_4,
|
182
|
+
2, 28, :_reduce_5,
|
183
|
+
2, 28, :_reduce_6,
|
184
|
+
2, 28, :_reduce_7,
|
185
|
+
2, 28, :_reduce_8,
|
186
|
+
2, 28, :_reduce_9,
|
187
|
+
2, 28, :_reduce_10,
|
188
|
+
2, 28, :_reduce_11,
|
189
|
+
2, 28, :_reduce_12,
|
190
|
+
1, 29, :_reduce_13,
|
191
|
+
1, 39, :_reduce_14,
|
192
|
+
3, 39, :_reduce_15,
|
193
|
+
0, 40, :_reduce_none,
|
194
|
+
1, 40, :_reduce_none,
|
195
|
+
1, 31, :_reduce_18,
|
196
|
+
1, 41, :_reduce_19,
|
197
|
+
3, 41, :_reduce_20,
|
198
|
+
0, 42, :_reduce_none,
|
199
|
+
1, 42, :_reduce_none,
|
200
|
+
1, 43, :_reduce_none,
|
201
|
+
1, 43, :_reduce_none,
|
202
|
+
1, 30, :_reduce_none,
|
203
|
+
1, 30, :_reduce_26,
|
204
|
+
1, 45, :_reduce_27,
|
205
|
+
2, 45, :_reduce_28,
|
206
|
+
1, 49, :_reduce_29,
|
207
|
+
2, 49, :_reduce_30,
|
208
|
+
3, 47, :_reduce_31,
|
209
|
+
4, 47, :_reduce_32,
|
210
|
+
2, 50, :_reduce_none,
|
211
|
+
2, 51, :_reduce_none,
|
212
|
+
4, 51, :_reduce_none,
|
213
|
+
0, 53, :_reduce_none,
|
214
|
+
2, 53, :_reduce_none,
|
215
|
+
4, 44, :_reduce_38,
|
216
|
+
1, 48, :_reduce_39,
|
217
|
+
1, 34, :_reduce_40,
|
218
|
+
3, 34, :_reduce_41,
|
219
|
+
0, 55, :_reduce_none,
|
220
|
+
1, 55, :_reduce_43,
|
221
|
+
1, 56, :_reduce_none,
|
222
|
+
1, 56, :_reduce_none,
|
223
|
+
1, 54, :_reduce_46,
|
224
|
+
2, 54, :_reduce_47,
|
225
|
+
3, 46, :_reduce_48,
|
226
|
+
1, 57, :_reduce_none,
|
227
|
+
2, 57, :_reduce_50,
|
228
|
+
2, 57, :_reduce_51,
|
229
|
+
1, 52, :_reduce_none,
|
230
|
+
2, 52, :_reduce_53,
|
231
|
+
1, 52, :_reduce_none,
|
232
|
+
1, 63, :_reduce_none,
|
233
|
+
1, 63, :_reduce_none,
|
234
|
+
1, 59, :_reduce_none,
|
235
|
+
1, 59, :_reduce_none,
|
236
|
+
1, 62, :_reduce_none,
|
237
|
+
1, 62, :_reduce_none,
|
238
|
+
2, 60, :_reduce_61,
|
239
|
+
3, 60, :_reduce_62,
|
240
|
+
3, 60, :_reduce_63,
|
241
|
+
2, 58, :_reduce_64,
|
242
|
+
2, 58, :_reduce_65,
|
243
|
+
2, 61, :_reduce_66,
|
244
|
+
3, 61, :_reduce_67,
|
245
|
+
1, 64, :_reduce_none,
|
246
|
+
1, 64, :_reduce_none,
|
247
|
+
1, 33, :_reduce_70,
|
248
|
+
2, 33, :_reduce_71,
|
249
|
+
5, 32, :_reduce_72,
|
250
|
+
0, 35, :_reduce_73,
|
251
|
+
2, 35, :_reduce_none,
|
252
|
+
2, 35, :_reduce_75,
|
253
|
+
1, 65, :_reduce_none,
|
254
|
+
1, 66, :_reduce_none,
|
255
|
+
2, 37, :_reduce_78,
|
256
|
+
1, 37, :_reduce_none,
|
257
|
+
3, 38, :_reduce_80,
|
258
|
+
0, 67, :_reduce_81,
|
259
|
+
2, 67, :_reduce_82,
|
260
|
+
2, 68, :_reduce_83,
|
261
|
+
1, 69, :_reduce_none,
|
262
|
+
1, 69, :_reduce_none,
|
263
|
+
1, 69, :_reduce_none,
|
264
|
+
6, 36, :_reduce_87,
|
265
|
+
0, 70, :_reduce_none,
|
266
|
+
2, 70, :_reduce_89,
|
267
|
+
3, 71, :_reduce_90,
|
268
|
+
5, 71, :_reduce_91,
|
269
|
+
1, 72, :_reduce_92 ]
|
307
270
|
|
308
|
-
|
271
|
+
racc_reduce_n = 93
|
272
|
+
|
273
|
+
racc_shift_n = 148
|
274
|
+
|
275
|
+
racc_token_table = {
|
276
|
+
false => 0,
|
277
|
+
:error => 1,
|
278
|
+
:MAILBOX_LIST => 2,
|
279
|
+
:MAILBOX => 3,
|
280
|
+
:ADDRESS_LIST => 4,
|
281
|
+
:ADDRESS_LIST_BCC => 5,
|
282
|
+
:MSG_ID => 6,
|
283
|
+
:MSG_ID_LIST => 7,
|
284
|
+
:PHRASE_LIST => 8,
|
285
|
+
:PHRASE_MSG_ID_LIST => 9,
|
286
|
+
:DATE_TIME => 10,
|
287
|
+
:RETURN_PATH => 11,
|
288
|
+
:RECEIVED => 12,
|
289
|
+
:UNSTRUCTURED => 13,
|
290
|
+
"," => 14,
|
291
|
+
"<" => 15,
|
292
|
+
">" => 16,
|
293
|
+
":" => 17,
|
294
|
+
"@" => 18,
|
295
|
+
";" => 19,
|
296
|
+
:DOMAIN_LITERAL => 20,
|
297
|
+
:NO_FOLD_LITERAL => 21,
|
298
|
+
:ATOM => 22,
|
299
|
+
:DIGIT => 23,
|
300
|
+
"." => 24,
|
301
|
+
:QUOTED_STRING => 25,
|
302
|
+
:NO_FOLD_QUOTE => 26 }
|
309
303
|
|
310
304
|
racc_nt_base = 27
|
311
305
|
|
306
|
+
racc_use_result_var = false
|
307
|
+
|
312
308
|
Racc_arg = [
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
309
|
+
racc_action_table,
|
310
|
+
racc_action_check,
|
311
|
+
racc_action_default,
|
312
|
+
racc_action_pointer,
|
313
|
+
racc_goto_table,
|
314
|
+
racc_goto_check,
|
315
|
+
racc_goto_default,
|
316
|
+
racc_goto_pointer,
|
317
|
+
racc_nt_base,
|
318
|
+
racc_reduce_table,
|
319
|
+
racc_token_table,
|
320
|
+
racc_shift_n,
|
321
|
+
racc_reduce_n,
|
322
|
+
racc_use_result_var ]
|
327
323
|
|
328
324
|
Racc_token_to_s_table = [
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
325
|
+
"$end",
|
326
|
+
"error",
|
327
|
+
"MAILBOX_LIST",
|
328
|
+
"MAILBOX",
|
329
|
+
"ADDRESS_LIST",
|
330
|
+
"ADDRESS_LIST_BCC",
|
331
|
+
"MSG_ID",
|
332
|
+
"MSG_ID_LIST",
|
333
|
+
"PHRASE_LIST",
|
334
|
+
"PHRASE_MSG_ID_LIST",
|
335
|
+
"DATE_TIME",
|
336
|
+
"RETURN_PATH",
|
337
|
+
"RECEIVED",
|
338
|
+
"UNSTRUCTURED",
|
339
|
+
"\",\"",
|
340
|
+
"\"<\"",
|
341
|
+
"\">\"",
|
342
|
+
"\":\"",
|
343
|
+
"\"@\"",
|
344
|
+
"\";\"",
|
345
|
+
"DOMAIN_LITERAL",
|
346
|
+
"NO_FOLD_LITERAL",
|
347
|
+
"ATOM",
|
348
|
+
"DIGIT",
|
349
|
+
"\".\"",
|
350
|
+
"QUOTED_STRING",
|
351
|
+
"NO_FOLD_QUOTE",
|
352
|
+
"$start",
|
353
|
+
"all",
|
354
|
+
"mailbox_list",
|
355
|
+
"mailbox",
|
356
|
+
"address_list",
|
357
|
+
"msg_id",
|
358
|
+
"msg_id_list",
|
359
|
+
"phrase_list",
|
360
|
+
"phrase_msg_id_list",
|
361
|
+
"date_time",
|
362
|
+
"return_path",
|
363
|
+
"received",
|
364
|
+
"mailbox_list_",
|
365
|
+
"mailbox_opt",
|
366
|
+
"address_list_",
|
367
|
+
"address_opt",
|
368
|
+
"address",
|
369
|
+
"group",
|
370
|
+
"name_addr",
|
371
|
+
"addr_spec",
|
372
|
+
"angle_addr",
|
373
|
+
"display_name",
|
374
|
+
"angle_addr_list",
|
375
|
+
"obs_route",
|
376
|
+
"obs_domain_list",
|
377
|
+
"domain",
|
378
|
+
"obs_domain_list_delim",
|
379
|
+
"phrase",
|
380
|
+
"phrase_opt",
|
381
|
+
"phrase0",
|
382
|
+
"local_part",
|
383
|
+
"word_dot_list_dot",
|
384
|
+
"word",
|
385
|
+
"word_dot_list",
|
386
|
+
"atom_dot_list",
|
387
|
+
"atom",
|
388
|
+
"domain_literal",
|
389
|
+
"quoted_string",
|
390
|
+
"id_left",
|
391
|
+
"id_right",
|
392
|
+
"name_val_list",
|
393
|
+
"name_val_pair",
|
394
|
+
"item_value",
|
395
|
+
"day_of_week",
|
396
|
+
"time_of_day",
|
397
|
+
"zone" ]
|
402
398
|
|
403
399
|
Racc_debug_parser = false
|
404
400
|
|
405
|
-
#####
|
401
|
+
##### State transition tables end #####
|
406
402
|
|
407
|
-
|
403
|
+
# reduce 0 omitted
|
408
404
|
|
409
|
-
module_eval
|
410
|
-
def _reduce_1(
|
411
|
-
val[1]
|
405
|
+
module_eval(<<'.,.,', 'parser.y', 9)
|
406
|
+
def _reduce_1(val, _values)
|
407
|
+
val[1]
|
412
408
|
end
|
413
409
|
.,.,
|
414
410
|
|
415
|
-
module_eval
|
416
|
-
def _reduce_2(
|
417
|
-
val[1]
|
411
|
+
module_eval(<<'.,.,', 'parser.y', 10)
|
412
|
+
def _reduce_2(val, _values)
|
413
|
+
val[1]
|
418
414
|
end
|
419
415
|
.,.,
|
420
416
|
|
421
|
-
module_eval
|
422
|
-
def _reduce_3(
|
423
|
-
val[1]
|
417
|
+
module_eval(<<'.,.,', 'parser.y', 11)
|
418
|
+
def _reduce_3(val, _values)
|
419
|
+
val[1]
|
424
420
|
end
|
425
421
|
.,.,
|
426
422
|
|
427
|
-
module_eval
|
428
|
-
def _reduce_4(
|
429
|
-
val[1]
|
423
|
+
module_eval(<<'.,.,', 'parser.y', 12)
|
424
|
+
def _reduce_4(val, _values)
|
425
|
+
val[1]
|
430
426
|
end
|
431
427
|
.,.,
|
432
428
|
|
433
|
-
module_eval
|
434
|
-
def _reduce_5(
|
435
|
-
val[1]
|
429
|
+
module_eval(<<'.,.,', 'parser.y', 13)
|
430
|
+
def _reduce_5(val, _values)
|
431
|
+
val[1]
|
436
432
|
end
|
437
433
|
.,.,
|
438
434
|
|
439
|
-
module_eval
|
440
|
-
def _reduce_6(
|
441
|
-
val[1]
|
435
|
+
module_eval(<<'.,.,', 'parser.y', 14)
|
436
|
+
def _reduce_6(val, _values)
|
437
|
+
val[1]
|
442
438
|
end
|
443
439
|
.,.,
|
444
440
|
|
445
|
-
module_eval
|
446
|
-
def _reduce_7(
|
447
|
-
val[1]
|
441
|
+
module_eval(<<'.,.,', 'parser.y', 15)
|
442
|
+
def _reduce_7(val, _values)
|
443
|
+
val[1]
|
448
444
|
end
|
449
445
|
.,.,
|
450
446
|
|
451
|
-
module_eval
|
452
|
-
def _reduce_8(
|
453
|
-
val[1]
|
447
|
+
module_eval(<<'.,.,', 'parser.y', 16)
|
448
|
+
def _reduce_8(val, _values)
|
449
|
+
val[1]
|
454
450
|
end
|
455
451
|
.,.,
|
456
452
|
|
457
|
-
module_eval
|
458
|
-
def _reduce_9(
|
459
|
-
val[1]
|
453
|
+
module_eval(<<'.,.,', 'parser.y', 17)
|
454
|
+
def _reduce_9(val, _values)
|
455
|
+
val[1]
|
460
456
|
end
|
461
457
|
.,.,
|
462
458
|
|
463
|
-
module_eval
|
464
|
-
def _reduce_10(
|
465
|
-
val[1]
|
459
|
+
module_eval(<<'.,.,', 'parser.y', 18)
|
460
|
+
def _reduce_10(val, _values)
|
461
|
+
val[1]
|
466
462
|
end
|
467
463
|
.,.,
|
468
464
|
|
469
|
-
module_eval
|
470
|
-
def _reduce_11(
|
471
|
-
val[1]
|
465
|
+
module_eval(<<'.,.,', 'parser.y', 19)
|
466
|
+
def _reduce_11(val, _values)
|
467
|
+
val[1]
|
472
468
|
end
|
473
469
|
.,.,
|
474
470
|
|
475
|
-
module_eval
|
476
|
-
def _reduce_12(
|
477
|
-
val[1]
|
471
|
+
module_eval(<<'.,.,', 'parser.y', 20)
|
472
|
+
def _reduce_12(val, _values)
|
473
|
+
val[1]
|
478
474
|
end
|
479
475
|
.,.,
|
480
476
|
|
481
|
-
module_eval
|
482
|
-
def _reduce_13(
|
483
|
-
|
477
|
+
module_eval(<<'.,.,', 'parser.y', 24)
|
478
|
+
def _reduce_13(val, _values)
|
479
|
+
unless val[0].empty? then
|
484
480
|
val[0].last.comments = decode2(@scanner.get_comment_by_id(@comma_list[-1], nil))
|
485
481
|
end
|
486
482
|
val[0]
|
483
|
+
|
487
484
|
end
|
488
485
|
.,.,
|
489
486
|
|
490
|
-
module_eval
|
491
|
-
def _reduce_14(
|
492
|
-
|
487
|
+
module_eval(<<'.,.,', 'parser.y', 32)
|
488
|
+
def _reduce_14(val, _values)
|
489
|
+
val[0] ? [val[0]] : []
|
490
|
+
|
493
491
|
end
|
494
492
|
.,.,
|
495
493
|
|
496
|
-
module_eval
|
497
|
-
def _reduce_15(
|
498
|
-
|
494
|
+
module_eval(<<'.,.,', 'parser.y', 36)
|
495
|
+
def _reduce_15(val, _values)
|
496
|
+
@comma_list << val[1].object_id
|
499
497
|
val[0].last.comments = decode2(@scanner.get_comment_by_id(@comma_list[-2], @comma_list[-1])) if val[0].last.kind_of? Mailbox
|
500
498
|
val[0] << val[2] if val[2]
|
501
499
|
val[0]
|
500
|
+
|
502
501
|
end
|
503
502
|
.,.,
|
504
503
|
|
505
|
-
|
504
|
+
# reduce 16 omitted
|
506
505
|
|
507
|
-
|
506
|
+
# reduce 17 omitted
|
508
507
|
|
509
|
-
module_eval
|
510
|
-
def _reduce_18(
|
511
|
-
|
508
|
+
module_eval(<<'.,.,', 'parser.y', 47)
|
509
|
+
def _reduce_18(val, _values)
|
510
|
+
if not val[0].empty? and val[0].last.kind_of? Mailbox then
|
512
511
|
val[0].last.comments = decode2(@scanner.get_comment_by_id(@comma_list[-1], nil))
|
513
512
|
end
|
514
513
|
val[0]
|
514
|
+
|
515
515
|
end
|
516
516
|
.,.,
|
517
517
|
|
518
|
-
module_eval
|
519
|
-
def _reduce_19(
|
520
|
-
|
518
|
+
module_eval(<<'.,.,', 'parser.y', 55)
|
519
|
+
def _reduce_19(val, _values)
|
520
|
+
val[0] ? [val[0]] : []
|
521
|
+
|
521
522
|
end
|
522
523
|
.,.,
|
523
524
|
|
524
|
-
module_eval
|
525
|
-
def _reduce_20(
|
526
|
-
|
525
|
+
module_eval(<<'.,.,', 'parser.y', 59)
|
526
|
+
def _reduce_20(val, _values)
|
527
|
+
@comma_list << val[1].object_id
|
527
528
|
if val[0].last.kind_of? Mailbox then
|
528
529
|
val[0].last.comments = decode2(@scanner.get_comment_by_id(@comma_list[-2], @comma_list[-1]))
|
529
530
|
end
|
530
531
|
val[0] << val[2] if val[2]
|
531
532
|
val[0]
|
533
|
+
|
532
534
|
end
|
533
535
|
.,.,
|
534
536
|
|
535
|
-
|
537
|
+
# reduce 21 omitted
|
536
538
|
|
537
|
-
|
539
|
+
# reduce 22 omitted
|
538
540
|
|
539
|
-
|
541
|
+
# reduce 23 omitted
|
540
542
|
|
541
|
-
|
543
|
+
# reduce 24 omitted
|
542
544
|
|
543
|
-
|
545
|
+
# reduce 25 omitted
|
544
546
|
|
545
|
-
module_eval
|
546
|
-
def _reduce_26(
|
547
|
-
|
547
|
+
module_eval(<<'.,.,', 'parser.y', 76)
|
548
|
+
def _reduce_26(val, _values)
|
549
|
+
Mailbox.new(val[0])
|
550
|
+
|
548
551
|
end
|
549
552
|
.,.,
|
550
553
|
|
551
|
-
module_eval
|
552
|
-
def _reduce_27(
|
553
|
-
|
554
|
+
module_eval(<<'.,.,', 'parser.y', 81)
|
555
|
+
def _reduce_27(val, _values)
|
556
|
+
Mailbox.new(val[0])
|
557
|
+
|
554
558
|
end
|
555
559
|
.,.,
|
556
560
|
|
557
|
-
module_eval
|
558
|
-
def _reduce_28(
|
559
|
-
|
561
|
+
module_eval(<<'.,.,', 'parser.y', 85)
|
562
|
+
def _reduce_28(val, _values)
|
563
|
+
Mailbox.new(val[1], val[0])
|
564
|
+
|
560
565
|
end
|
561
566
|
.,.,
|
562
567
|
|
563
|
-
module_eval
|
564
|
-
def _reduce_29(
|
565
|
-
|
568
|
+
module_eval(<<'.,.,', 'parser.y', 90)
|
569
|
+
def _reduce_29(val, _values)
|
570
|
+
[val[0]]
|
571
|
+
|
566
572
|
end
|
567
573
|
.,.,
|
568
574
|
|
569
|
-
module_eval
|
570
|
-
def _reduce_30(
|
571
|
-
|
575
|
+
module_eval(<<'.,.,', 'parser.y', 94)
|
576
|
+
def _reduce_30(val, _values)
|
577
|
+
val[0] << val[1]
|
572
578
|
val[0]
|
579
|
+
|
573
580
|
end
|
574
581
|
.,.,
|
575
582
|
|
576
|
-
module_eval
|
577
|
-
def _reduce_31(
|
578
|
-
|
583
|
+
module_eval(<<'.,.,', 'parser.y', 100)
|
584
|
+
def _reduce_31(val, _values)
|
585
|
+
val[1]
|
586
|
+
|
579
587
|
end
|
580
588
|
.,.,
|
581
589
|
|
582
|
-
module_eval
|
583
|
-
def _reduce_32(
|
584
|
-
|
590
|
+
module_eval(<<'.,.,', 'parser.y', 104)
|
591
|
+
def _reduce_32(val, _values)
|
592
|
+
val[2]
|
593
|
+
|
585
594
|
end
|
586
595
|
.,.,
|
587
596
|
|
588
|
-
|
597
|
+
# reduce 33 omitted
|
589
598
|
|
590
|
-
|
599
|
+
# reduce 34 omitted
|
591
600
|
|
592
|
-
|
601
|
+
# reduce 35 omitted
|
593
602
|
|
594
|
-
|
603
|
+
# reduce 36 omitted
|
595
604
|
|
596
|
-
|
605
|
+
# reduce 37 omitted
|
597
606
|
|
598
|
-
module_eval
|
599
|
-
def _reduce_38(
|
600
|
-
|
607
|
+
module_eval(<<'.,.,', 'parser.y', 118)
|
608
|
+
def _reduce_38(val, _values)
|
609
|
+
Group.new(val[2], val[0])
|
610
|
+
|
601
611
|
end
|
602
612
|
.,.,
|
603
613
|
|
604
|
-
module_eval
|
605
|
-
def _reduce_39(
|
606
|
-
|
614
|
+
module_eval(<<'.,.,', 'parser.y', 123)
|
615
|
+
def _reduce_39(val, _values)
|
616
|
+
decode(val[0])
|
617
|
+
|
607
618
|
end
|
608
619
|
.,.,
|
609
620
|
|
610
|
-
module_eval
|
611
|
-
def _reduce_40(
|
612
|
-
|
621
|
+
module_eval(<<'.,.,', 'parser.y', 128)
|
622
|
+
def _reduce_40(val, _values)
|
623
|
+
[val[0]].compact
|
624
|
+
|
613
625
|
end
|
614
626
|
.,.,
|
615
627
|
|
616
|
-
module_eval
|
617
|
-
def _reduce_41(
|
618
|
-
|
628
|
+
module_eval(<<'.,.,', 'parser.y', 132)
|
629
|
+
def _reduce_41(val, _values)
|
630
|
+
val[0] << val[2] if val[2]
|
619
631
|
val[0]
|
632
|
+
|
620
633
|
end
|
621
634
|
.,.,
|
622
635
|
|
623
|
-
|
636
|
+
# reduce 42 omitted
|
624
637
|
|
625
|
-
module_eval
|
626
|
-
def _reduce_43(
|
627
|
-
|
638
|
+
module_eval(<<'.,.,', 'parser.y', 139)
|
639
|
+
def _reduce_43(val, _values)
|
640
|
+
decode(val[0])
|
641
|
+
|
628
642
|
end
|
629
643
|
.,.,
|
630
644
|
|
631
|
-
|
645
|
+
# reduce 44 omitted
|
632
646
|
|
633
|
-
|
647
|
+
# reduce 45 omitted
|
634
648
|
|
635
|
-
module_eval
|
636
|
-
def _reduce_46(
|
637
|
-
|
649
|
+
module_eval(<<'.,.,', 'parser.y', 147)
|
650
|
+
def _reduce_46(val, _values)
|
651
|
+
val[0].to_s
|
652
|
+
|
638
653
|
end
|
639
654
|
.,.,
|
640
655
|
|
641
|
-
module_eval
|
642
|
-
def _reduce_47(
|
643
|
-
|
656
|
+
module_eval(<<'.,.,', 'parser.y', 151)
|
657
|
+
def _reduce_47(val, _values)
|
658
|
+
val[0] << " #{val[1]}"
|
659
|
+
|
644
660
|
end
|
645
661
|
.,.,
|
646
662
|
|
647
|
-
module_eval
|
648
|
-
def _reduce_48(
|
649
|
-
|
663
|
+
module_eval(<<'.,.,', 'parser.y', 156)
|
664
|
+
def _reduce_48(val, _values)
|
665
|
+
AddrSpec.new(val[0], val[2])
|
666
|
+
|
650
667
|
end
|
651
668
|
.,.,
|
652
669
|
|
653
|
-
|
670
|
+
# reduce 49 omitted
|
654
671
|
|
655
|
-
module_eval
|
656
|
-
def _reduce_50(
|
657
|
-
|
672
|
+
module_eval(<<'.,.,', 'parser.y', 162)
|
673
|
+
def _reduce_50(val, _values)
|
674
|
+
val.join
|
675
|
+
|
658
676
|
end
|
659
677
|
.,.,
|
660
678
|
|
661
|
-
module_eval
|
662
|
-
def _reduce_51(
|
663
|
-
|
679
|
+
module_eval(<<'.,.,', 'parser.y', 166)
|
680
|
+
def _reduce_51(val, _values)
|
681
|
+
val.join
|
682
|
+
|
664
683
|
end
|
665
684
|
.,.,
|
666
685
|
|
667
|
-
|
686
|
+
# reduce 52 omitted
|
668
687
|
|
669
|
-
module_eval
|
670
|
-
def _reduce_53(
|
671
|
-
|
688
|
+
module_eval(<<'.,.,', 'parser.y', 172)
|
689
|
+
def _reduce_53(val, _values)
|
690
|
+
val.join
|
691
|
+
|
672
692
|
end
|
673
693
|
.,.,
|
674
694
|
|
675
|
-
|
695
|
+
# reduce 54 omitted
|
676
696
|
|
677
|
-
|
697
|
+
# reduce 55 omitted
|
678
698
|
|
679
|
-
|
699
|
+
# reduce 56 omitted
|
680
700
|
|
681
|
-
|
701
|
+
# reduce 57 omitted
|
682
702
|
|
683
|
-
|
703
|
+
# reduce 58 omitted
|
684
704
|
|
685
|
-
|
705
|
+
# reduce 59 omitted
|
686
706
|
|
687
|
-
|
707
|
+
# reduce 60 omitted
|
688
708
|
|
689
|
-
module_eval
|
690
|
-
def _reduce_61(
|
691
|
-
|
709
|
+
module_eval(<<'.,.,', 'parser.y', 187)
|
710
|
+
def _reduce_61(val, _values)
|
711
|
+
val.join
|
712
|
+
|
692
713
|
end
|
693
714
|
.,.,
|
694
715
|
|
695
|
-
module_eval
|
696
|
-
def _reduce_62(
|
697
|
-
|
716
|
+
module_eval(<<'.,.,', 'parser.y', 191)
|
717
|
+
def _reduce_62(val, _values)
|
718
|
+
val[0] << val[1]+val[2]
|
719
|
+
|
698
720
|
end
|
699
721
|
.,.,
|
700
722
|
|
701
|
-
module_eval
|
702
|
-
def _reduce_63(
|
703
|
-
|
723
|
+
module_eval(<<'.,.,', 'parser.y', 195)
|
724
|
+
def _reduce_63(val, _values)
|
725
|
+
val[0] << val[1]+val[2]
|
726
|
+
|
704
727
|
end
|
705
728
|
.,.,
|
706
729
|
|
707
|
-
module_eval
|
708
|
-
def _reduce_64(
|
709
|
-
|
730
|
+
module_eval(<<'.,.,', 'parser.y', 200)
|
731
|
+
def _reduce_64(val, _values)
|
732
|
+
val.join
|
733
|
+
|
710
734
|
end
|
711
735
|
.,.,
|
712
736
|
|
713
|
-
module_eval
|
714
|
-
def _reduce_65(
|
715
|
-
|
737
|
+
module_eval(<<'.,.,', 'parser.y', 204)
|
738
|
+
def _reduce_65(val, _values)
|
739
|
+
val.join
|
740
|
+
|
716
741
|
end
|
717
742
|
.,.,
|
718
743
|
|
719
|
-
module_eval
|
720
|
-
def _reduce_66(
|
721
|
-
|
744
|
+
module_eval(<<'.,.,', 'parser.y', 209)
|
745
|
+
def _reduce_66(val, _values)
|
746
|
+
val.join
|
747
|
+
|
722
748
|
end
|
723
749
|
.,.,
|
724
750
|
|
725
|
-
module_eval
|
726
|
-
def _reduce_67(
|
727
|
-
|
751
|
+
module_eval(<<'.,.,', 'parser.y', 213)
|
752
|
+
def _reduce_67(val, _values)
|
753
|
+
val.join
|
754
|
+
|
728
755
|
end
|
729
756
|
.,.,
|
730
757
|
|
731
|
-
|
758
|
+
# reduce 68 omitted
|
732
759
|
|
733
|
-
|
760
|
+
# reduce 69 omitted
|
734
761
|
|
735
|
-
module_eval
|
736
|
-
def _reduce_70(
|
737
|
-
|
762
|
+
module_eval(<<'.,.,', 'parser.y', 221)
|
763
|
+
def _reduce_70(val, _values)
|
764
|
+
MsgIdList.new(val[0])
|
765
|
+
|
738
766
|
end
|
739
767
|
.,.,
|
740
768
|
|
741
|
-
module_eval
|
742
|
-
def _reduce_71(
|
743
|
-
|
769
|
+
module_eval(<<'.,.,', 'parser.y', 225)
|
770
|
+
def _reduce_71(val, _values)
|
771
|
+
val[0] << val[1]
|
772
|
+
|
744
773
|
end
|
745
774
|
.,.,
|
746
775
|
|
747
|
-
module_eval
|
748
|
-
def _reduce_72(
|
749
|
-
|
776
|
+
module_eval(<<'.,.,', 'parser.y', 230)
|
777
|
+
def _reduce_72(val, _values)
|
778
|
+
MsgId.new(val[1,3].join)
|
779
|
+
|
750
780
|
end
|
751
781
|
.,.,
|
752
782
|
|
753
|
-
module_eval
|
754
|
-
def _reduce_73(
|
755
|
-
|
783
|
+
module_eval(<<'.,.,', 'parser.y', 235)
|
784
|
+
def _reduce_73(val, _values)
|
785
|
+
MsgIdList.new()
|
786
|
+
|
756
787
|
end
|
757
788
|
.,.,
|
758
789
|
|
759
|
-
|
790
|
+
# reduce 74 omitted
|
760
791
|
|
761
|
-
module_eval
|
762
|
-
def _reduce_75(
|
763
|
-
|
792
|
+
module_eval(<<'.,.,', 'parser.y', 240)
|
793
|
+
def _reduce_75(val, _values)
|
794
|
+
val[0] << val[1]
|
795
|
+
|
764
796
|
end
|
765
797
|
.,.,
|
766
798
|
|
767
|
-
|
799
|
+
# reduce 76 omitted
|
768
800
|
|
769
|
-
|
801
|
+
# reduce 77 omitted
|
770
802
|
|
771
|
-
module_eval
|
772
|
-
def _reduce_78(
|
773
|
-
|
803
|
+
module_eval(<<'.,.,', 'parser.y', 253)
|
804
|
+
def _reduce_78(val, _values)
|
805
|
+
nil
|
806
|
+
|
774
807
|
end
|
775
808
|
.,.,
|
776
809
|
|
777
|
-
|
810
|
+
# reduce 79 omitted
|
778
811
|
|
779
|
-
module_eval
|
780
|
-
def _reduce_80(
|
781
|
-
|
812
|
+
module_eval(<<'.,.,', 'parser.y', 260)
|
813
|
+
def _reduce_80(val, _values)
|
814
|
+
Received.new(val[0], val[2])
|
815
|
+
|
782
816
|
end
|
783
817
|
.,.,
|
784
818
|
|
785
|
-
module_eval
|
786
|
-
def _reduce_81(
|
787
|
-
|
819
|
+
module_eval(<<'.,.,', 'parser.y', 265)
|
820
|
+
def _reduce_81(val, _values)
|
821
|
+
{}
|
822
|
+
|
788
823
|
end
|
789
824
|
.,.,
|
790
825
|
|
791
|
-
module_eval
|
792
|
-
def _reduce_82(
|
793
|
-
|
826
|
+
module_eval(<<'.,.,', 'parser.y', 269)
|
827
|
+
def _reduce_82(val, _values)
|
828
|
+
val[0][val[1][0]] = val[1][1]
|
794
829
|
val[0]
|
830
|
+
|
795
831
|
end
|
796
832
|
.,.,
|
797
833
|
|
798
|
-
module_eval
|
799
|
-
def _reduce_83(
|
800
|
-
|
834
|
+
module_eval(<<'.,.,', 'parser.y', 275)
|
835
|
+
def _reduce_83(val, _values)
|
836
|
+
unless val[0] =~ /\A[a-zA-Z0-9](-?[a-zA-Z0-9])*\z/ then
|
801
837
|
raise MailParser::ParseError, val[0]+@scanner.rest
|
802
838
|
end
|
803
839
|
[val[0].downcase, val[1].to_s]
|
840
|
+
|
804
841
|
end
|
805
842
|
.,.,
|
806
843
|
|
807
|
-
|
844
|
+
# reduce 84 omitted
|
808
845
|
|
809
|
-
|
846
|
+
# reduce 85 omitted
|
810
847
|
|
811
|
-
|
848
|
+
# reduce 86 omitted
|
812
849
|
|
813
|
-
module_eval
|
814
|
-
def _reduce_87(
|
815
|
-
|
850
|
+
module_eval(<<'.,.,', 'parser.y', 289)
|
851
|
+
def _reduce_87(val, _values)
|
852
|
+
year, month, day, time, zone = val.values_at(3,2,1,4,5)
|
816
853
|
raise MailParser::ParseError, "invalid year: #{year}" unless year =~ /\A\d\d\d\d\Z/
|
817
854
|
m = [nil,"jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"].index month.downcase
|
818
855
|
raise MailParser::ParseError, "invaild month: #{month}" unless m
|
@@ -822,34 +859,37 @@ module_eval <<'.,.,', 'lib/mailparser/rfc2822/parser.y', 300
|
|
822
859
|
rescue ArgumentError
|
823
860
|
raise MailParser::ParseError, "invalid date format"
|
824
861
|
end
|
862
|
+
|
825
863
|
end
|
826
864
|
.,.,
|
827
865
|
|
828
|
-
|
866
|
+
# reduce 88 omitted
|
829
867
|
|
830
|
-
module_eval
|
831
|
-
def _reduce_89(
|
832
|
-
|
868
|
+
module_eval(<<'.,.,', 'parser.y', 304)
|
869
|
+
def _reduce_89(val, _values)
|
870
|
+
unless ['mon','tue','wed','thu','fri','sat','sun'].include? val[0].downcase then
|
833
871
|
raise MailParser::ParseError, "invalid day of the week: #{val[0]}"
|
834
872
|
end
|
873
|
+
|
835
874
|
end
|
836
875
|
.,.,
|
837
876
|
|
838
|
-
module_eval
|
839
|
-
def _reduce_90(
|
840
|
-
|
877
|
+
module_eval(<<'.,.,', 'parser.y', 311)
|
878
|
+
def _reduce_90(val, _values)
|
879
|
+
if val[0] !~ /\A\d\d\Z/ or val[0].to_i > 23 then
|
841
880
|
raise MailParser::ParseError, "invalid hour: #{val[0]}"
|
842
881
|
end
|
843
882
|
if val[2] !~ /\A\d\d\Z/ or val[2].to_i > 59 then
|
844
883
|
raise MailParser::ParseError, "invalid minute: #{val[2]}"
|
845
884
|
end
|
846
885
|
[val[0].to_i, val[2].to_i, 0]
|
886
|
+
|
847
887
|
end
|
848
888
|
.,.,
|
849
889
|
|
850
|
-
module_eval
|
851
|
-
def _reduce_91(
|
852
|
-
|
890
|
+
module_eval(<<'.,.,', 'parser.y', 321)
|
891
|
+
def _reduce_91(val, _values)
|
892
|
+
if val[0] !~ /\A\d\d\Z/ or val[0].to_i > 23 then
|
853
893
|
raise MailParser::ParseError, "invalid hour: #{val[0]}"
|
854
894
|
end
|
855
895
|
if val[2] !~ /\A\d\d\Z/ or val[2].to_i > 59 then
|
@@ -859,25 +899,25 @@ module_eval <<'.,.,', 'lib/mailparser/rfc2822/parser.y', 332
|
|
859
899
|
raise MailParser::ParseError, "invalid second: #{val[4]}"
|
860
900
|
end
|
861
901
|
[val[0].to_i, val[2].to_i, val[4].to_i]
|
902
|
+
|
862
903
|
end
|
863
904
|
.,.,
|
864
905
|
|
865
|
-
module_eval
|
866
|
-
def _reduce_92(
|
867
|
-
|
906
|
+
module_eval(<<'.,.,', 'parser.y', 335)
|
907
|
+
def _reduce_92(val, _values)
|
908
|
+
if val[0] =~ /\A[+-]\d\d\d\d\Z/ then
|
868
909
|
val[0]
|
869
910
|
else
|
870
911
|
ZONE[val[0].upcase] || "-0000"
|
871
912
|
end
|
913
|
+
|
872
914
|
end
|
873
915
|
.,.,
|
874
916
|
|
875
|
-
|
917
|
+
def _reduce_none(val, _values)
|
876
918
|
val[0]
|
877
|
-
|
919
|
+
end
|
878
920
|
|
879
921
|
end # class Parser
|
880
|
-
|
881
|
-
end # module
|
882
|
-
|
883
|
-
end # module MailParser
|
922
|
+
end # module RFC2822
|
923
|
+
end # module MailParser
|