rumbster 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.
@@ -0,0 +1,122 @@
1
+ #
2
+ # obsolete.rb
3
+ #
4
+ # Copyright (c) 1998-2004 Minero Aoki
5
+ #
6
+ # This program is free software.
7
+ # You can distribute/modify this program under the terms of
8
+ # the GNU Lesser General Public License version 2.1.
9
+ #
10
+
11
+ require 'tmail/textutils'
12
+ require 'tmail/utils'
13
+
14
+
15
+ module TMail
16
+
17
+ # mail.rb
18
+ class Mail
19
+ class << self
20
+ alias loadfrom load
21
+ alias load_from load
22
+ end
23
+
24
+ alias include? key?
25
+ alias has_key? key?
26
+
27
+ def values
28
+ result = []
29
+ each_field do |f|
30
+ result.push f
31
+ end
32
+ result
33
+ end
34
+
35
+ def value?(val)
36
+ return false unless val.is_a?(HeaderField)
37
+ [@header[val.name.downcase]].flatten.include?(val)
38
+ end
39
+
40
+ alias has_value? value?
41
+ end
42
+
43
+
44
+ # facade.rb
45
+ class Mail
46
+ def from_addr(default = nil)
47
+ addr, = from_addrs(nil)
48
+ addr || default
49
+ end
50
+
51
+ alias from_address= from_addrs=
52
+
53
+ def from_phrase(default = nil)
54
+ if a = from_addr(nil)
55
+ a.phrase
56
+ else
57
+ default
58
+ end
59
+ end
60
+
61
+ alias msgid message_id
62
+ alias msgid= message_id=
63
+
64
+ alias each_dest each_destination
65
+ end
66
+
67
+
68
+ # address.rb
69
+ class Address
70
+ alias route routes
71
+ alias addr spec
72
+
73
+ def spec=(str)
74
+ @local, @domain = str.split(/@/,2).map {|s| s.split(/\./) }
75
+ end
76
+
77
+ alias addr= spec=
78
+ alias address= spec=
79
+ end
80
+
81
+
82
+ # mbox.rb
83
+ class MhMailbox
84
+ alias new_mail new_port
85
+ alias each_mail each_port
86
+ alias each_newmail each_new_port
87
+ end
88
+ class UNIXMbox
89
+ alias new_mail new_port
90
+ alias each_mail each_port
91
+ alias each_newmail each_new_port
92
+ end
93
+ class Maildir
94
+ alias new_mail new_port
95
+ alias each_mail each_port
96
+ alias each_newmail each_new_port
97
+ end
98
+
99
+
100
+ # textutils.rb
101
+ extend TextUtils
102
+
103
+ class << self
104
+ public :message_id?
105
+ public :new_boundary
106
+ public :new_message_id
107
+
108
+ alias msgid? message_id?
109
+ alias boundary new_boundary
110
+ alias msgid new_message_id
111
+ alias new_msgid new_message_id
112
+ end
113
+
114
+ def Mail.boundary
115
+ ::TMail.new_boundary
116
+ end
117
+
118
+ def Mail.msgid
119
+ ::TMail.new_message_id
120
+ end
121
+
122
+ end # module TMail
@@ -0,0 +1,1475 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by racc 1.4.4
4
+ # from racc grammer file "parser.y".
5
+ #
6
+ #
7
+ # parser.rb: generated by racc (runtime embedded)
8
+ #
9
+ ###### racc/parser.rb
10
+ unless $".index 'racc/parser.rb'
11
+ $".push 'racc/parser.rb'
12
+
13
+ self.class.module_eval <<'..end /home/aamine/lib/ruby/racc/parser.rb modeval..id32ad1a7c1e', '/home/aamine/lib/ruby/racc/parser.rb', 1
14
+ #
15
+ # parser.rb
16
+ #
17
+ # Copyright (c) 1999-2004 Minero Aoki
18
+ #
19
+ # This program is free software.
20
+ # You can distribute/modify this program under the same terms of ruby.
21
+ #
22
+ # As a special exception, when this code is copied by Racc
23
+ # into a Racc output file, you may use that output file
24
+ # without restriction.
25
+ #
26
+ # $Id: parser.rb,v 1.5 2004/02/16 07:10:50 aamine Exp $
27
+ #
28
+
29
+ unless defined?(NotImplementedError)
30
+ NotImplementedError = NotImplementError
31
+ end
32
+
33
+ module Racc
34
+ class ParseError < StandardError; end
35
+ end
36
+ unless defined?(::ParseError)
37
+ ParseError = Racc::ParseError
38
+ end
39
+
40
+ module Racc
41
+
42
+ unless defined?(Racc_No_Extentions)
43
+ Racc_No_Extentions = false
44
+ end
45
+
46
+ class Parser
47
+
48
+ Racc_Runtime_Version = '1.4.4'
49
+ Racc_Runtime_Revision = '$Revision: 1.5 $'.split[1]
50
+
51
+ Racc_Runtime_Core_Version_R = '1.4.4'
52
+ Racc_Runtime_Core_Revision_R = '$Revision: 1.5 $'.split[1]
53
+ begin
54
+ require 'racc/cparse'
55
+ # Racc_Runtime_Core_Version_C = (defined in extention)
56
+ Racc_Runtime_Core_Revision_C = Racc_Runtime_Core_Id_C.split[2]
57
+ unless new.respond_to?(:_racc_do_parse_c, true)
58
+ raise LoadError, 'old cparse.so'
59
+ end
60
+ if Racc_No_Extentions
61
+ raise LoadError, 'selecting ruby version of racc runtime core'
62
+ end
63
+
64
+ Racc_Main_Parsing_Routine = :_racc_do_parse_c
65
+ Racc_YY_Parse_Method = :_racc_yyparse_c
66
+ Racc_Runtime_Core_Version = Racc_Runtime_Core_Version_C
67
+ Racc_Runtime_Core_Revision = Racc_Runtime_Core_Revision_C
68
+ Racc_Runtime_Type = 'c'
69
+ rescue LoadError
70
+ Racc_Main_Parsing_Routine = :_racc_do_parse_rb
71
+ Racc_YY_Parse_Method = :_racc_yyparse_rb
72
+ Racc_Runtime_Core_Version = Racc_Runtime_Core_Version_R
73
+ Racc_Runtime_Core_Revision = Racc_Runtime_Core_Revision_R
74
+ Racc_Runtime_Type = 'ruby'
75
+ end
76
+
77
+ def Parser.racc_runtime_type
78
+ Racc_Runtime_Type
79
+ end
80
+
81
+ private
82
+
83
+ def _racc_setup
84
+ @yydebug = false unless self.class::Racc_debug_parser
85
+ @yydebug = false unless defined?(@yydebug)
86
+ if @yydebug
87
+ @racc_debug_out = $stderr unless defined?(@racc_debug_out)
88
+ @racc_debug_out ||= $stderr
89
+ end
90
+ arg = self.class::Racc_arg
91
+ arg[13] = true if arg.size < 14
92
+ arg
93
+ end
94
+
95
+ def _racc_init_sysvars
96
+ @racc_state = [0]
97
+ @racc_tstack = []
98
+ @racc_vstack = []
99
+
100
+ @racc_t = nil
101
+ @racc_val = nil
102
+
103
+ @racc_read_next = true
104
+
105
+ @racc_user_yyerror = false
106
+ @racc_error_status = 0
107
+ end
108
+
109
+ ###
110
+ ### do_parse
111
+ ###
112
+
113
+ def do_parse
114
+ __send__(Racc_Main_Parsing_Routine, _racc_setup(), false)
115
+ end
116
+
117
+ def next_token
118
+ raise NotImplementedError, "#{self.class}\#next_token is not defined"
119
+ end
120
+
121
+ def _racc_do_parse_rb(arg, in_debug)
122
+ action_table, action_check, action_default, action_pointer,
123
+ goto_table, goto_check, goto_default, goto_pointer,
124
+ nt_base, reduce_table, token_table, shift_n,
125
+ reduce_n, use_result, * = arg
126
+
127
+ _racc_init_sysvars
128
+ tok = act = i = nil
129
+ nerr = 0
130
+
131
+ catch(:racc_end_parse) {
132
+ while true
133
+ if i = action_pointer[@racc_state[-1]]
134
+ if @racc_read_next
135
+ if @racc_t != 0 # not EOF
136
+ tok, @racc_val = next_token()
137
+ unless tok # EOF
138
+ @racc_t = 0
139
+ else
140
+ @racc_t = (token_table[tok] or 1) # error token
141
+ end
142
+ racc_read_token(@racc_t, tok, @racc_val) if @yydebug
143
+ @racc_read_next = false
144
+ end
145
+ end
146
+ i += @racc_t
147
+ unless i >= 0 and
148
+ act = action_table[i] and
149
+ action_check[i] == @racc_state[-1]
150
+ act = action_default[@racc_state[-1]]
151
+ end
152
+ else
153
+ act = action_default[@racc_state[-1]]
154
+ end
155
+ while act = _racc_evalact(act, arg)
156
+ ;
157
+ end
158
+ end
159
+ }
160
+ end
161
+
162
+ ###
163
+ ### yyparse
164
+ ###
165
+
166
+ def yyparse(recv, mid)
167
+ __send__(Racc_YY_Parse_Method, recv, mid, _racc_setup(), true)
168
+ end
169
+
170
+ def _racc_yyparse_rb(recv, mid, arg, c_debug)
171
+ action_table, action_check, action_default, action_pointer,
172
+ goto_table, goto_check, goto_default, goto_pointer,
173
+ nt_base, reduce_table, token_table, shift_n,
174
+ reduce_n, use_result, * = arg
175
+
176
+ _racc_init_sysvars
177
+ tok = nil
178
+ act = nil
179
+ i = nil
180
+ nerr = 0
181
+
182
+ catch(:racc_end_parse) {
183
+ until i = action_pointer[@racc_state[-1]]
184
+ while act = _racc_evalact(action_default[@racc_state[-1]], arg)
185
+ ;
186
+ end
187
+ end
188
+ recv.__send__(mid) do |tok, val|
189
+ unless tok
190
+ @racc_t = 0
191
+ else
192
+ @racc_t = (token_table[tok] or 1) # error token
193
+ end
194
+ @racc_val = val
195
+ @racc_read_next = false
196
+
197
+ i += @racc_t
198
+ unless i >= 0 and
199
+ act = action_table[i] and
200
+ action_check[i] == @racc_state[-1]
201
+ act = action_default[@racc_state[-1]]
202
+ end
203
+ while act = _racc_evalact(act, arg)
204
+ ;
205
+ end
206
+
207
+ while not (i = action_pointer[@racc_state[-1]]) or
208
+ not @racc_read_next or
209
+ @racc_t == 0 # $
210
+ unless i and i += @racc_t and
211
+ i >= 0 and
212
+ act = action_table[i] and
213
+ action_check[i] == @racc_state[-1]
214
+ act = action_default[@racc_state[-1]]
215
+ end
216
+ while act = _racc_evalact(act, arg)
217
+ ;
218
+ end
219
+ end
220
+ end
221
+ }
222
+ end
223
+
224
+ ###
225
+ ### common
226
+ ###
227
+
228
+ def _racc_evalact(act, arg)
229
+ action_table, action_check, action_default, action_pointer,
230
+ goto_table, goto_check, goto_default, goto_pointer,
231
+ nt_base, reduce_table, token_table, shift_n,
232
+ reduce_n, use_result, * = arg
233
+ nerr = 0 # tmp
234
+
235
+ if act > 0 and act < shift_n
236
+ #
237
+ # shift
238
+ #
239
+ if @racc_error_status > 0
240
+ @racc_error_status -= 1 unless @racc_t == 1 # error token
241
+ end
242
+ @racc_vstack.push @racc_val
243
+ @racc_state.push act
244
+ @racc_read_next = true
245
+ if @yydebug
246
+ @racc_tstack.push @racc_t
247
+ racc_shift @racc_t, @racc_tstack, @racc_vstack
248
+ end
249
+
250
+ elsif act < 0 and act > -reduce_n
251
+ #
252
+ # reduce
253
+ #
254
+ code = catch(:racc_jump) {
255
+ @racc_state.push _racc_do_reduce(arg, act)
256
+ false
257
+ }
258
+ if code
259
+ case code
260
+ when 1 # yyerror
261
+ @racc_user_yyerror = true # user_yyerror
262
+ return -reduce_n
263
+ when 2 # yyaccept
264
+ return shift_n
265
+ else
266
+ raise RuntimeError, '[Racc Bug] unknown jump code'
267
+ end
268
+ end
269
+
270
+ elsif act == shift_n
271
+ #
272
+ # accept
273
+ #
274
+ racc_accept if @yydebug
275
+ throw :racc_end_parse, @racc_vstack[0]
276
+
277
+ elsif act == -reduce_n
278
+ #
279
+ # error
280
+ #
281
+ case @racc_error_status
282
+ when 0
283
+ unless arg[21] # user_yyerror
284
+ nerr += 1
285
+ on_error @racc_t, @racc_val, @racc_vstack
286
+ end
287
+ when 3
288
+ if @racc_t == 0 # is $
289
+ throw :racc_end_parse, nil
290
+ end
291
+ @racc_read_next = true
292
+ end
293
+ @racc_user_yyerror = false
294
+ @racc_error_status = 3
295
+ while true
296
+ if i = action_pointer[@racc_state[-1]]
297
+ i += 1 # error token
298
+ if i >= 0 and
299
+ (act = action_table[i]) and
300
+ action_check[i] == @racc_state[-1]
301
+ break
302
+ end
303
+ end
304
+ throw :racc_end_parse, nil if @racc_state.size <= 1
305
+ @racc_state.pop
306
+ @racc_vstack.pop
307
+ if @yydebug
308
+ @racc_tstack.pop
309
+ racc_e_pop @racc_state, @racc_tstack, @racc_vstack
310
+ end
311
+ end
312
+ return act
313
+
314
+ else
315
+ raise RuntimeError, "[Racc Bug] unknown action #{act.inspect}"
316
+ end
317
+
318
+ racc_next_state(@racc_state[-1], @racc_state) if @yydebug
319
+
320
+ nil
321
+ end
322
+
323
+ def _racc_do_reduce(arg, act)
324
+ action_table, action_check, action_default, action_pointer,
325
+ goto_table, goto_check, goto_default, goto_pointer,
326
+ nt_base, reduce_table, token_table, shift_n,
327
+ reduce_n, use_result, * = arg
328
+ state = @racc_state
329
+ vstack = @racc_vstack
330
+ tstack = @racc_tstack
331
+
332
+ i = act * -3
333
+ len = reduce_table[i]
334
+ reduce_to = reduce_table[i+1]
335
+ method_id = reduce_table[i+2]
336
+ void_array = []
337
+
338
+ tmp_t = tstack[-len, len] if @yydebug
339
+ tmp_v = vstack[-len, len]
340
+ tstack[-len, len] = void_array if @yydebug
341
+ vstack[-len, len] = void_array
342
+ state[-len, len] = void_array
343
+
344
+ # tstack must be updated AFTER method call
345
+ if use_result
346
+ vstack.push __send__(method_id, tmp_v, vstack, tmp_v[0])
347
+ else
348
+ vstack.push __send__(method_id, tmp_v, vstack)
349
+ end
350
+ tstack.push reduce_to
351
+
352
+ racc_reduce(tmp_t, reduce_to, tstack, vstack) if @yydebug
353
+
354
+ k1 = reduce_to - nt_base
355
+ if i = goto_pointer[k1]
356
+ i += state[-1]
357
+ if i >= 0 and (curstate = goto_table[i]) and goto_check[i] == k1
358
+ return curstate
359
+ end
360
+ end
361
+ goto_default[k1]
362
+ end
363
+
364
+ def on_error(t, val, vstack)
365
+ raise ParseError, sprintf("\nparse error on value %s (%s)",
366
+ val.inspect, token_to_str(t) || '?')
367
+ end
368
+
369
+ def yyerror
370
+ throw :racc_jump, 1
371
+ end
372
+
373
+ def yyaccept
374
+ throw :racc_jump, 2
375
+ end
376
+
377
+ def yyerrok
378
+ @racc_error_status = 0
379
+ end
380
+
381
+ #
382
+ # for debugging output
383
+ #
384
+
385
+ def racc_read_token(t, tok, val)
386
+ @racc_debug_out.print 'read '
387
+ @racc_debug_out.print tok.inspect, '(', racc_token2str(t), ') '
388
+ @racc_debug_out.puts val.inspect
389
+ @racc_debug_out.puts
390
+ end
391
+
392
+ def racc_shift(tok, tstack, vstack)
393
+ @racc_debug_out.puts "shift #{racc_token2str tok}"
394
+ racc_print_stacks tstack, vstack
395
+ @racc_debug_out.puts
396
+ end
397
+
398
+ def racc_reduce(toks, sim, tstack, vstack)
399
+ out = @racc_debug_out
400
+ out.print 'reduce '
401
+ if toks.empty?
402
+ out.print ' <none>'
403
+ else
404
+ toks.each {|t| out.print ' ', racc_token2str(t) }
405
+ end
406
+ out.puts " --> #{racc_token2str(sim)}"
407
+
408
+ racc_print_stacks tstack, vstack
409
+ @racc_debug_out.puts
410
+ end
411
+
412
+ def racc_accept
413
+ @racc_debug_out.puts 'accept'
414
+ @racc_debug_out.puts
415
+ end
416
+
417
+ def racc_e_pop(state, tstack, vstack)
418
+ @racc_debug_out.puts 'error recovering mode: pop token'
419
+ racc_print_states state
420
+ racc_print_stacks tstack, vstack
421
+ @racc_debug_out.puts
422
+ end
423
+
424
+ def racc_next_state(curstate, state)
425
+ @racc_debug_out.puts "goto #{curstate}"
426
+ racc_print_states state
427
+ @racc_debug_out.puts
428
+ end
429
+
430
+ def racc_print_stacks(t, v)
431
+ out = @racc_debug_out
432
+ out.print ' ['
433
+ t.each_index do |i|
434
+ out.print ' (', racc_token2str(t[i]), ' ', v[i].inspect, ')'
435
+ end
436
+ out.puts ' ]'
437
+ end
438
+
439
+ def racc_print_states(s)
440
+ out = @racc_debug_out
441
+ out.print ' ['
442
+ s.each {|st| out.print ' ', st }
443
+ out.puts ' ]'
444
+ end
445
+
446
+ def racc_token2str(tok)
447
+ self.class::Racc_token_to_s_table[tok] or
448
+ raise RuntimeError, "[Racc Bug] can't convert token #{tok} to string"
449
+ end
450
+
451
+ def token_to_str(t)
452
+ self.class::Racc_token_to_s_table[t]
453
+ end
454
+
455
+ end
456
+
457
+ end
458
+ ..end /home/aamine/lib/ruby/racc/parser.rb modeval..id32ad1a7c1e
459
+ end # end of racc/parser.rb
460
+
461
+
462
+ #
463
+ # parser.rb
464
+ #
465
+ # Copyright (c) 1998-2004 Minero Aoki
466
+ #
467
+ # This program is free software.
468
+ # You can distribute/modify this program under the terms of
469
+ # the GNU Lesser General Public License version 2.1.
470
+ #
471
+
472
+ require 'tmail/scanner'
473
+ require 'tmail/textutils'
474
+
475
+
476
+ module TMail
477
+
478
+ class Parser < Racc::Parser
479
+
480
+ module_eval <<'..end parser.y modeval..id0b372b56e6', 'parser.y', 331
481
+
482
+ include TextUtils
483
+
484
+ def self.parse( ident, str, cmt = nil )
485
+ new.parse(ident, str, cmt)
486
+ end
487
+
488
+ MAILP_DEBUG = false
489
+
490
+ def initialize
491
+ self.debug = MAILP_DEBUG
492
+ end
493
+
494
+ def debug=( flag )
495
+ @yydebug = flag && Racc_debug_parser
496
+ @scanner_debug = flag
497
+ end
498
+
499
+ def debug
500
+ @yydebug
501
+ end
502
+
503
+ def parse( ident, str, comments = nil )
504
+ @scanner = Scanner.new(str, ident, comments)
505
+ @scanner.debug = @scanner_debug
506
+ @first = [ident, ident]
507
+ result = yyparse(self, :parse_in)
508
+ comments.map! {|c| to_kcode(c) } if comments
509
+ result
510
+ end
511
+
512
+ private
513
+
514
+ def parse_in( &block )
515
+ yield @first
516
+ @scanner.scan(&block)
517
+ end
518
+
519
+ def on_error( t, val, vstack )
520
+ raise SyntaxError, "parse error on token #{racc_token2str t}"
521
+ end
522
+
523
+ ..end parser.y modeval..id0b372b56e6
524
+
525
+ ##### racc 1.4.4 generates ###
526
+
527
+ racc_reduce_table = [
528
+ 0, 0, :racc_error,
529
+ 2, 35, :_reduce_1,
530
+ 2, 35, :_reduce_2,
531
+ 2, 35, :_reduce_3,
532
+ 2, 35, :_reduce_4,
533
+ 2, 35, :_reduce_5,
534
+ 2, 35, :_reduce_6,
535
+ 2, 35, :_reduce_7,
536
+ 2, 35, :_reduce_8,
537
+ 2, 35, :_reduce_9,
538
+ 2, 35, :_reduce_10,
539
+ 2, 35, :_reduce_11,
540
+ 2, 35, :_reduce_12,
541
+ 6, 36, :_reduce_13,
542
+ 0, 48, :_reduce_none,
543
+ 2, 48, :_reduce_none,
544
+ 3, 49, :_reduce_16,
545
+ 5, 49, :_reduce_17,
546
+ 1, 50, :_reduce_18,
547
+ 7, 37, :_reduce_19,
548
+ 0, 51, :_reduce_none,
549
+ 2, 51, :_reduce_21,
550
+ 0, 52, :_reduce_none,
551
+ 2, 52, :_reduce_23,
552
+ 1, 58, :_reduce_24,
553
+ 3, 58, :_reduce_25,
554
+ 2, 58, :_reduce_26,
555
+ 0, 53, :_reduce_none,
556
+ 2, 53, :_reduce_28,
557
+ 0, 54, :_reduce_29,
558
+ 3, 54, :_reduce_30,
559
+ 0, 55, :_reduce_none,
560
+ 2, 55, :_reduce_32,
561
+ 2, 55, :_reduce_33,
562
+ 0, 56, :_reduce_none,
563
+ 2, 56, :_reduce_35,
564
+ 1, 61, :_reduce_36,
565
+ 1, 61, :_reduce_37,
566
+ 0, 57, :_reduce_none,
567
+ 2, 57, :_reduce_39,
568
+ 1, 38, :_reduce_none,
569
+ 1, 38, :_reduce_none,
570
+ 3, 38, :_reduce_none,
571
+ 1, 46, :_reduce_none,
572
+ 1, 46, :_reduce_none,
573
+ 1, 46, :_reduce_none,
574
+ 1, 39, :_reduce_none,
575
+ 2, 39, :_reduce_47,
576
+ 1, 64, :_reduce_48,
577
+ 3, 64, :_reduce_49,
578
+ 1, 68, :_reduce_none,
579
+ 1, 68, :_reduce_none,
580
+ 1, 69, :_reduce_52,
581
+ 3, 69, :_reduce_53,
582
+ 1, 47, :_reduce_none,
583
+ 1, 47, :_reduce_none,
584
+ 2, 47, :_reduce_56,
585
+ 2, 67, :_reduce_none,
586
+ 3, 65, :_reduce_58,
587
+ 2, 65, :_reduce_59,
588
+ 1, 70, :_reduce_60,
589
+ 2, 70, :_reduce_61,
590
+ 4, 62, :_reduce_62,
591
+ 3, 62, :_reduce_63,
592
+ 2, 72, :_reduce_none,
593
+ 2, 73, :_reduce_65,
594
+ 4, 73, :_reduce_66,
595
+ 3, 63, :_reduce_67,
596
+ 1, 63, :_reduce_68,
597
+ 1, 74, :_reduce_none,
598
+ 2, 74, :_reduce_70,
599
+ 1, 71, :_reduce_71,
600
+ 3, 71, :_reduce_72,
601
+ 1, 59, :_reduce_73,
602
+ 3, 59, :_reduce_74,
603
+ 1, 76, :_reduce_75,
604
+ 2, 76, :_reduce_76,
605
+ 1, 75, :_reduce_none,
606
+ 1, 75, :_reduce_none,
607
+ 1, 75, :_reduce_none,
608
+ 1, 77, :_reduce_none,
609
+ 1, 77, :_reduce_none,
610
+ 1, 77, :_reduce_none,
611
+ 1, 66, :_reduce_none,
612
+ 2, 66, :_reduce_none,
613
+ 3, 60, :_reduce_85,
614
+ 1, 40, :_reduce_86,
615
+ 3, 40, :_reduce_87,
616
+ 1, 79, :_reduce_none,
617
+ 2, 79, :_reduce_89,
618
+ 1, 41, :_reduce_90,
619
+ 2, 41, :_reduce_91,
620
+ 3, 42, :_reduce_92,
621
+ 5, 43, :_reduce_93,
622
+ 3, 43, :_reduce_94,
623
+ 0, 80, :_reduce_95,
624
+ 5, 80, :_reduce_96,
625
+ 1, 82, :_reduce_none,
626
+ 1, 82, :_reduce_none,
627
+ 1, 44, :_reduce_99,
628
+ 3, 45, :_reduce_100,
629
+ 0, 81, :_reduce_none,
630
+ 1, 81, :_reduce_none,
631
+ 1, 78, :_reduce_none,
632
+ 1, 78, :_reduce_none,
633
+ 1, 78, :_reduce_none,
634
+ 1, 78, :_reduce_none,
635
+ 1, 78, :_reduce_none,
636
+ 1, 78, :_reduce_none,
637
+ 1, 78, :_reduce_none ]
638
+
639
+ racc_reduce_n = 110
640
+
641
+ racc_shift_n = 168
642
+
643
+ racc_action_table = [
644
+ -70, -69, 23, 25, 146, 147, 29, 31, 105, 106,
645
+ 16, 17, 20, 22, 136, 27, -70, -69, 32, 101,
646
+ -70, -69, 154, 100, 113, 115, -70, -69, -70, 109,
647
+ 75, 23, 25, 101, 155, 29, 31, 142, 143, 16,
648
+ 17, 20, 22, 107, 27, 23, 25, 32, 98, 29,
649
+ 31, 96, 94, 16, 17, 20, 22, 78, 27, 23,
650
+ 25, 32, 112, 29, 31, 74, 91, 16, 17, 20,
651
+ 22, 88, 117, 92, 81, 32, 23, 25, 80, 123,
652
+ 29, 31, 100, 125, 16, 17, 20, 22, 126, 23,
653
+ 25, 109, 32, 29, 31, 91, 128, 16, 17, 20,
654
+ 22, 129, 27, 23, 25, 32, 101, 29, 31, 101,
655
+ 130, 16, 17, 20, 22, 79, 52, 23, 25, 32,
656
+ 78, 29, 31, 133, 78, 16, 17, 20, 22, 77,
657
+ 23, 25, 75, 32, 29, 31, 65, 62, 16, 17,
658
+ 20, 22, 139, 23, 25, 101, 32, 29, 31, 60,
659
+ 100, 16, 17, 20, 22, 44, 27, 101, 148, 32,
660
+ 23, 25, 120, 149, 29, 31, 152, 153, 16, 17,
661
+ 20, 22, 42, 27, 157, 159, 32, 23, 25, 120,
662
+ 40, 29, 31, 15, 164, 16, 17, 20, 22, 40,
663
+ 27, 23, 25, 32, 68, 29, 31, 166, 167, 16,
664
+ 17, 20, 22, nil, 27, 23, 25, 32, nil, 29,
665
+ 31, 74, nil, 16, 17, 20, 22, nil, 23, 25,
666
+ nil, 32, 29, 31, nil, nil, 16, 17, 20, 22,
667
+ nil, 23, 25, nil, 32, 29, 31, nil, nil, 16,
668
+ 17, 20, 22, nil, 23, 25, nil, 32, 29, 31,
669
+ nil, nil, 16, 17, 20, 22, nil, 23, 25, nil,
670
+ 32, 29, 31, nil, nil, 16, 17, 20, 22, nil,
671
+ 27, 23, 25, 32, nil, 29, 31, nil, nil, 16,
672
+ 17, 20, 22, nil, 23, 25, nil, 32, 29, 31,
673
+ nil, nil, 16, 17, 20, 22, nil, 23, 25, nil,
674
+ 32, 29, 31, nil, nil, 16, 17, 20, 22, nil,
675
+ 84, 25, nil, 32, 29, 31, nil, 87, 16, 17,
676
+ 20, 22, 4, 6, 7, 8, 9, 10, 11, 12,
677
+ 13, 1, 2, 3, 84, 25, nil, nil, 29, 31,
678
+ nil, 87, 16, 17, 20, 22, 84, 25, nil, nil,
679
+ 29, 31, nil, 87, 16, 17, 20, 22, 84, 25,
680
+ nil, nil, 29, 31, nil, 87, 16, 17, 20, 22,
681
+ 84, 25, nil, nil, 29, 31, nil, 87, 16, 17,
682
+ 20, 22, 84, 25, nil, nil, 29, 31, nil, 87,
683
+ 16, 17, 20, 22, 84, 25, nil, nil, 29, 31,
684
+ nil, 87, 16, 17, 20, 22 ]
685
+
686
+ racc_action_check = [
687
+ 75, 28, 68, 68, 136, 136, 68, 68, 72, 72,
688
+ 68, 68, 68, 68, 126, 68, 75, 28, 68, 67,
689
+ 75, 28, 143, 66, 86, 86, 75, 28, 75, 75,
690
+ 28, 3, 3, 86, 143, 3, 3, 134, 134, 3,
691
+ 3, 3, 3, 73, 3, 152, 152, 3, 62, 152,
692
+ 152, 60, 56, 152, 152, 152, 152, 51, 152, 52,
693
+ 52, 152, 80, 52, 52, 52, 50, 52, 52, 52,
694
+ 52, 45, 89, 52, 42, 52, 71, 71, 41, 96,
695
+ 71, 71, 97, 98, 71, 71, 71, 71, 100, 7,
696
+ 7, 101, 71, 7, 7, 102, 104, 7, 7, 7,
697
+ 7, 105, 7, 8, 8, 7, 108, 8, 8, 111,
698
+ 112, 8, 8, 8, 8, 40, 8, 9, 9, 8,
699
+ 36, 9, 9, 117, 121, 9, 9, 9, 9, 33,
700
+ 10, 10, 70, 9, 10, 10, 13, 12, 10, 10,
701
+ 10, 10, 130, 2, 2, 131, 10, 2, 2, 11,
702
+ 135, 2, 2, 2, 2, 6, 2, 138, 139, 2,
703
+ 90, 90, 90, 140, 90, 90, 141, 142, 90, 90,
704
+ 90, 90, 5, 90, 148, 151, 90, 127, 127, 127,
705
+ 4, 127, 127, 1, 157, 127, 127, 127, 127, 159,
706
+ 127, 26, 26, 127, 26, 26, 26, 163, 164, 26,
707
+ 26, 26, 26, nil, 26, 27, 27, 26, nil, 27,
708
+ 27, 27, nil, 27, 27, 27, 27, nil, 155, 155,
709
+ nil, 27, 155, 155, nil, nil, 155, 155, 155, 155,
710
+ nil, 122, 122, nil, 155, 122, 122, nil, nil, 122,
711
+ 122, 122, 122, nil, 76, 76, nil, 122, 76, 76,
712
+ nil, nil, 76, 76, 76, 76, nil, 38, 38, nil,
713
+ 76, 38, 38, nil, nil, 38, 38, 38, 38, nil,
714
+ 38, 55, 55, 38, nil, 55, 55, nil, nil, 55,
715
+ 55, 55, 55, nil, 94, 94, nil, 55, 94, 94,
716
+ nil, nil, 94, 94, 94, 94, nil, 59, 59, nil,
717
+ 94, 59, 59, nil, nil, 59, 59, 59, 59, nil,
718
+ 114, 114, nil, 59, 114, 114, nil, 114, 114, 114,
719
+ 114, 114, 0, 0, 0, 0, 0, 0, 0, 0,
720
+ 0, 0, 0, 0, 77, 77, nil, nil, 77, 77,
721
+ nil, 77, 77, 77, 77, 77, 44, 44, nil, nil,
722
+ 44, 44, nil, 44, 44, 44, 44, 44, 113, 113,
723
+ nil, nil, 113, 113, nil, 113, 113, 113, 113, 113,
724
+ 88, 88, nil, nil, 88, 88, nil, 88, 88, 88,
725
+ 88, 88, 74, 74, nil, nil, 74, 74, nil, 74,
726
+ 74, 74, 74, 74, 129, 129, nil, nil, 129, 129,
727
+ nil, 129, 129, 129, 129, 129 ]
728
+
729
+ racc_action_pointer = [
730
+ 320, 152, 129, 17, 165, 172, 137, 75, 89, 103,
731
+ 116, 135, 106, 105, nil, nil, nil, nil, nil, nil,
732
+ nil, nil, nil, nil, nil, nil, 177, 191, 1, nil,
733
+ nil, nil, nil, 109, nil, nil, 94, nil, 243, nil,
734
+ 99, 64, 74, nil, 332, 52, nil, nil, nil, nil,
735
+ 50, 31, 45, nil, nil, 257, 36, nil, nil, 283,
736
+ 22, nil, 16, nil, nil, nil, -3, -10, -12, nil,
737
+ 103, 62, -8, 15, 368, 0, 230, 320, nil, nil,
738
+ 47, nil, nil, nil, nil, nil, 4, nil, 356, 50,
739
+ 146, nil, nil, nil, 270, nil, 65, 56, 52, nil,
740
+ 57, 62, 79, nil, 68, 81, nil, nil, 77, nil,
741
+ nil, 80, 96, 344, 296, nil, nil, 108, nil, nil,
742
+ nil, 98, 217, nil, nil, nil, -19, 163, nil, 380,
743
+ 128, 116, nil, nil, 14, 124, -26, nil, 128, 141,
744
+ 148, 141, 152, 7, nil, nil, nil, nil, 160, nil,
745
+ nil, 149, 31, nil, nil, 204, nil, 167, nil, 174,
746
+ nil, nil, nil, 169, 184, nil, nil, nil ]
747
+
748
+ racc_action_default = [
749
+ -110, -110, -110, -110, -14, -110, -20, -110, -110, -110,
750
+ -110, -110, -110, -110, -10, -95, -106, -107, -77, -44,
751
+ -108, -11, -109, -79, -43, -103, -110, -110, -60, -104,
752
+ -55, -105, -78, -68, -54, -71, -45, -12, -110, -1,
753
+ -110, -110, -110, -2, -110, -22, -51, -48, -50, -3,
754
+ -40, -41, -110, -46, -4, -86, -5, -88, -6, -90,
755
+ -110, -7, -95, -8, -9, -99, -101, -61, -59, -56,
756
+ -69, -110, -110, -110, -110, -75, -110, -110, -57, -15,
757
+ -110, 168, -73, -80, -82, -21, -24, -81, -110, -27,
758
+ -110, -83, -47, -89, -110, -91, -110, -101, -110, -100,
759
+ -102, -75, -58, -52, -110, -110, -64, -63, -65, -76,
760
+ -72, -67, -110, -110, -110, -26, -23, -110, -29, -49,
761
+ -84, -42, -87, -92, -94, -95, -110, -110, -62, -110,
762
+ -110, -25, -74, -28, -31, -101, -110, -53, -66, -110,
763
+ -110, -34, -110, -110, -93, -96, -98, -97, -110, -18,
764
+ -13, -38, -110, -30, -33, -110, -32, -16, -19, -14,
765
+ -35, -36, -37, -110, -110, -39, -85, -17 ]
766
+
767
+ racc_goto_table = [
768
+ 39, 67, 70, 73, 24, 37, 69, 66, 36, 38,
769
+ 57, 59, 55, 67, 108, 83, 90, 111, 69, 99,
770
+ 85, 49, 53, 76, 158, 134, 141, 70, 73, 151,
771
+ 118, 89, 45, 156, 160, 150, 140, 21, 14, 19,
772
+ 119, 102, 64, 63, 61, 83, 70, 104, 83, 58,
773
+ 124, 132, 56, 131, 97, 54, 93, 43, 5, 83,
774
+ 95, 145, 76, nil, 116, 76, nil, nil, 127, 138,
775
+ 103, nil, nil, nil, 38, nil, nil, 110, nil, nil,
776
+ nil, nil, nil, nil, 83, 83, nil, nil, 144, nil,
777
+ nil, nil, nil, nil, nil, 57, 121, 122, nil, nil,
778
+ 83, nil, nil, nil, nil, nil, nil, nil, nil, nil,
779
+ nil, nil, nil, nil, nil, nil, nil, 135, nil, nil,
780
+ nil, nil, nil, 93, nil, nil, nil, 70, 162, 137,
781
+ 70, 163, 161, 38, nil, nil, nil, nil, nil, nil,
782
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
783
+ nil, nil, nil, nil, nil, 165 ]
784
+
785
+ racc_goto_check = [
786
+ 2, 37, 37, 29, 13, 13, 28, 46, 31, 36,
787
+ 41, 41, 45, 37, 25, 44, 32, 25, 28, 47,
788
+ 24, 4, 4, 42, 23, 20, 21, 37, 29, 22,
789
+ 19, 18, 17, 26, 27, 16, 15, 12, 11, 33,
790
+ 34, 35, 10, 9, 8, 44, 37, 29, 44, 7,
791
+ 47, 43, 6, 25, 46, 5, 41, 3, 1, 44,
792
+ 41, 48, 42, nil, 24, 42, nil, nil, 32, 25,
793
+ 13, nil, nil, nil, 36, nil, nil, 41, nil, nil,
794
+ nil, nil, nil, nil, 44, 44, nil, nil, 47, nil,
795
+ nil, nil, nil, nil, nil, 41, 31, 45, nil, nil,
796
+ 44, nil, nil, nil, nil, nil, nil, nil, nil, nil,
797
+ nil, nil, nil, nil, nil, nil, nil, 46, nil, nil,
798
+ nil, nil, nil, 41, nil, nil, nil, 37, 29, 13,
799
+ 37, 29, 28, 36, nil, nil, nil, nil, nil, nil,
800
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
801
+ nil, nil, nil, nil, nil, 2 ]
802
+
803
+ racc_goto_pointer = [
804
+ nil, 58, -4, 51, 14, 47, 43, 39, 33, 31,
805
+ 29, 37, 35, 2, nil, -94, -105, 26, -14, -59,
806
+ -93, -108, -112, -127, -24, -60, -110, -118, -20, -24,
807
+ nil, 6, -34, 37, -50, -27, 6, -25, nil, nil,
808
+ nil, 1, -5, -63, -29, 3, -8, -47, -75 ]
809
+
810
+ racc_goto_default = [
811
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
812
+ nil, nil, nil, 48, 41, nil, nil, nil, nil, nil,
813
+ nil, nil, nil, nil, nil, 86, nil, nil, 30, 34,
814
+ 50, 51, nil, 46, 47, nil, 26, 28, 71, 72,
815
+ 33, 35, 114, 82, 18, nil, nil, nil, nil ]
816
+
817
+ racc_token_table = {
818
+ false => 0,
819
+ Object.new => 1,
820
+ :DATETIME => 2,
821
+ :RECEIVED => 3,
822
+ :MADDRESS => 4,
823
+ :RETPATH => 5,
824
+ :KEYWORDS => 6,
825
+ :ENCRYPTED => 7,
826
+ :MIMEVERSION => 8,
827
+ :CTYPE => 9,
828
+ :CENCODING => 10,
829
+ :CDISPOSITION => 11,
830
+ :ADDRESS => 12,
831
+ :MAILBOX => 13,
832
+ :DIGIT => 14,
833
+ :ATOM => 15,
834
+ "," => 16,
835
+ ":" => 17,
836
+ :FROM => 18,
837
+ :BY => 19,
838
+ "@" => 20,
839
+ :DOMLIT => 21,
840
+ :VIA => 22,
841
+ :WITH => 23,
842
+ :ID => 24,
843
+ :FOR => 25,
844
+ ";" => 26,
845
+ "<" => 27,
846
+ ">" => 28,
847
+ "." => 29,
848
+ :QUOTED => 30,
849
+ :TOKEN => 31,
850
+ "/" => 32,
851
+ "=" => 33 }
852
+
853
+ racc_use_result_var = false
854
+
855
+ racc_nt_base = 34
856
+
857
+ Racc_arg = [
858
+ racc_action_table,
859
+ racc_action_check,
860
+ racc_action_default,
861
+ racc_action_pointer,
862
+ racc_goto_table,
863
+ racc_goto_check,
864
+ racc_goto_default,
865
+ racc_goto_pointer,
866
+ racc_nt_base,
867
+ racc_reduce_table,
868
+ racc_token_table,
869
+ racc_shift_n,
870
+ racc_reduce_n,
871
+ racc_use_result_var ]
872
+
873
+ Racc_token_to_s_table = [
874
+ '$end',
875
+ 'error',
876
+ 'DATETIME',
877
+ 'RECEIVED',
878
+ 'MADDRESS',
879
+ 'RETPATH',
880
+ 'KEYWORDS',
881
+ 'ENCRYPTED',
882
+ 'MIMEVERSION',
883
+ 'CTYPE',
884
+ 'CENCODING',
885
+ 'CDISPOSITION',
886
+ 'ADDRESS',
887
+ 'MAILBOX',
888
+ 'DIGIT',
889
+ 'ATOM',
890
+ '","',
891
+ '":"',
892
+ 'FROM',
893
+ 'BY',
894
+ '"@"',
895
+ 'DOMLIT',
896
+ 'VIA',
897
+ 'WITH',
898
+ 'ID',
899
+ 'FOR',
900
+ '";"',
901
+ '"<"',
902
+ '">"',
903
+ '"."',
904
+ 'QUOTED',
905
+ 'TOKEN',
906
+ '"/"',
907
+ '"="',
908
+ '$start',
909
+ 'content',
910
+ 'datetime',
911
+ 'received',
912
+ 'addrs_TOP',
913
+ 'retpath',
914
+ 'keys',
915
+ 'enc',
916
+ 'version',
917
+ 'ctype',
918
+ 'cencode',
919
+ 'cdisp',
920
+ 'addr_TOP',
921
+ 'mbox',
922
+ 'day',
923
+ 'hour',
924
+ 'zone',
925
+ 'from',
926
+ 'by',
927
+ 'via',
928
+ 'with',
929
+ 'id',
930
+ 'for',
931
+ 'received_datetime',
932
+ 'received_domain',
933
+ 'domain',
934
+ 'msgid',
935
+ 'received_addrspec',
936
+ 'routeaddr',
937
+ 'spec',
938
+ 'addrs',
939
+ 'group_bare',
940
+ 'commas',
941
+ 'group',
942
+ 'addr',
943
+ 'mboxes',
944
+ 'addr_phrase',
945
+ 'local_head',
946
+ 'routes',
947
+ 'at_domains',
948
+ 'local',
949
+ 'word',
950
+ 'dots',
951
+ 'domword',
952
+ 'atom',
953
+ 'phrase',
954
+ 'params',
955
+ 'opt_semicolon',
956
+ 'value']
957
+
958
+ Racc_debug_parser = false
959
+
960
+ ##### racc system variables end #####
961
+
962
+ # reduce 0 omitted
963
+
964
+ module_eval <<'.,.,', 'parser.y', 16
965
+ def _reduce_1( val, _values)
966
+ val[1]
967
+ end
968
+ .,.,
969
+
970
+ module_eval <<'.,.,', 'parser.y', 17
971
+ def _reduce_2( val, _values)
972
+ val[1]
973
+ end
974
+ .,.,
975
+
976
+ module_eval <<'.,.,', 'parser.y', 18
977
+ def _reduce_3( val, _values)
978
+ val[1]
979
+ end
980
+ .,.,
981
+
982
+ module_eval <<'.,.,', 'parser.y', 19
983
+ def _reduce_4( val, _values)
984
+ val[1]
985
+ end
986
+ .,.,
987
+
988
+ module_eval <<'.,.,', 'parser.y', 20
989
+ def _reduce_5( val, _values)
990
+ val[1]
991
+ end
992
+ .,.,
993
+
994
+ module_eval <<'.,.,', 'parser.y', 21
995
+ def _reduce_6( val, _values)
996
+ val[1]
997
+ end
998
+ .,.,
999
+
1000
+ module_eval <<'.,.,', 'parser.y', 22
1001
+ def _reduce_7( val, _values)
1002
+ val[1]
1003
+ end
1004
+ .,.,
1005
+
1006
+ module_eval <<'.,.,', 'parser.y', 23
1007
+ def _reduce_8( val, _values)
1008
+ val[1]
1009
+ end
1010
+ .,.,
1011
+
1012
+ module_eval <<'.,.,', 'parser.y', 24
1013
+ def _reduce_9( val, _values)
1014
+ val[1]
1015
+ end
1016
+ .,.,
1017
+
1018
+ module_eval <<'.,.,', 'parser.y', 25
1019
+ def _reduce_10( val, _values)
1020
+ val[1]
1021
+ end
1022
+ .,.,
1023
+
1024
+ module_eval <<'.,.,', 'parser.y', 26
1025
+ def _reduce_11( val, _values)
1026
+ val[1]
1027
+ end
1028
+ .,.,
1029
+
1030
+ module_eval <<'.,.,', 'parser.y', 27
1031
+ def _reduce_12( val, _values)
1032
+ val[1]
1033
+ end
1034
+ .,.,
1035
+
1036
+ module_eval <<'.,.,', 'parser.y', 36
1037
+ def _reduce_13( val, _values)
1038
+ t = Time.gm(val[3].to_i, val[2], val[1].to_i, 0, 0, 0)
1039
+ (t + val[4] - val[5]).localtime
1040
+ end
1041
+ .,.,
1042
+
1043
+ # reduce 14 omitted
1044
+
1045
+ # reduce 15 omitted
1046
+
1047
+ module_eval <<'.,.,', 'parser.y', 45
1048
+ def _reduce_16( val, _values)
1049
+ (val[0].to_i * 60 * 60) +
1050
+ (val[2].to_i * 60)
1051
+ end
1052
+ .,.,
1053
+
1054
+ module_eval <<'.,.,', 'parser.y', 51
1055
+ def _reduce_17( val, _values)
1056
+ (val[0].to_i * 60 * 60) +
1057
+ (val[2].to_i * 60) +
1058
+ (val[4].to_i)
1059
+ end
1060
+ .,.,
1061
+
1062
+ module_eval <<'.,.,', 'parser.y', 56
1063
+ def _reduce_18( val, _values)
1064
+ timezone_string_to_unixtime(val[0])
1065
+ end
1066
+ .,.,
1067
+
1068
+ module_eval <<'.,.,', 'parser.y', 61
1069
+ def _reduce_19( val, _values)
1070
+ val
1071
+ end
1072
+ .,.,
1073
+
1074
+ # reduce 20 omitted
1075
+
1076
+ module_eval <<'.,.,', 'parser.y', 67
1077
+ def _reduce_21( val, _values)
1078
+ val[1]
1079
+ end
1080
+ .,.,
1081
+
1082
+ # reduce 22 omitted
1083
+
1084
+ module_eval <<'.,.,', 'parser.y', 73
1085
+ def _reduce_23( val, _values)
1086
+ val[1]
1087
+ end
1088
+ .,.,
1089
+
1090
+ module_eval <<'.,.,', 'parser.y', 79
1091
+ def _reduce_24( val, _values)
1092
+ join_domain(val[0])
1093
+ end
1094
+ .,.,
1095
+
1096
+ module_eval <<'.,.,', 'parser.y', 83
1097
+ def _reduce_25( val, _values)
1098
+ join_domain(val[2])
1099
+ end
1100
+ .,.,
1101
+
1102
+ module_eval <<'.,.,', 'parser.y', 87
1103
+ def _reduce_26( val, _values)
1104
+ join_domain(val[0])
1105
+ end
1106
+ .,.,
1107
+
1108
+ # reduce 27 omitted
1109
+
1110
+ module_eval <<'.,.,', 'parser.y', 93
1111
+ def _reduce_28( val, _values)
1112
+ val[1]
1113
+ end
1114
+ .,.,
1115
+
1116
+ module_eval <<'.,.,', 'parser.y', 98
1117
+ def _reduce_29( val, _values)
1118
+ []
1119
+ end
1120
+ .,.,
1121
+
1122
+ module_eval <<'.,.,', 'parser.y', 103
1123
+ def _reduce_30( val, _values)
1124
+ val[0].push val[2]
1125
+ val[0]
1126
+ end
1127
+ .,.,
1128
+
1129
+ # reduce 31 omitted
1130
+
1131
+ module_eval <<'.,.,', 'parser.y', 109
1132
+ def _reduce_32( val, _values)
1133
+ val[1]
1134
+ end
1135
+ .,.,
1136
+
1137
+ module_eval <<'.,.,', 'parser.y', 113
1138
+ def _reduce_33( val, _values)
1139
+ val[1]
1140
+ end
1141
+ .,.,
1142
+
1143
+ # reduce 34 omitted
1144
+
1145
+ module_eval <<'.,.,', 'parser.y', 119
1146
+ def _reduce_35( val, _values)
1147
+ val[1]
1148
+ end
1149
+ .,.,
1150
+
1151
+ module_eval <<'.,.,', 'parser.y', 125
1152
+ def _reduce_36( val, _values)
1153
+ val[0].spec
1154
+ end
1155
+ .,.,
1156
+
1157
+ module_eval <<'.,.,', 'parser.y', 129
1158
+ def _reduce_37( val, _values)
1159
+ val[0].spec
1160
+ end
1161
+ .,.,
1162
+
1163
+ # reduce 38 omitted
1164
+
1165
+ module_eval <<'.,.,', 'parser.y', 136
1166
+ def _reduce_39( val, _values)
1167
+ val[1]
1168
+ end
1169
+ .,.,
1170
+
1171
+ # reduce 40 omitted
1172
+
1173
+ # reduce 41 omitted
1174
+
1175
+ # reduce 42 omitted
1176
+
1177
+ # reduce 43 omitted
1178
+
1179
+ # reduce 44 omitted
1180
+
1181
+ # reduce 45 omitted
1182
+
1183
+ # reduce 46 omitted
1184
+
1185
+ module_eval <<'.,.,', 'parser.y', 146
1186
+ def _reduce_47( val, _values)
1187
+ [ Address.new(nil, nil) ]
1188
+ end
1189
+ .,.,
1190
+
1191
+ module_eval <<'.,.,', 'parser.y', 148
1192
+ def _reduce_48( val, _values)
1193
+ val
1194
+ end
1195
+ .,.,
1196
+
1197
+ module_eval <<'.,.,', 'parser.y', 149
1198
+ def _reduce_49( val, _values)
1199
+ val[0].push val[2]; val[0]
1200
+ end
1201
+ .,.,
1202
+
1203
+ # reduce 50 omitted
1204
+
1205
+ # reduce 51 omitted
1206
+
1207
+ module_eval <<'.,.,', 'parser.y', 158
1208
+ def _reduce_52( val, _values)
1209
+ val
1210
+ end
1211
+ .,.,
1212
+
1213
+ module_eval <<'.,.,', 'parser.y', 163
1214
+ def _reduce_53( val, _values)
1215
+ val[0].push val[2]
1216
+ val[0]
1217
+ end
1218
+ .,.,
1219
+
1220
+ # reduce 54 omitted
1221
+
1222
+ # reduce 55 omitted
1223
+
1224
+ module_eval <<'.,.,', 'parser.y', 171
1225
+ def _reduce_56( val, _values)
1226
+ val[1].phrase = Decoder.decode(val[0])
1227
+ val[1]
1228
+ end
1229
+ .,.,
1230
+
1231
+ # reduce 57 omitted
1232
+
1233
+ module_eval <<'.,.,', 'parser.y', 178
1234
+ def _reduce_58( val, _values)
1235
+ AddressGroup.new(val[0], val[2])
1236
+ end
1237
+ .,.,
1238
+
1239
+ module_eval <<'.,.,', 'parser.y', 178
1240
+ def _reduce_59( val, _values)
1241
+ AddressGroup.new(val[0], [])
1242
+ end
1243
+ .,.,
1244
+
1245
+ module_eval <<'.,.,', 'parser.y', 181
1246
+ def _reduce_60( val, _values)
1247
+ val[0].join('.')
1248
+ end
1249
+ .,.,
1250
+
1251
+ module_eval <<'.,.,', 'parser.y', 182
1252
+ def _reduce_61( val, _values)
1253
+ val[0] << ' ' << val[1].join('.')
1254
+ end
1255
+ .,.,
1256
+
1257
+ module_eval <<'.,.,', 'parser.y', 189
1258
+ def _reduce_62( val, _values)
1259
+ val[2].routes.replace val[1]
1260
+ val[2]
1261
+ end
1262
+ .,.,
1263
+
1264
+ module_eval <<'.,.,', 'parser.y', 193
1265
+ def _reduce_63( val, _values)
1266
+ val[1]
1267
+ end
1268
+ .,.,
1269
+
1270
+ # reduce 64 omitted
1271
+
1272
+ module_eval <<'.,.,', 'parser.y', 196
1273
+ def _reduce_65( val, _values)
1274
+ [ val[1].join('.') ]
1275
+ end
1276
+ .,.,
1277
+
1278
+ module_eval <<'.,.,', 'parser.y', 197
1279
+ def _reduce_66( val, _values)
1280
+ val[0].push val[3].join('.'); val[0]
1281
+ end
1282
+ .,.,
1283
+
1284
+ module_eval <<'.,.,', 'parser.y', 199
1285
+ def _reduce_67( val, _values)
1286
+ Address.new( val[0], val[2] )
1287
+ end
1288
+ .,.,
1289
+
1290
+ module_eval <<'.,.,', 'parser.y', 200
1291
+ def _reduce_68( val, _values)
1292
+ Address.new( val[0], nil )
1293
+ end
1294
+ .,.,
1295
+
1296
+ # reduce 69 omitted
1297
+
1298
+ module_eval <<'.,.,', 'parser.y', 203
1299
+ def _reduce_70( val, _values)
1300
+ val[0].push ''; val[0]
1301
+ end
1302
+ .,.,
1303
+
1304
+ module_eval <<'.,.,', 'parser.y', 206
1305
+ def _reduce_71( val, _values)
1306
+ val
1307
+ end
1308
+ .,.,
1309
+
1310
+ module_eval <<'.,.,', 'parser.y', 215
1311
+ def _reduce_72( val, _values)
1312
+ val[1].times do
1313
+ val[0].push ''
1314
+ end
1315
+ val[0].push val[2]
1316
+ val[0]
1317
+ end
1318
+ .,.,
1319
+
1320
+ module_eval <<'.,.,', 'parser.y', 217
1321
+ def _reduce_73( val, _values)
1322
+ val
1323
+ end
1324
+ .,.,
1325
+
1326
+ module_eval <<'.,.,', 'parser.y', 226
1327
+ def _reduce_74( val, _values)
1328
+ val[1].times do
1329
+ val[0].push ''
1330
+ end
1331
+ val[0].push val[2]
1332
+ val[0]
1333
+ end
1334
+ .,.,
1335
+
1336
+ module_eval <<'.,.,', 'parser.y', 227
1337
+ def _reduce_75( val, _values)
1338
+ 0
1339
+ end
1340
+ .,.,
1341
+
1342
+ module_eval <<'.,.,', 'parser.y', 228
1343
+ def _reduce_76( val, _values)
1344
+ 1
1345
+ end
1346
+ .,.,
1347
+
1348
+ # reduce 77 omitted
1349
+
1350
+ # reduce 78 omitted
1351
+
1352
+ # reduce 79 omitted
1353
+
1354
+ # reduce 80 omitted
1355
+
1356
+ # reduce 81 omitted
1357
+
1358
+ # reduce 82 omitted
1359
+
1360
+ # reduce 83 omitted
1361
+
1362
+ # reduce 84 omitted
1363
+
1364
+ module_eval <<'.,.,', 'parser.y', 246
1365
+ def _reduce_85( val, _values)
1366
+ val[1] = val[1].spec
1367
+ val.join('')
1368
+ end
1369
+ .,.,
1370
+
1371
+ module_eval <<'.,.,', 'parser.y', 247
1372
+ def _reduce_86( val, _values)
1373
+ val
1374
+ end
1375
+ .,.,
1376
+
1377
+ module_eval <<'.,.,', 'parser.y', 248
1378
+ def _reduce_87( val, _values)
1379
+ val[0].push val[2]; val[0]
1380
+ end
1381
+ .,.,
1382
+
1383
+ # reduce 88 omitted
1384
+
1385
+ module_eval <<'.,.,', 'parser.y', 251
1386
+ def _reduce_89( val, _values)
1387
+ val[0] << ' ' << val[1]
1388
+ end
1389
+ .,.,
1390
+
1391
+ module_eval <<'.,.,', 'parser.y', 258
1392
+ def _reduce_90( val, _values)
1393
+ val.push nil
1394
+ val
1395
+ end
1396
+ .,.,
1397
+
1398
+ module_eval <<'.,.,', 'parser.y', 262
1399
+ def _reduce_91( val, _values)
1400
+ val
1401
+ end
1402
+ .,.,
1403
+
1404
+ module_eval <<'.,.,', 'parser.y', 267
1405
+ def _reduce_92( val, _values)
1406
+ [ val[0].to_i, val[2].to_i ]
1407
+ end
1408
+ .,.,
1409
+
1410
+ module_eval <<'.,.,', 'parser.y', 272
1411
+ def _reduce_93( val, _values)
1412
+ [ val[0].downcase, val[2].downcase, decode_params(val[3]) ]
1413
+ end
1414
+ .,.,
1415
+
1416
+ module_eval <<'.,.,', 'parser.y', 276
1417
+ def _reduce_94( val, _values)
1418
+ [ val[0].downcase, nil, decode_params(val[1]) ]
1419
+ end
1420
+ .,.,
1421
+
1422
+ module_eval <<'.,.,', 'parser.y', 281
1423
+ def _reduce_95( val, _values)
1424
+ {}
1425
+ end
1426
+ .,.,
1427
+
1428
+ module_eval <<'.,.,', 'parser.y', 286
1429
+ def _reduce_96( val, _values)
1430
+ val[0][ val[2].downcase ] = val[4]
1431
+ val[0]
1432
+ end
1433
+ .,.,
1434
+
1435
+ # reduce 97 omitted
1436
+
1437
+ # reduce 98 omitted
1438
+
1439
+ module_eval <<'.,.,', 'parser.y', 294
1440
+ def _reduce_99( val, _values)
1441
+ val[0].downcase
1442
+ end
1443
+ .,.,
1444
+
1445
+ module_eval <<'.,.,', 'parser.y', 299
1446
+ def _reduce_100( val, _values)
1447
+ [ val[0].downcase, decode_params(val[1]) ]
1448
+ end
1449
+ .,.,
1450
+
1451
+ # reduce 101 omitted
1452
+
1453
+ # reduce 102 omitted
1454
+
1455
+ # reduce 103 omitted
1456
+
1457
+ # reduce 104 omitted
1458
+
1459
+ # reduce 105 omitted
1460
+
1461
+ # reduce 106 omitted
1462
+
1463
+ # reduce 107 omitted
1464
+
1465
+ # reduce 108 omitted
1466
+
1467
+ # reduce 109 omitted
1468
+
1469
+ def _reduce_none( val, _values)
1470
+ val[0]
1471
+ end
1472
+
1473
+ end # class Parser
1474
+
1475
+ end # module TMail