ruby_protobuf 0.2.0 → 0.3.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.
Files changed (40) hide show
  1. data/History.txt +6 -1
  2. data/Manifest.txt +23 -2
  3. data/bin/rprotoc +5 -5
  4. data/examples/addressbook.proto +24 -0
  5. data/examples/addressbook.rb +30 -0
  6. data/examples/reading_a_message.rb +32 -0
  7. data/examples/writing_a_message.rb +46 -0
  8. data/lib/protobuf/compiler/compiler.rb +38 -74
  9. data/lib/protobuf/compiler/compiler_old.rb +123 -0
  10. data/lib/protobuf/compiler/nodes.rb +208 -0
  11. data/lib/protobuf/compiler/proto.y +198 -0
  12. data/lib/protobuf/compiler/proto2.ebnf +79 -0
  13. data/lib/protobuf/compiler/proto_parser.rb +1259 -0
  14. data/lib/protobuf/compiler/template/rpc_bin.erb +4 -0
  15. data/lib/protobuf/compiler/template/rpc_client.erb +18 -0
  16. data/lib/protobuf/compiler/template/rpc_service.erb +25 -0
  17. data/lib/protobuf/compiler/visitors.rb +132 -0
  18. data/lib/protobuf/message/decoder.rb +8 -3
  19. data/lib/protobuf/message/enum.rb +4 -0
  20. data/lib/protobuf/message/field.rb +31 -5
  21. data/lib/protobuf/message/message.rb +130 -14
  22. data/lib/protobuf/rpc/client.rb +19 -0
  23. data/lib/protobuf/rpc/handler.rb +17 -0
  24. data/lib/protobuf/rpc/server.rb +39 -0
  25. data/lib/ruby_protobuf.rb +1 -20
  26. data/test/addressbook.proto +6 -0
  27. data/test/addressbook.rb +17 -14
  28. data/test/addressbook_base.proto +26 -0
  29. data/test/addressbook_base.rb +62 -0
  30. data/test/addressbook_ext.proto +6 -0
  31. data/test/addressbook_ext.rb +12 -0
  32. data/test/rpc.proto +6 -0
  33. data/test/test_addressbook.rb +3 -2
  34. data/test/test_compiler.rb +98 -3
  35. data/test/test_extension.rb +40 -0
  36. data/test/test_standard_message.rb +83 -0
  37. data/test/test_types.rb +3 -3
  38. metadata +31 -8
  39. data/lib/protobuf/compiler/parser.y +0 -138
  40. data/test/data/data2.bin +0 -3
@@ -0,0 +1,1259 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by racc 1.4.5
4
+ # from racc grammer file "lib/protobuf/compiler/proto.y".
5
+ #
6
+ #
7
+ # lib/protobuf/compiler/proto_parser.rb: generated by racc (runtime embedded)
8
+ #
9
+ ###### racc/parser.rb begin
10
+ unless $".index 'racc/parser.rb'
11
+ $".push 'racc/parser.rb'
12
+
13
+ self.class.module_eval <<'..end racc/parser.rb modeval..id6f3c71ebec', 'racc/parser.rb', 1
14
+ #
15
+ # $Id: parser.rb,v 1.7 2005/11/20 17:31:32 aamine Exp $
16
+ #
17
+ # Copyright (c) 1999-2005 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
+
27
+ unless defined?(NotImplementedError)
28
+ NotImplementedError = NotImplementError
29
+ end
30
+
31
+ module Racc
32
+ class ParseError < StandardError; end
33
+ end
34
+ unless defined?(::ParseError)
35
+ ParseError = Racc::ParseError
36
+ end
37
+
38
+ module Racc
39
+
40
+ unless defined?(Racc_No_Extentions)
41
+ Racc_No_Extentions = false
42
+ end
43
+
44
+ class Parser
45
+
46
+ Racc_Runtime_Version = '1.4.5'
47
+ Racc_Runtime_Revision = '$Revision: 1.7 $'.split[1]
48
+
49
+ Racc_Runtime_Core_Version_R = '1.4.5'
50
+ Racc_Runtime_Core_Revision_R = '$Revision: 1.7 $'.split[1]
51
+ begin
52
+ require 'racc/cparse'
53
+ # Racc_Runtime_Core_Version_C = (defined in extention)
54
+ Racc_Runtime_Core_Revision_C = Racc_Runtime_Core_Id_C.split[2]
55
+ unless new.respond_to?(:_racc_do_parse_c, true)
56
+ raise LoadError, 'old cparse.so'
57
+ end
58
+ if Racc_No_Extentions
59
+ raise LoadError, 'selecting ruby version of racc runtime core'
60
+ end
61
+
62
+ Racc_Main_Parsing_Routine = :_racc_do_parse_c
63
+ Racc_YY_Parse_Method = :_racc_yyparse_c
64
+ Racc_Runtime_Core_Version = Racc_Runtime_Core_Version_C
65
+ Racc_Runtime_Core_Revision = Racc_Runtime_Core_Revision_C
66
+ Racc_Runtime_Type = 'c'
67
+ rescue LoadError
68
+ Racc_Main_Parsing_Routine = :_racc_do_parse_rb
69
+ Racc_YY_Parse_Method = :_racc_yyparse_rb
70
+ Racc_Runtime_Core_Version = Racc_Runtime_Core_Version_R
71
+ Racc_Runtime_Core_Revision = Racc_Runtime_Core_Revision_R
72
+ Racc_Runtime_Type = 'ruby'
73
+ end
74
+
75
+ def Parser.racc_runtime_type
76
+ Racc_Runtime_Type
77
+ end
78
+
79
+ private
80
+
81
+ def _racc_setup
82
+ @yydebug = false unless self.class::Racc_debug_parser
83
+ @yydebug = false unless defined?(@yydebug)
84
+ if @yydebug
85
+ @racc_debug_out = $stderr unless defined?(@racc_debug_out)
86
+ @racc_debug_out ||= $stderr
87
+ end
88
+ arg = self.class::Racc_arg
89
+ arg[13] = true if arg.size < 14
90
+ arg
91
+ end
92
+
93
+ def _racc_init_sysvars
94
+ @racc_state = [0]
95
+ @racc_tstack = []
96
+ @racc_vstack = []
97
+
98
+ @racc_t = nil
99
+ @racc_val = nil
100
+
101
+ @racc_read_next = true
102
+
103
+ @racc_user_yyerror = false
104
+ @racc_error_status = 0
105
+ end
106
+
107
+ ###
108
+ ### do_parse
109
+ ###
110
+
111
+ def do_parse
112
+ __send__(Racc_Main_Parsing_Routine, _racc_setup(), false)
113
+ end
114
+
115
+ def next_token
116
+ raise NotImplementedError, "#{self.class}\#next_token is not defined"
117
+ end
118
+
119
+ def _racc_do_parse_rb(arg, in_debug)
120
+ action_table, action_check, action_default, action_pointer,
121
+ goto_table, goto_check, goto_default, goto_pointer,
122
+ nt_base, reduce_table, token_table, shift_n,
123
+ reduce_n, use_result, * = arg
124
+
125
+ _racc_init_sysvars
126
+ tok = act = i = nil
127
+ nerr = 0
128
+
129
+ catch(:racc_end_parse) {
130
+ while true
131
+ if i = action_pointer[@racc_state[-1]]
132
+ if @racc_read_next
133
+ if @racc_t != 0 # not EOF
134
+ tok, @racc_val = next_token()
135
+ unless tok # EOF
136
+ @racc_t = 0
137
+ else
138
+ @racc_t = (token_table[tok] or 1) # error token
139
+ end
140
+ racc_read_token(@racc_t, tok, @racc_val) if @yydebug
141
+ @racc_read_next = false
142
+ end
143
+ end
144
+ i += @racc_t
145
+ unless i >= 0 and
146
+ act = action_table[i] and
147
+ action_check[i] == @racc_state[-1]
148
+ act = action_default[@racc_state[-1]]
149
+ end
150
+ else
151
+ act = action_default[@racc_state[-1]]
152
+ end
153
+ while act = _racc_evalact(act, arg)
154
+ ;
155
+ end
156
+ end
157
+ }
158
+ end
159
+
160
+ ###
161
+ ### yyparse
162
+ ###
163
+
164
+ def yyparse(recv, mid)
165
+ __send__(Racc_YY_Parse_Method, recv, mid, _racc_setup(), true)
166
+ end
167
+
168
+ def _racc_yyparse_rb(recv, mid, arg, c_debug)
169
+ action_table, action_check, action_default, action_pointer,
170
+ goto_table, goto_check, goto_default, goto_pointer,
171
+ nt_base, reduce_table, token_table, shift_n,
172
+ reduce_n, use_result, * = arg
173
+
174
+ _racc_init_sysvars
175
+ tok = nil
176
+ act = nil
177
+ i = nil
178
+ nerr = 0
179
+
180
+ catch(:racc_end_parse) {
181
+ until i = action_pointer[@racc_state[-1]]
182
+ while act = _racc_evalact(action_default[@racc_state[-1]], arg)
183
+ ;
184
+ end
185
+ end
186
+ recv.__send__(mid) do |tok, val|
187
+ unless tok
188
+ @racc_t = 0
189
+ else
190
+ @racc_t = (token_table[tok] or 1) # error token
191
+ end
192
+ @racc_val = val
193
+ @racc_read_next = false
194
+
195
+ i += @racc_t
196
+ unless i >= 0 and
197
+ act = action_table[i] and
198
+ action_check[i] == @racc_state[-1]
199
+ act = action_default[@racc_state[-1]]
200
+ end
201
+ while act = _racc_evalact(act, arg)
202
+ ;
203
+ end
204
+
205
+ while not (i = action_pointer[@racc_state[-1]]) or
206
+ not @racc_read_next or
207
+ @racc_t == 0 # $
208
+ unless i and i += @racc_t and
209
+ i >= 0 and
210
+ act = action_table[i] and
211
+ action_check[i] == @racc_state[-1]
212
+ act = action_default[@racc_state[-1]]
213
+ end
214
+ while act = _racc_evalact(act, arg)
215
+ ;
216
+ end
217
+ end
218
+ end
219
+ }
220
+ end
221
+
222
+ ###
223
+ ### common
224
+ ###
225
+
226
+ def _racc_evalact(act, arg)
227
+ action_table, action_check, action_default, action_pointer,
228
+ goto_table, goto_check, goto_default, goto_pointer,
229
+ nt_base, reduce_table, token_table, shift_n,
230
+ reduce_n, use_result, * = arg
231
+ nerr = 0 # tmp
232
+
233
+ if act > 0 and act < shift_n
234
+ #
235
+ # shift
236
+ #
237
+ if @racc_error_status > 0
238
+ @racc_error_status -= 1 unless @racc_t == 1 # error token
239
+ end
240
+ @racc_vstack.push @racc_val
241
+ @racc_state.push act
242
+ @racc_read_next = true
243
+ if @yydebug
244
+ @racc_tstack.push @racc_t
245
+ racc_shift @racc_t, @racc_tstack, @racc_vstack
246
+ end
247
+
248
+ elsif act < 0 and act > -reduce_n
249
+ #
250
+ # reduce
251
+ #
252
+ code = catch(:racc_jump) {
253
+ @racc_state.push _racc_do_reduce(arg, act)
254
+ false
255
+ }
256
+ if code
257
+ case code
258
+ when 1 # yyerror
259
+ @racc_user_yyerror = true # user_yyerror
260
+ return -reduce_n
261
+ when 2 # yyaccept
262
+ return shift_n
263
+ else
264
+ raise '[Racc Bug] unknown jump code'
265
+ end
266
+ end
267
+
268
+ elsif act == shift_n
269
+ #
270
+ # accept
271
+ #
272
+ racc_accept if @yydebug
273
+ throw :racc_end_parse, @racc_vstack[0]
274
+
275
+ elsif act == -reduce_n
276
+ #
277
+ # error
278
+ #
279
+ case @racc_error_status
280
+ when 0
281
+ unless arg[21] # user_yyerror
282
+ nerr += 1
283
+ on_error @racc_t, @racc_val, @racc_vstack
284
+ end
285
+ when 3
286
+ if @racc_t == 0 # is $
287
+ throw :racc_end_parse, nil
288
+ end
289
+ @racc_read_next = true
290
+ end
291
+ @racc_user_yyerror = false
292
+ @racc_error_status = 3
293
+ while true
294
+ if i = action_pointer[@racc_state[-1]]
295
+ i += 1 # error token
296
+ if i >= 0 and
297
+ (act = action_table[i]) and
298
+ action_check[i] == @racc_state[-1]
299
+ break
300
+ end
301
+ end
302
+ throw :racc_end_parse, nil if @racc_state.size <= 1
303
+ @racc_state.pop
304
+ @racc_vstack.pop
305
+ if @yydebug
306
+ @racc_tstack.pop
307
+ racc_e_pop @racc_state, @racc_tstack, @racc_vstack
308
+ end
309
+ end
310
+ return act
311
+
312
+ else
313
+ raise "[Racc Bug] unknown action #{act.inspect}"
314
+ end
315
+
316
+ racc_next_state(@racc_state[-1], @racc_state) if @yydebug
317
+
318
+ nil
319
+ end
320
+
321
+ def _racc_do_reduce(arg, act)
322
+ action_table, action_check, action_default, action_pointer,
323
+ goto_table, goto_check, goto_default, goto_pointer,
324
+ nt_base, reduce_table, token_table, shift_n,
325
+ reduce_n, use_result, * = arg
326
+ state = @racc_state
327
+ vstack = @racc_vstack
328
+ tstack = @racc_tstack
329
+
330
+ i = act * -3
331
+ len = reduce_table[i]
332
+ reduce_to = reduce_table[i+1]
333
+ method_id = reduce_table[i+2]
334
+ void_array = []
335
+
336
+ tmp_t = tstack[-len, len] if @yydebug
337
+ tmp_v = vstack[-len, len]
338
+ tstack[-len, len] = void_array if @yydebug
339
+ vstack[-len, len] = void_array
340
+ state[-len, len] = void_array
341
+
342
+ # tstack must be updated AFTER method call
343
+ if use_result
344
+ vstack.push __send__(method_id, tmp_v, vstack, tmp_v[0])
345
+ else
346
+ vstack.push __send__(method_id, tmp_v, vstack)
347
+ end
348
+ tstack.push reduce_to
349
+
350
+ racc_reduce(tmp_t, reduce_to, tstack, vstack) if @yydebug
351
+
352
+ k1 = reduce_to - nt_base
353
+ if i = goto_pointer[k1]
354
+ i += state[-1]
355
+ if i >= 0 and (curstate = goto_table[i]) and goto_check[i] == k1
356
+ return curstate
357
+ end
358
+ end
359
+ goto_default[k1]
360
+ end
361
+
362
+ def on_error(t, val, vstack)
363
+ raise ParseError, sprintf("\nparse error on value %s (%s)",
364
+ val.inspect, token_to_str(t) || '?')
365
+ end
366
+
367
+ def yyerror
368
+ throw :racc_jump, 1
369
+ end
370
+
371
+ def yyaccept
372
+ throw :racc_jump, 2
373
+ end
374
+
375
+ def yyerrok
376
+ @racc_error_status = 0
377
+ end
378
+
379
+ #
380
+ # for debugging output
381
+ #
382
+
383
+ def racc_read_token(t, tok, val)
384
+ @racc_debug_out.print 'read '
385
+ @racc_debug_out.print tok.inspect, '(', racc_token2str(t), ') '
386
+ @racc_debug_out.puts val.inspect
387
+ @racc_debug_out.puts
388
+ end
389
+
390
+ def racc_shift(tok, tstack, vstack)
391
+ @racc_debug_out.puts "shift #{racc_token2str tok}"
392
+ racc_print_stacks tstack, vstack
393
+ @racc_debug_out.puts
394
+ end
395
+
396
+ def racc_reduce(toks, sim, tstack, vstack)
397
+ out = @racc_debug_out
398
+ out.print 'reduce '
399
+ if toks.empty?
400
+ out.print ' <none>'
401
+ else
402
+ toks.each {|t| out.print ' ', racc_token2str(t) }
403
+ end
404
+ out.puts " --> #{racc_token2str(sim)}"
405
+
406
+ racc_print_stacks tstack, vstack
407
+ @racc_debug_out.puts
408
+ end
409
+
410
+ def racc_accept
411
+ @racc_debug_out.puts 'accept'
412
+ @racc_debug_out.puts
413
+ end
414
+
415
+ def racc_e_pop(state, tstack, vstack)
416
+ @racc_debug_out.puts 'error recovering mode: pop token'
417
+ racc_print_states state
418
+ racc_print_stacks tstack, vstack
419
+ @racc_debug_out.puts
420
+ end
421
+
422
+ def racc_next_state(curstate, state)
423
+ @racc_debug_out.puts "goto #{curstate}"
424
+ racc_print_states state
425
+ @racc_debug_out.puts
426
+ end
427
+
428
+ def racc_print_stacks(t, v)
429
+ out = @racc_debug_out
430
+ out.print ' ['
431
+ t.each_index do |i|
432
+ out.print ' (', racc_token2str(t[i]), ' ', v[i].inspect, ')'
433
+ end
434
+ out.puts ' ]'
435
+ end
436
+
437
+ def racc_print_states(s)
438
+ out = @racc_debug_out
439
+ out.print ' ['
440
+ s.each {|st| out.print ' ', st }
441
+ out.puts ' ]'
442
+ end
443
+
444
+ def racc_token2str(tok)
445
+ self.class::Racc_token_to_s_table[tok] or
446
+ raise "[Racc Bug] can't convert token #{tok} to string"
447
+ end
448
+
449
+ def token_to_str(t)
450
+ self.class::Racc_token_to_s_table[t]
451
+ end
452
+
453
+ end
454
+
455
+ end
456
+ ..end racc/parser.rb modeval..id6f3c71ebec
457
+ end
458
+ ###### racc/parser.rb end
459
+
460
+
461
+ module Protobuf
462
+
463
+ class ProtoParser < Racc::Parser
464
+
465
+ module_eval <<'..end lib/protobuf/compiler/proto.y modeval..idaefa6bf7e1', 'lib/protobuf/compiler/proto.y', 159
466
+
467
+ def parse(f)
468
+ @q = []
469
+ f.each do |line|
470
+ until line.empty? do
471
+ case line
472
+ when /\A\s+/, /\A\/\/.*/
473
+ ;
474
+ when /\A(required|optional|repeated|import|package|option|message|extend|enum|service|rpc|returns|group|default|extensions|to|max|double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)/
475
+ @q.push [$&, $&.to_sym]
476
+ when /\A[1-9]\d*/, /\A0(?![.xX0-9])/
477
+ @q.push [:DEC_INTEGER, $&.to_i]
478
+ when /\A0[xX]([A-Fa-f0-9])+/
479
+ @q.push [:HEX_INTEGER, $&.to_i(0)]
480
+ when /\A0[0-7]+/
481
+ @q.push [:OCT_INTEGER, $&.to_i(0)]
482
+ when /\A\d+(\.\d+)?([Ee][\+-]?\d+)?/
483
+ @q.push [:FLOAT_LITERAL, $&.to_f]
484
+ when /\A(true|false)/
485
+ @q.push [:BOOLEAN_LITERAL, $& == 'true']
486
+ when /\A"(?:[^"\\]+|\\.)*"/, /\A'(?:[^'\\]+|\\.)*'/
487
+ @q.push [:STRING_LITERAL, eval($&)]
488
+ when /\A[a-zA-Z_][\w_]*/
489
+ @q.push [:IDENT, $&.to_sym]
490
+ when /\A[A-Z][\w_]*/
491
+ @q.push [:CAMEL_IDENT, $&.to_sym]
492
+ when /\A./
493
+ @q.push [$&, $&]
494
+ else
495
+ raise ArgumentError.new(line)
496
+ end
497
+ line = $'
498
+ end
499
+ end
500
+ do_parse
501
+ end
502
+
503
+ def next_token
504
+ @q.shift
505
+ end
506
+ ..end lib/protobuf/compiler/proto.y modeval..idaefa6bf7e1
507
+
508
+ ##### racc 1.4.5 generates ###
509
+
510
+ racc_reduce_table = [
511
+ 0, 0, :racc_error,
512
+ 1, 53, :_reduce_1,
513
+ 2, 53, :_reduce_2,
514
+ 1, 54, :_reduce_none,
515
+ 1, 54, :_reduce_none,
516
+ 1, 54, :_reduce_none,
517
+ 1, 54, :_reduce_none,
518
+ 1, 54, :_reduce_none,
519
+ 1, 54, :_reduce_none,
520
+ 1, 54, :_reduce_none,
521
+ 1, 54, :_reduce_none,
522
+ 3, 58, :_reduce_11,
523
+ 4, 59, :_reduce_12,
524
+ 0, 62, :_reduce_13,
525
+ 3, 62, :_reduce_14,
526
+ 3, 60, :_reduce_15,
527
+ 4, 63, :_reduce_16,
528
+ 3, 55, :_reduce_17,
529
+ 5, 56, :_reduce_18,
530
+ 0, 67, :_reduce_19,
531
+ 2, 67, :_reduce_20,
532
+ 1, 68, :_reduce_none,
533
+ 1, 68, :_reduce_none,
534
+ 1, 68, :_reduce_none,
535
+ 5, 57, :_reduce_24,
536
+ 0, 71, :_reduce_25,
537
+ 2, 71, :_reduce_26,
538
+ 1, 72, :_reduce_none,
539
+ 1, 72, :_reduce_none,
540
+ 1, 72, :_reduce_none,
541
+ 4, 73, :_reduce_30,
542
+ 5, 61, :_reduce_31,
543
+ 0, 75, :_reduce_32,
544
+ 2, 75, :_reduce_33,
545
+ 1, 76, :_reduce_none,
546
+ 1, 76, :_reduce_none,
547
+ 1, 76, :_reduce_none,
548
+ 10, 77, :_reduce_37,
549
+ 3, 65, :_reduce_38,
550
+ 0, 78, :_reduce_39,
551
+ 2, 78, :_reduce_40,
552
+ 1, 79, :_reduce_none,
553
+ 1, 79, :_reduce_none,
554
+ 1, 79, :_reduce_none,
555
+ 1, 79, :_reduce_none,
556
+ 1, 79, :_reduce_none,
557
+ 1, 79, :_reduce_none,
558
+ 1, 79, :_reduce_none,
559
+ 1, 79, :_reduce_none,
560
+ 6, 70, :_reduce_49,
561
+ 6, 69, :_reduce_50,
562
+ 9, 69, :_reduce_51,
563
+ 1, 83, :_reduce_52,
564
+ 3, 83, :_reduce_53,
565
+ 1, 84, :_reduce_none,
566
+ 3, 84, :_reduce_55,
567
+ 4, 80, :_reduce_56,
568
+ 0, 86, :_reduce_57,
569
+ 2, 86, :_reduce_58,
570
+ 1, 85, :_reduce_59,
571
+ 3, 85, :_reduce_60,
572
+ 3, 85, :_reduce_61,
573
+ 1, 81, :_reduce_none,
574
+ 1, 81, :_reduce_none,
575
+ 1, 81, :_reduce_none,
576
+ 1, 82, :_reduce_none,
577
+ 1, 82, :_reduce_none,
578
+ 1, 82, :_reduce_none,
579
+ 1, 82, :_reduce_none,
580
+ 1, 82, :_reduce_none,
581
+ 1, 82, :_reduce_none,
582
+ 1, 82, :_reduce_none,
583
+ 1, 82, :_reduce_none,
584
+ 1, 82, :_reduce_none,
585
+ 1, 82, :_reduce_none,
586
+ 1, 82, :_reduce_none,
587
+ 1, 82, :_reduce_none,
588
+ 1, 82, :_reduce_none,
589
+ 1, 82, :_reduce_none,
590
+ 1, 82, :_reduce_none,
591
+ 1, 82, :_reduce_none,
592
+ 2, 66, :_reduce_81,
593
+ 3, 66, :_reduce_82,
594
+ 1, 64, :_reduce_none,
595
+ 1, 64, :_reduce_none,
596
+ 1, 64, :_reduce_none,
597
+ 1, 64, :_reduce_none,
598
+ 1, 64, :_reduce_none,
599
+ 1, 74, :_reduce_none,
600
+ 1, 74, :_reduce_none,
601
+ 1, 74, :_reduce_none ]
602
+
603
+ racc_reduce_n = 91
604
+
605
+ racc_shift_n = 150
606
+
607
+ racc_action_table = [
608
+ 74, 125, 77, 47, 43, 74, 83, 77, 43, 50,
609
+ 25, 133, 14, 25, 16, 1, 38, 86, 6, 43,
610
+ 52, 48, 75, 76, 78, 19, 20, 19, 20, 136,
611
+ 89, 132, 136, 56, 57, 58, 56, 57, 58, 19,
612
+ 20, 107, 35, 72, 73, 75, 76, 78, 72, 73,
613
+ 75, 76, 78, 109, 94, 96, 98, 99, 100, 101,
614
+ 103, 104, 105, 106, 108, 93, 95, 97, 27, 34,
615
+ 4, 7, 110, 11, 67, 111, 14, 33, 16, 1,
616
+ 14, 114, 6, 9, 115, 68, 4, 7, 69, 11,
617
+ 19, 20, 14, 32, 16, 1, 60, 117, 6, 9,
618
+ 63, 118, 14, 75, 76, 78, 119, 61, 75, 76,
619
+ 78, 75, 76, 78, 75, 76, 78, 75, 76, 78,
620
+ 142, 143, 121, 122, 123, 39, 30, 29, 128, 25,
621
+ 24, 131, 23, 40, 135, 22, 140, 141, 40, 43,
622
+ 21, 146, 59, 148, 149 ]
623
+
624
+ racc_action_check = [
625
+ 48, 118, 48, 36, 31, 141, 49, 141, 36, 42,
626
+ 132, 129, 49, 143, 49, 49, 26, 49, 49, 37,
627
+ 42, 37, 118, 118, 118, 117, 117, 54, 54, 132,
628
+ 49, 129, 143, 49, 49, 49, 42, 42, 42, 1,
629
+ 1, 54, 23, 48, 48, 48, 48, 48, 141, 141,
630
+ 141, 141, 141, 54, 54, 54, 54, 54, 54, 54,
631
+ 54, 54, 54, 54, 54, 54, 54, 54, 15, 22,
632
+ 15, 15, 63, 15, 46, 69, 15, 21, 15, 15,
633
+ 46, 102, 15, 15, 107, 46, 0, 0, 46, 0,
634
+ 140, 140, 0, 20, 0, 0, 45, 111, 0, 0,
635
+ 45, 112, 45, 121, 121, 121, 113, 45, 119, 119,
636
+ 119, 89, 89, 89, 110, 110, 110, 122, 122, 122,
637
+ 137, 137, 114, 115, 116, 27, 18, 16, 120, 14,
638
+ 11, 124, 9, 130, 131, 7, 135, 136, 29, 44,
639
+ 6, 142, 43, 144, 148 ]
640
+
641
+ racc_action_pointer = [
642
+ 84, 33, nil, nil, nil, nil, 134, 131, nil, 126,
643
+ nil, 124, nil, nil, 123, 68, 121, nil, 114, nil,
644
+ 87, 65, 67, 30, nil, nil, 14, 125, nil, 126,
645
+ nil, -3, nil, nil, nil, nil, 1, 12, nil, nil,
646
+ nil, nil, 7, 136, 132, 94, 72, nil, -4, 4,
647
+ nil, nil, nil, nil, 21, nil, nil, nil, nil, nil,
648
+ nil, nil, nil, 63, nil, nil, nil, nil, nil, 69,
649
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
650
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 62,
651
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
652
+ nil, nil, 75, nil, nil, nil, nil, 63, nil, nil,
653
+ 65, 80, 74, 82, 113, 114, 122, 19, -27, 59,
654
+ 126, 54, 68, nil, 113, nil, nil, nil, nil, 9,
655
+ 121, 115, 4, nil, nil, 119, 128, 97, nil, nil,
656
+ 84, 1, 139, 7, 125, nil, nil, nil, 142, nil ]
657
+
658
+ racc_action_default = [
659
+ -91, -91, -3, -4, -10, -5, -91, -91, -6, -91,
660
+ -7, -91, -8, -9, -91, -91, -91, -1, -91, -13,
661
+ -91, -91, -91, -91, -13, -13, -91, -91, -2, -91,
662
+ -19, -81, -13, -25, -11, -32, -91, -91, -15, 150,
663
+ -39, -17, -91, -91, -82, -91, -91, -12, -91, -91,
664
+ -23, -20, -18, -21, -91, -22, -62, -63, -64, -14,
665
+ -29, -24, -27, -91, -26, -28, -35, -36, -31, -91,
666
+ -34, -33, -85, -87, -86, -88, -89, -83, -90, -84,
667
+ -16, -43, -44, -48, -42, -40, -38, -45, -41, -91,
668
+ -46, -47, -80, -77, -66, -78, -67, -79, -68, -69,
669
+ -70, -71, -91, -72, -73, -74, -75, -91, -76, -65,
670
+ -91, -91, -59, -57, -91, -91, -91, -91, -91, -91,
671
+ -91, -91, -91, -30, -91, -61, -60, -58, -56, -91,
672
+ -91, -91, -91, -50, -49, -91, -91, -91, -52, -54,
673
+ -91, -91, -91, -91, -91, -55, -51, -53, -91, -37 ]
674
+
675
+ racc_goto_table = [
676
+ 18, 41, 80, 112, 113, 17, 31, 138, 53, 55,
677
+ 45, 36, 37, 62, 70, 88, 90, 91, 147, 44,
678
+ 28, 51, 26, 84, 116, 42, 64, 65, 82, 46,
679
+ 71, 66, 126, 112, 127, 129, 130, 49, 85, 87,
680
+ 102, 137, 81, 15, 120, nil, nil, nil, nil, nil,
681
+ nil, nil, nil, 92, nil, nil, nil, nil, nil, nil,
682
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
683
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
684
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
685
+ nil, nil, nil, nil, nil, 145, nil, nil, nil, nil,
686
+ nil, nil, 134, nil, nil, nil, nil, nil, nil, nil,
687
+ nil, nil, nil, nil, nil, nil, 124, nil, nil, nil,
688
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
689
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 144 ]
690
+
691
+ racc_goto_check = [
692
+ 14, 13, 12, 22, 33, 2, 10, 32, 17, 18,
693
+ 19, 10, 10, 8, 8, 17, 18, 8, 32, 10,
694
+ 2, 16, 11, 5, 22, 15, 20, 21, 4, 23,
695
+ 24, 25, 22, 22, 33, 22, 22, 26, 27, 28,
696
+ 30, 31, 3, 1, 34, nil, nil, nil, nil, nil,
697
+ nil, nil, nil, 14, nil, nil, nil, nil, nil, nil,
698
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
699
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
700
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
701
+ nil, nil, nil, nil, nil, 12, nil, nil, nil, nil,
702
+ nil, nil, 13, nil, nil, nil, nil, nil, nil, nil,
703
+ nil, nil, nil, nil, nil, nil, 14, nil, nil, nil,
704
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
705
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 14 ]
706
+
707
+ racc_goto_pointer = [
708
+ nil, 43, 5, -7, -21, -26, nil, nil, -32, nil,
709
+ -13, 8, -46, -28, -1, -5, -21, -34, -33, -23,
710
+ -19, -18, -86, -6, -16, -15, -3, -11, -10, nil,
711
+ -14, -91, -125, -85, -69 ]
712
+
713
+ racc_goto_default = [
714
+ nil, nil, nil, 2, 3, 5, 8, 10, 12, 13,
715
+ nil, 139, nil, nil, nil, nil, nil, nil, nil, nil,
716
+ nil, nil, 79, nil, nil, nil, nil, nil, nil, 54,
717
+ nil, nil, nil, nil, nil ]
718
+
719
+ racc_token_table = {
720
+ false => 0,
721
+ Object.new => 1,
722
+ ";" => 2,
723
+ "import" => 3,
724
+ :STRING_LITERAL => 4,
725
+ "package" => 5,
726
+ :IDENT => 6,
727
+ "." => 7,
728
+ "option" => 8,
729
+ "=" => 9,
730
+ "message" => 10,
731
+ "extend" => 11,
732
+ "{" => 12,
733
+ "}" => 13,
734
+ "enum" => 14,
735
+ "service" => 15,
736
+ "rpc" => 16,
737
+ "(" => 17,
738
+ ")" => 18,
739
+ "returns" => 19,
740
+ "group" => 20,
741
+ :CAMEL_IDENT => 21,
742
+ "[" => 22,
743
+ "]" => 23,
744
+ "," => 24,
745
+ "default" => 25,
746
+ "extensions" => 26,
747
+ "to" => 27,
748
+ "max" => 28,
749
+ "required" => 29,
750
+ "optional" => 30,
751
+ "repeated" => 31,
752
+ "double" => 32,
753
+ "float" => 33,
754
+ "int32" => 34,
755
+ "int64" => 35,
756
+ "uint32" => 36,
757
+ "uint64" => 37,
758
+ "sint32" => 38,
759
+ "sint64" => 39,
760
+ "fixed32" => 40,
761
+ "fixed64" => 41,
762
+ "sfixed32" => 42,
763
+ "sfixed64" => 43,
764
+ "bool" => 44,
765
+ "string" => 45,
766
+ "bytes" => 46,
767
+ :FLOAT_LITERAL => 47,
768
+ :BOOLEAN_LITERAL => 48,
769
+ :DEC_INTEGER => 49,
770
+ :HEX_INTEGER => 50,
771
+ :OCT_INTEGER => 51 }
772
+
773
+ racc_use_result_var = true
774
+
775
+ racc_nt_base = 52
776
+
777
+ Racc_arg = [
778
+ racc_action_table,
779
+ racc_action_check,
780
+ racc_action_default,
781
+ racc_action_pointer,
782
+ racc_goto_table,
783
+ racc_goto_check,
784
+ racc_goto_default,
785
+ racc_goto_pointer,
786
+ racc_nt_base,
787
+ racc_reduce_table,
788
+ racc_token_table,
789
+ racc_shift_n,
790
+ racc_reduce_n,
791
+ racc_use_result_var ]
792
+
793
+ Racc_token_to_s_table = [
794
+ '$end',
795
+ 'error',
796
+ '";"',
797
+ '"import"',
798
+ 'STRING_LITERAL',
799
+ '"package"',
800
+ 'IDENT',
801
+ '"."',
802
+ '"option"',
803
+ '"="',
804
+ '"message"',
805
+ '"extend"',
806
+ '"{"',
807
+ '"}"',
808
+ '"enum"',
809
+ '"service"',
810
+ '"rpc"',
811
+ '"("',
812
+ '")"',
813
+ '"returns"',
814
+ '"group"',
815
+ 'CAMEL_IDENT',
816
+ '"["',
817
+ '"]"',
818
+ '","',
819
+ '"default"',
820
+ '"extensions"',
821
+ '"to"',
822
+ '"max"',
823
+ '"required"',
824
+ '"optional"',
825
+ '"repeated"',
826
+ '"double"',
827
+ '"float"',
828
+ '"int32"',
829
+ '"int64"',
830
+ '"uint32"',
831
+ '"uint64"',
832
+ '"sint32"',
833
+ '"sint64"',
834
+ '"fixed32"',
835
+ '"fixed64"',
836
+ '"sfixed32"',
837
+ '"sfixed64"',
838
+ '"bool"',
839
+ '"string"',
840
+ '"bytes"',
841
+ 'FLOAT_LITERAL',
842
+ 'BOOLEAN_LITERAL',
843
+ 'DEC_INTEGER',
844
+ 'HEX_INTEGER',
845
+ 'OCT_INTEGER',
846
+ '$start',
847
+ 'proto',
848
+ 'proto_item',
849
+ 'message',
850
+ 'extend',
851
+ 'enum',
852
+ 'import',
853
+ 'package',
854
+ 'option',
855
+ 'service',
856
+ 'dot_ident_list',
857
+ 'option_body',
858
+ 'constant',
859
+ 'message_body',
860
+ 'user_type',
861
+ 'extend_body_list',
862
+ 'extend_body',
863
+ 'field',
864
+ 'group',
865
+ 'enum_body_list',
866
+ 'enum_body',
867
+ 'enum_field',
868
+ 'integer_literal',
869
+ 'service_body_list',
870
+ 'service_body',
871
+ 'rpc',
872
+ 'message_body_body_list',
873
+ 'message_body_body',
874
+ 'extensions',
875
+ 'label',
876
+ 'type',
877
+ 'field_option_list',
878
+ 'field_option',
879
+ 'extension',
880
+ 'comma_extension_list']
881
+
882
+ Racc_debug_parser = false
883
+
884
+ ##### racc system variables end #####
885
+
886
+ # reduce 0 omitted
887
+
888
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 4
889
+ def _reduce_1( val, _values, result )
890
+ result = Protobuf::Node::ProtoNode.new val
891
+ result
892
+ end
893
+ .,.,
894
+
895
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 6
896
+ def _reduce_2( val, _values, result )
897
+ result.children << val[1]
898
+ result
899
+ end
900
+ .,.,
901
+
902
+ # reduce 3 omitted
903
+
904
+ # reduce 4 omitted
905
+
906
+ # reduce 5 omitted
907
+
908
+ # reduce 6 omitted
909
+
910
+ # reduce 7 omitted
911
+
912
+ # reduce 8 omitted
913
+
914
+ # reduce 9 omitted
915
+
916
+ # reduce 10 omitted
917
+
918
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 19
919
+ def _reduce_11( val, _values, result )
920
+ result = Protobuf::Node::ImportNode.new val[1]
921
+ result
922
+ end
923
+ .,.,
924
+
925
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 22
926
+ def _reduce_12( val, _values, result )
927
+ result = Protobuf::Node::PackageNode.new val[2].unshift(val[1])
928
+ result
929
+ end
930
+ .,.,
931
+
932
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 25
933
+ def _reduce_13( val, _values, result )
934
+ result = []
935
+ result
936
+ end
937
+ .,.,
938
+
939
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 27
940
+ def _reduce_14( val, _values, result )
941
+ result << val[2]
942
+ result
943
+ end
944
+ .,.,
945
+
946
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 30
947
+ def _reduce_15( val, _values, result )
948
+ result = Protobuf::Node::OptionNode.new *val[1]
949
+ result
950
+ end
951
+ .,.,
952
+
953
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 33
954
+ def _reduce_16( val, _values, result )
955
+ result = [val[1].unshift(val[0]), val[3]]
956
+ result
957
+ end
958
+ .,.,
959
+
960
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 36
961
+ def _reduce_17( val, _values, result )
962
+ result = Protobuf::Node::MessageNode.new val[1], val[2]
963
+ result
964
+ end
965
+ .,.,
966
+
967
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 39
968
+ def _reduce_18( val, _values, result )
969
+ result = Protobuf::Node::ExtendNode.new val[1], val[3]
970
+ result
971
+ end
972
+ .,.,
973
+
974
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 42
975
+ def _reduce_19( val, _values, result )
976
+ result = []
977
+ result
978
+ end
979
+ .,.,
980
+
981
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 44
982
+ def _reduce_20( val, _values, result )
983
+ result << val[1]
984
+ result
985
+ end
986
+ .,.,
987
+
988
+ # reduce 21 omitted
989
+
990
+ # reduce 22 omitted
991
+
992
+ # reduce 23 omitted
993
+
994
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 52
995
+ def _reduce_24( val, _values, result )
996
+ result = Protobuf::Node::EnumNode.new val[1], val[3]
997
+ result
998
+ end
999
+ .,.,
1000
+
1001
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 55
1002
+ def _reduce_25( val, _values, result )
1003
+ result = []
1004
+ result
1005
+ end
1006
+ .,.,
1007
+
1008
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 57
1009
+ def _reduce_26( val, _values, result )
1010
+ result << val[1]
1011
+ result
1012
+ end
1013
+ .,.,
1014
+
1015
+ # reduce 27 omitted
1016
+
1017
+ # reduce 28 omitted
1018
+
1019
+ # reduce 29 omitted
1020
+
1021
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 65
1022
+ def _reduce_30( val, _values, result )
1023
+ result = Protobuf::Node::EnumFieldNode.new val[0], val[2]
1024
+ result
1025
+ end
1026
+ .,.,
1027
+
1028
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 68
1029
+ def _reduce_31( val, _values, result )
1030
+ result = Protobuf::Node::ServiceNode.new val[1], val[3]
1031
+ result
1032
+ end
1033
+ .,.,
1034
+
1035
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 71
1036
+ def _reduce_32( val, _values, result )
1037
+ result = []
1038
+ result
1039
+ end
1040
+ .,.,
1041
+
1042
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 73
1043
+ def _reduce_33( val, _values, result )
1044
+ result << val[1]
1045
+ result
1046
+ end
1047
+ .,.,
1048
+
1049
+ # reduce 34 omitted
1050
+
1051
+ # reduce 35 omitted
1052
+
1053
+ # reduce 36 omitted
1054
+
1055
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 81
1056
+ def _reduce_37( val, _values, result )
1057
+ result = Protobuf::Node::RpcNode.new val[1], val[3], val[7]
1058
+ result
1059
+ end
1060
+ .,.,
1061
+
1062
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 84
1063
+ def _reduce_38( val, _values, result )
1064
+ result = val[1]
1065
+ result
1066
+ end
1067
+ .,.,
1068
+
1069
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 87
1070
+ def _reduce_39( val, _values, result )
1071
+ result = []
1072
+ result
1073
+ end
1074
+ .,.,
1075
+
1076
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 89
1077
+ def _reduce_40( val, _values, result )
1078
+ result << val[1]
1079
+ result
1080
+ end
1081
+ .,.,
1082
+
1083
+ # reduce 41 omitted
1084
+
1085
+ # reduce 42 omitted
1086
+
1087
+ # reduce 43 omitted
1088
+
1089
+ # reduce 44 omitted
1090
+
1091
+ # reduce 45 omitted
1092
+
1093
+ # reduce 46 omitted
1094
+
1095
+ # reduce 47 omitted
1096
+
1097
+ # reduce 48 omitted
1098
+
1099
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 102
1100
+ def _reduce_49( val, _values, result )
1101
+ result = Protobuf::Node::GroupNode.new val[0], val[2], val[4], val[5]
1102
+ result
1103
+ end
1104
+ .,.,
1105
+
1106
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 105
1107
+ def _reduce_50( val, _values, result )
1108
+ result = Protobuf::Node::FieldNode.new val[0], val[1], val[2], val[4]
1109
+ result
1110
+ end
1111
+ .,.,
1112
+
1113
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 107
1114
+ def _reduce_51( val, _values, result )
1115
+ result = Protobuf::Node::FieldNode.new val[0], val[1], val[2], val[4], val[6]
1116
+ result
1117
+ end
1118
+ .,.,
1119
+
1120
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 110
1121
+ def _reduce_52( val, _values, result )
1122
+ result = val
1123
+ result
1124
+ end
1125
+ .,.,
1126
+
1127
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 112
1128
+ def _reduce_53( val, _values, result )
1129
+ result << val[2]
1130
+ result
1131
+ end
1132
+ .,.,
1133
+
1134
+ # reduce 54 omitted
1135
+
1136
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 116
1137
+ def _reduce_55( val, _values, result )
1138
+ result = [:default, val[2]]
1139
+ result
1140
+ end
1141
+ .,.,
1142
+
1143
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 119
1144
+ def _reduce_56( val, _values, result )
1145
+ result = Protobuf::Node::ExtensionsNode.new val[2].unshift(val[1])
1146
+ result
1147
+ end
1148
+ .,.,
1149
+
1150
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 122
1151
+ def _reduce_57( val, _values, result )
1152
+ result = []
1153
+ result
1154
+ end
1155
+ .,.,
1156
+
1157
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 124
1158
+ def _reduce_58( val, _values, result )
1159
+ result << val[1]
1160
+ result
1161
+ end
1162
+ .,.,
1163
+
1164
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 127
1165
+ def _reduce_59( val, _values, result )
1166
+ result = Protobuf::Node::ExtensionRangeNode.new val[0]
1167
+ result
1168
+ end
1169
+ .,.,
1170
+
1171
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 129
1172
+ def _reduce_60( val, _values, result )
1173
+ result = Protobuf::Node::ExtensionRangeNode.new val[0], val[2]
1174
+ result
1175
+ end
1176
+ .,.,
1177
+
1178
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 131
1179
+ def _reduce_61( val, _values, result )
1180
+ result = Protobuf::Node::ExtensionRangeNode.new val[0], :max
1181
+ result
1182
+ end
1183
+ .,.,
1184
+
1185
+ # reduce 62 omitted
1186
+
1187
+ # reduce 63 omitted
1188
+
1189
+ # reduce 64 omitted
1190
+
1191
+ # reduce 65 omitted
1192
+
1193
+ # reduce 66 omitted
1194
+
1195
+ # reduce 67 omitted
1196
+
1197
+ # reduce 68 omitted
1198
+
1199
+ # reduce 69 omitted
1200
+
1201
+ # reduce 70 omitted
1202
+
1203
+ # reduce 71 omitted
1204
+
1205
+ # reduce 72 omitted
1206
+
1207
+ # reduce 73 omitted
1208
+
1209
+ # reduce 74 omitted
1210
+
1211
+ # reduce 75 omitted
1212
+
1213
+ # reduce 76 omitted
1214
+
1215
+ # reduce 77 omitted
1216
+
1217
+ # reduce 78 omitted
1218
+
1219
+ # reduce 79 omitted
1220
+
1221
+ # reduce 80 omitted
1222
+
1223
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 142
1224
+ def _reduce_81( val, _values, result )
1225
+ result = val[1].unshift(val[0])
1226
+ result
1227
+ end
1228
+ .,.,
1229
+
1230
+ module_eval <<'.,.,', 'lib/protobuf/compiler/proto.y', 144
1231
+ def _reduce_82( val, _values, result )
1232
+ result = val[1].unshift(val[0])
1233
+ result
1234
+ end
1235
+ .,.,
1236
+
1237
+ # reduce 83 omitted
1238
+
1239
+ # reduce 84 omitted
1240
+
1241
+ # reduce 85 omitted
1242
+
1243
+ # reduce 86 omitted
1244
+
1245
+ # reduce 87 omitted
1246
+
1247
+ # reduce 88 omitted
1248
+
1249
+ # reduce 89 omitted
1250
+
1251
+ # reduce 90 omitted
1252
+
1253
+ def _reduce_none( val, _values, result )
1254
+ result
1255
+ end
1256
+
1257
+ end # class ProtoParser
1258
+
1259
+ end # module Protobuf