raf-parser 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: af19c289cec306caf69312d8d9668dafb7428062
4
- data.tar.gz: 0218da92ad12232d0ad41c47c1e24043584e1aa5
3
+ metadata.gz: 6113f8995ef114b34f297e77f0240802da0d82df
4
+ data.tar.gz: 54ee9948faae6027e31b0fa0f41a1542c35c5021
5
5
  SHA512:
6
- metadata.gz: 2554fe485f33bbf278a79ecd82058938a13d1567f07935b7a90631328062a4987436d0e89090bef08c190bd95cf724c776c3507ba83fdf04472c84ebbdb7c91d
7
- data.tar.gz: 0330b7bad7273f058ac7ce6a4219632adbcd30a7e4a39c412836e36e143014f7dc463a0b924e40c777c4a4d0b1397e24a8d72b2bd8a0f0a399232b2c0d452d20
6
+ metadata.gz: f654a881270669c0d686846d08c545346ad57e2a8213bf3fb8c4e82622ffaec4632a3c2b6f64fed46464f6b1ac93dbb7f8ee19b213f515dcd50ae961958839b3
7
+ data.tar.gz: 5fb90c38dd38e60ad874f7af49a9eca1949a13fe4bdeaa47a326135cc13639018b3c71f9468997db18c942234fd46a5ba1578204ea6c98f23881417595a731dd
data/History.rdoc CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.2.2 2013-12-05
2
+ * 変数定義の VARIABLE((@..|..@))書式を追加
3
+ * 空文字を返す Empty クラスを追加
4
+
1
5
  == 0.2.1 2013-12-04
2
6
  * kbd書式 ((%...%)) を追加
3
7
  * code書式 (({...})) を追加
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
data/bin/raf-parser CHANGED
@@ -11,7 +11,7 @@ opt = OptionParser.new do |opt|
11
11
  opt.release = Raf::RELEASE
12
12
  opt.banner = <<EOL
13
13
  "raf" is simple document format.
14
- Read more: https://github.com/garin/raf
14
+ Read more: https://github.com/garin/raf-parser
15
15
  EOL
16
16
  end
17
17
 
data/lib/rafelement.rb CHANGED
@@ -143,6 +143,12 @@ module Raf
143
143
  # -- Blocks end
144
144
 
145
145
  # -- Inlines
146
+ class Empty < Element
147
+ def apply
148
+ ""
149
+ end
150
+ end
151
+
146
152
  class Plain < Element
147
153
  def apply
148
154
  "#{contents}"
@@ -200,6 +206,12 @@ module Raf
200
206
  end
201
207
  end
202
208
 
209
+ class Variable < Element
210
+ def apply
211
+ "<Variable>#{@contents}</Variable>"
212
+ end
213
+ end
214
+
203
215
  class Footnote < Element
204
216
  #@contents = [contents, id]
205
217
  def apply
@@ -1,7 +1,7 @@
1
1
  # Copyright (C) garin <garin54@gmail.com> 2011
2
2
  # See the included file COPYING for details.
3
3
  class InlineParser
4
- token EM_OPEN EM_CLOSE ITALIC_OPEN ITALIC_CLOSE STRIKE_OPEN STRIKE_CLOSE CODE_OPEN CODE_CLOSE KBD_OPEN KBD_CLOSE LABEL_OPEN LABEL_CLOSE REFERENCE_OPEN REFERENCE_CLOSE VERB_OPEN VERB_CLOSE FOOTNOTE_OPEN FOOTNOTE_CLOSE RUBY_OPEN RUBY_CLOSE IMAGE_OPEN IMAGE_CLOSE MANUEDO_OPEN MANUEDO_CLOSE OTHER
4
+ token EM_OPEN EM_CLOSE ITALIC_OPEN ITALIC_CLOSE STRIKE_OPEN STRIKE_CLOSE CODE_OPEN CODE_CLOSE KBD_OPEN KBD_CLOSE LABEL_OPEN LABEL_CLOSE REFERENCE_OPEN REFERENCE_CLOSE VERB_OPEN VERB_CLOSE FOOTNOTE_OPEN FOOTNOTE_CLOSE RUBY_OPEN RUBY_CLOSE VARIABLE_OPEN VARIABLE_CLOSE IMAGE_OPEN IMAGE_CLOSE MANUEDO_OPEN MANUEDO_CLOSE OTHER
5
5
  options no_result_var
6
6
  rule
7
7
  content :
@@ -18,6 +18,7 @@ class InlineParser
18
18
  | label
19
19
  | reference
20
20
  | ruby
21
+ | variable
21
22
  | footnote
22
23
  | image
23
24
  | verb
@@ -52,6 +53,8 @@ class InlineParser
52
53
  | KBD_CLOSE
53
54
  | RUBY_OPEN
54
55
  | RUBY_CLOSE
56
+ | VARIABLE_OPEN
57
+ | VARIABLE_CLOSE
55
58
  | MANUEDO_OPEN
56
59
  | MANUEDO_CLOSE
57
60
  | REFERENCE_OPEN
@@ -101,10 +104,61 @@ class InlineParser
101
104
  ruby : RUBY_OPEN ruby_strings RUBY_CLOSE {
102
105
  base, text = val[1].split("|",2)
103
106
  text ||= base
107
+ # parser = InlineParser.new
108
+ # text = parser.parse(text).map do |n| n.apply end
104
109
  Ruby.new([base, text])
105
110
  }
106
111
 
107
112
  # --- ruby end
113
+ # --- variable start
114
+ variable_string : OTHER
115
+ | EM_OPEN
116
+ | EM_CLOSE
117
+ | ITALIC_OPEN
118
+ | ITALIC_CLOSE
119
+ | STRIKE_OPEN
120
+ | STRIKE_CLOSE
121
+ | CODE_OPEN
122
+ | CODE_CLOSE
123
+ | KBD_OPEN
124
+ | KBD_CLOSE
125
+ | IMAGE_OPEN
126
+ | IMAGE_CLOSE
127
+ | MANUEDO_OPEN
128
+ | MANUEDO_CLOSE
129
+ | REFERENCE_OPEN
130
+ | REFERENCE_CLOSE
131
+ | LABEL_OPEN
132
+ | LABEL_CLOSE
133
+ | RUBY_OPEN
134
+ | RUBY_CLOSE
135
+ | VARIABLE_OPEN
136
+ | FOOTNOTE_OPEN
137
+ | FOOTNOTE_CLOSE
138
+ | VERB_OPEN
139
+ | VERB_CLOSE
140
+
141
+ variable_strings : variable_strings variable_string { val.join }
142
+ | variable_string { val[0] }
143
+
144
+ variable : VARIABLE_OPEN variable_strings VARIABLE_CLOSE {
145
+ base, text = val[1].split("=",2)
146
+ unless text.nil?
147
+ @variables ||= {}
148
+ @variables[base] = text
149
+ Empty.new("")
150
+ else
151
+ value = @variables[base]
152
+ unless value.nil?
153
+ parser = InlineParser.new
154
+ value = parser.parse(value).map do |n| n.apply end
155
+ else # 変数が未定義
156
+ value = base
157
+ end
158
+ Variable.new(value)
159
+ end
160
+ }
161
+ # --- variable end
108
162
  # --- manuedo
109
163
  manuedo : MANUEDO_OPEN content MANUEDO_CLOSE { Manuedo.new(val[1]) }
110
164
 
@@ -161,6 +215,8 @@ class InlineParser
161
215
  | LABEL_CLOSE
162
216
  | RUBY_OPEN
163
217
  | RUBY_CLOSE
218
+ | VARIABLE_OPEN
219
+ | VARIABLE_CLOSE
164
220
  | FOOTNOTE_OPEN
165
221
  | FOOTNOTE_CLOSE
166
222
  | VERB_OPEN
@@ -211,6 +267,11 @@ RUBY_OPEN_RE = /\A#{Regexp.quote(RUBY_OPEN)}/
211
267
  RUBY_CLOSE = '^))'
212
268
  RUBY_CLOSE_RE = /\A#{Regexp.quote(RUBY_CLOSE)}/
213
269
 
270
+ VARIABLE_OPEN = '((@'
271
+ VARIABLE_OPEN_RE = /\A#{Regexp.quote(VARIABLE_OPEN)}/
272
+ VARIABLE_CLOSE = '@))'
273
+ VARIABLE_CLOSE_RE = /\A#{Regexp.quote(VARIABLE_CLOSE)}/
274
+
214
275
  FOOTNOTE_OPEN = '((['
215
276
  FOOTNOTE_OPEN_RE = /\A#{Regexp.quote(FOOTNOTE_OPEN)}/
216
277
  FOOTNOTE_CLOSE = ']))'
@@ -257,7 +318,7 @@ MANUEDO_CLOSE_RE = /\A#{Regexp.quote(MANUEDO_CLOSE)}/
257
318
  #other_re_mode = Regexp::EXTENDED
258
319
  other_re_mode = Regexp::MULTILINE
259
320
  OTHER_RE = Regexp.new(
260
- "\\A.+?(?=#{Regexp.quote(EM_OPEN)}|#{Regexp.quote(EM_CLOSE)}|#{Regexp.quote(ITALIC_OPEN)}|#{Regexp.quote(ITALIC_CLOSE)}|#{Regexp.quote(STRIKE_OPEN)}|#{Regexp.quote(STRIKE_CLOSE)}|#{Regexp.quote(CODE_OPEN)}|#{Regexp.quote(CODE_CLOSE)}|#{Regexp.quote(KBD_OPEN)}|#{Regexp.quote(KBD_CLOSE)}|#{Regexp.quote(FOOTNOTE_OPEN)}|#{Regexp.quote(FOOTNOTE_CLOSE)}|#{Regexp.quote(RUBY_OPEN)}|#{Regexp.quote(RUBY_CLOSE)}|#{Regexp.quote(IMAGE_OPEN)}|#{Regexp.quote(IMAGE_CLOSE)}|#{Regexp.quote(LABEL_OPEN)}|#{Regexp.quote(LABEL_CLOSE)}|#{Regexp.quote(LABEL_HTML_OPEN)}|#{Regexp.quote(LABEL_HTML_CLOSE)}|#{Regexp.quote(REFERENCE_OPEN)}|#{Regexp.quote(REFERENCE_CLOSE)}|#{Regexp.quote(REFERENCE_HTML_OPEN)}|#{Regexp.quote(REFERENCE_HTML_CLOSE)}|#{Regexp.quote(MANUEDO_OPEN)}|#{Regexp.quote(MANUEDO_CLOSE)}|#{Regexp.quote(VERB_OPEN)}|#{Regexp.quote(VERB_CLOSE)})", other_re_mode)
321
+ "\\A.+?(?=#{Regexp.quote(EM_OPEN)}|#{Regexp.quote(EM_CLOSE)}|#{Regexp.quote(ITALIC_OPEN)}|#{Regexp.quote(ITALIC_CLOSE)}|#{Regexp.quote(STRIKE_OPEN)}|#{Regexp.quote(STRIKE_CLOSE)}|#{Regexp.quote(CODE_OPEN)}|#{Regexp.quote(CODE_CLOSE)}|#{Regexp.quote(KBD_OPEN)}|#{Regexp.quote(KBD_CLOSE)}|#{Regexp.quote(FOOTNOTE_OPEN)}|#{Regexp.quote(FOOTNOTE_CLOSE)}|#{Regexp.quote(RUBY_OPEN)}|#{Regexp.quote(RUBY_CLOSE)}|#{Regexp.quote(VARIABLE_OPEN)}|#{Regexp.quote(VARIABLE_CLOSE)}|#{Regexp.quote(IMAGE_OPEN)}|#{Regexp.quote(IMAGE_CLOSE)}|#{Regexp.quote(LABEL_OPEN)}|#{Regexp.quote(LABEL_CLOSE)}|#{Regexp.quote(LABEL_HTML_OPEN)}|#{Regexp.quote(LABEL_HTML_CLOSE)}|#{Regexp.quote(REFERENCE_OPEN)}|#{Regexp.quote(REFERENCE_CLOSE)}|#{Regexp.quote(REFERENCE_HTML_OPEN)}|#{Regexp.quote(REFERENCE_HTML_CLOSE)}|#{Regexp.quote(MANUEDO_OPEN)}|#{Regexp.quote(MANUEDO_CLOSE)}|#{Regexp.quote(VERB_OPEN)}|#{Regexp.quote(VERB_CLOSE)})", other_re_mode)
261
322
 
262
323
  def parse(src)
263
324
  @src = StringScanner.new(Array(src).join)
@@ -361,6 +422,14 @@ def next_token
361
422
  puts "i: RUBY_CLOSE: #{ret}" if @view_token_type
362
423
  @pre << ret
363
424
  [:RUBY_CLOSE, ret]
425
+ elsif ret = @src.scan(VARIABLE_OPEN_RE)
426
+ puts "i: VARIABLE_OPEN: #{ret}" if @view_token_type
427
+ @pre << ret
428
+ [:VARIABLE_OPEN, ret]
429
+ elsif ret = @src.scan(VARIABLE_CLOSE_RE)
430
+ puts "i: VARIABLE_CLOSE: #{ret}" if @view_token_type
431
+ @pre << ret
432
+ [:VARIABLE_CLOSE, ret]
364
433
  elsif ret = @src.scan(FOOTNOTE_OPEN_RE)
365
434
  puts "i: FOOTNOTE_OPEN: #{ret}" if @view_token_type
366
435
  @pre << ret
@@ -14,7 +14,7 @@ require 'rafelement'
14
14
  module Raf
15
15
  class InlineParser < Racc::Parser
16
16
 
17
- module_eval(<<'...end rafinlineparser.ry/module_eval...', 'rafinlineparser.ry', 182)
17
+ module_eval(<<'...end rafinlineparser.ry/module_eval...', 'rafinlineparser.ry', 238)
18
18
  include ParserUtility
19
19
 
20
20
  EM_OPEN = '((*'
@@ -47,6 +47,11 @@ RUBY_OPEN_RE = /\A#{Regexp.quote(RUBY_OPEN)}/
47
47
  RUBY_CLOSE = '^))'
48
48
  RUBY_CLOSE_RE = /\A#{Regexp.quote(RUBY_CLOSE)}/
49
49
 
50
+ VARIABLE_OPEN = '((@'
51
+ VARIABLE_OPEN_RE = /\A#{Regexp.quote(VARIABLE_OPEN)}/
52
+ VARIABLE_CLOSE = '@))'
53
+ VARIABLE_CLOSE_RE = /\A#{Regexp.quote(VARIABLE_CLOSE)}/
54
+
50
55
  FOOTNOTE_OPEN = '((['
51
56
  FOOTNOTE_OPEN_RE = /\A#{Regexp.quote(FOOTNOTE_OPEN)}/
52
57
  FOOTNOTE_CLOSE = ']))'
@@ -93,7 +98,7 @@ MANUEDO_CLOSE_RE = /\A#{Regexp.quote(MANUEDO_CLOSE)}/
93
98
  #other_re_mode = Regexp::EXTENDED
94
99
  other_re_mode = Regexp::MULTILINE
95
100
  OTHER_RE = Regexp.new(
96
- "\\A.+?(?=#{Regexp.quote(EM_OPEN)}|#{Regexp.quote(EM_CLOSE)}|#{Regexp.quote(ITALIC_OPEN)}|#{Regexp.quote(ITALIC_CLOSE)}|#{Regexp.quote(STRIKE_OPEN)}|#{Regexp.quote(STRIKE_CLOSE)}|#{Regexp.quote(CODE_OPEN)}|#{Regexp.quote(CODE_CLOSE)}|#{Regexp.quote(KBD_OPEN)}|#{Regexp.quote(KBD_CLOSE)}|#{Regexp.quote(FOOTNOTE_OPEN)}|#{Regexp.quote(FOOTNOTE_CLOSE)}|#{Regexp.quote(RUBY_OPEN)}|#{Regexp.quote(RUBY_CLOSE)}|#{Regexp.quote(IMAGE_OPEN)}|#{Regexp.quote(IMAGE_CLOSE)}|#{Regexp.quote(LABEL_OPEN)}|#{Regexp.quote(LABEL_CLOSE)}|#{Regexp.quote(LABEL_HTML_OPEN)}|#{Regexp.quote(LABEL_HTML_CLOSE)}|#{Regexp.quote(REFERENCE_OPEN)}|#{Regexp.quote(REFERENCE_CLOSE)}|#{Regexp.quote(REFERENCE_HTML_OPEN)}|#{Regexp.quote(REFERENCE_HTML_CLOSE)}|#{Regexp.quote(MANUEDO_OPEN)}|#{Regexp.quote(MANUEDO_CLOSE)}|#{Regexp.quote(VERB_OPEN)}|#{Regexp.quote(VERB_CLOSE)})", other_re_mode)
101
+ "\\A.+?(?=#{Regexp.quote(EM_OPEN)}|#{Regexp.quote(EM_CLOSE)}|#{Regexp.quote(ITALIC_OPEN)}|#{Regexp.quote(ITALIC_CLOSE)}|#{Regexp.quote(STRIKE_OPEN)}|#{Regexp.quote(STRIKE_CLOSE)}|#{Regexp.quote(CODE_OPEN)}|#{Regexp.quote(CODE_CLOSE)}|#{Regexp.quote(KBD_OPEN)}|#{Regexp.quote(KBD_CLOSE)}|#{Regexp.quote(FOOTNOTE_OPEN)}|#{Regexp.quote(FOOTNOTE_CLOSE)}|#{Regexp.quote(RUBY_OPEN)}|#{Regexp.quote(RUBY_CLOSE)}|#{Regexp.quote(VARIABLE_OPEN)}|#{Regexp.quote(VARIABLE_CLOSE)}|#{Regexp.quote(IMAGE_OPEN)}|#{Regexp.quote(IMAGE_CLOSE)}|#{Regexp.quote(LABEL_OPEN)}|#{Regexp.quote(LABEL_CLOSE)}|#{Regexp.quote(LABEL_HTML_OPEN)}|#{Regexp.quote(LABEL_HTML_CLOSE)}|#{Regexp.quote(REFERENCE_OPEN)}|#{Regexp.quote(REFERENCE_CLOSE)}|#{Regexp.quote(REFERENCE_HTML_OPEN)}|#{Regexp.quote(REFERENCE_HTML_CLOSE)}|#{Regexp.quote(MANUEDO_OPEN)}|#{Regexp.quote(MANUEDO_CLOSE)}|#{Regexp.quote(VERB_OPEN)}|#{Regexp.quote(VERB_CLOSE)})", other_re_mode)
97
102
 
98
103
  def parse(src)
99
104
  @src = StringScanner.new(Array(src).join)
@@ -197,6 +202,14 @@ def next_token
197
202
  puts "i: RUBY_CLOSE: #{ret}" if @view_token_type
198
203
  @pre << ret
199
204
  [:RUBY_CLOSE, ret]
205
+ elsif ret = @src.scan(VARIABLE_OPEN_RE)
206
+ puts "i: VARIABLE_OPEN: #{ret}" if @view_token_type
207
+ @pre << ret
208
+ [:VARIABLE_OPEN, ret]
209
+ elsif ret = @src.scan(VARIABLE_CLOSE_RE)
210
+ puts "i: VARIABLE_CLOSE: #{ret}" if @view_token_type
211
+ @pre << ret
212
+ [:VARIABLE_CLOSE, ret]
200
213
  elsif ret = @src.scan(FOOTNOTE_OPEN_RE)
201
214
  puts "i: FOOTNOTE_OPEN: #{ret}" if @view_token_type
202
215
  @pre << ret
@@ -238,263 +251,327 @@ end
238
251
  ##### State transition tables begin ###
239
252
 
240
253
  racc_action_table = [
241
- 17, 131, 18, 127, 19, 128, 20, 129, 21, 130,
242
- 26, 126, 27, 30, 28, 31, 22, 136, 24, 93,
243
- 23, 125, 25, 96, 30, 67, 68, 69, 70, 71,
244
- 72, 73, 74, 75, 76, 83, 84, 81, 82, 88,
245
- 89, 86, 87, 85, 135, 77, 78, 79, 80, 66,
246
- 17, nil, 18, nil, 19, nil, 20, nil, 21, nil,
247
- 26, nil, 27, nil, 28, nil, 22, nil, 24, nil,
248
- 23, nil, 25, nil, 30, 41, 42, 43, 44, 45,
249
- 46, 47, 48, 49, 50, 57, 58, 55, 56, 61,
250
- 62, 59, 60, 51, 52, 63, 133, 53, 54, 40,
251
- 17, 17, 18, 18, 19, 19, 20, 20, 21, 21,
252
- 26, 26, 27, 27, 28, 28, 22, 22, 24, 24,
253
- 23, 23, 25, 25, 30, 30, 17, 17, 18, 18,
254
- 19, 19, 20, 20, 21, 21, 26, 26, 27, 27,
255
- 28, 28, 22, 22, 24, 24, 23, 23, 25, 25,
256
- 30, 30, 17, 17, 18, 18, 19, 19, 20, 20,
257
- 21, 21, 26, 26, 27, 27, 28, 28, 22, 22,
258
- 24, 24, 23, 23, 25, 25, 30, 30, 41, 42,
259
- 43, 44, 45, 46, 47, 48, 49, 50, 57, 58,
260
- 55, 56, 61, 62, 59, 60, 51, 52, 63, nil,
261
- 53, 54, 40, 67, 68, 69, 70, 71, 72, 73,
262
- 74, 75, 76, 83, 84, 81, 82, 88, 89, 86,
263
- 87, 85, 138, 77, 78, 79, 80, 66, 17, nil,
264
- 18, nil, 19, nil, 20, 93, 21, nil, 26, nil,
265
- 27, nil, 28, nil, 22, nil, 24, nil, 23, nil,
266
- 25, nil, 30, 100, 101, 102, 103, 104, 105, 106,
267
- 107, 108, 109, 116, 117, 114, 115, 122, nil, 120,
268
- 121, 118, 119, 110, 111, 112, 113, 99, 100, 101,
269
- 102, 103, 104, 105, 106, 107, 108, 109, 116, 117,
270
- 114, 115, 122, 142, 120, 121, 118, 119, 110, 111,
271
- 112, 113, 99, 140, nil, nil, nil, nil, nil, nil,
272
- nil, nil, nil, nil, 96 ]
254
+ 18, 125, 19, 162, 20, 163, 21, 164, 22, 165,
255
+ 28, 161, 29, 32, 30, 33, 23, 172, 25, 159,
256
+ 26, 160, 24, 128, 27, nil, 32, 97, 98, 99,
257
+ 100, 101, 102, 103, 104, 105, 106, 113, 114, 111,
258
+ 112, 120, 121, 118, 119, 115, 116, 117, 171, 107,
259
+ 108, 109, 110, 96, 18, nil, 19, nil, 20, nil,
260
+ 21, nil, 22, nil, 28, nil, 29, nil, 30, nil,
261
+ 23, nil, 25, nil, 26, nil, 24, nil, 27, nil,
262
+ 32, 71, 72, 73, 74, 75, 76, 77, 78, 79,
263
+ 80, 87, 88, 85, 86, 92, 93, 90, 91, 89,
264
+ 169, nil, nil, 81, 82, 83, 84, 70, 18, 18,
265
+ 19, 19, 20, 20, 21, 21, 22, 22, 28, 28,
266
+ 29, 29, 30, 30, 23, 23, 25, 25, 26, 26,
267
+ 24, 24, 27, 27, 32, 32, 18, 18, 19, 19,
268
+ 20, 20, 21, 21, 22, 22, 28, 28, 29, 29,
269
+ 30, 30, 23, 23, 25, 25, 26, 26, 24, 24,
270
+ 27, 27, 32, 32, 18, 18, 19, 19, 20, 20,
271
+ 21, 21, 22, 22, 28, 28, 29, 29, 30, 30,
272
+ 23, 23, 25, 25, 26, 26, 24, 24, 27, 27,
273
+ 32, 32, 43, 44, 45, 46, 47, 48, 49, 50,
274
+ 51, 52, 61, 62, 59, 60, 65, 66, 63, 64,
275
+ 53, 54, 55, 56, 67, nil, 57, 58, 42, 71,
276
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 87,
277
+ 88, 85, 86, 92, 93, 90, 91, 89, nil, nil,
278
+ nil, 81, 82, 83, 84, 70, 97, 98, 99, 100,
279
+ 101, 102, 103, 104, 105, 106, 113, 114, 111, 112,
280
+ 120, 121, 118, 119, 115, 116, 117, 174, 107, 108,
281
+ 109, 110, 96, 18, nil, 19, nil, 20, nil, 21,
282
+ nil, 22, 125, 28, nil, 29, nil, 30, nil, 23,
283
+ nil, 25, nil, 26, nil, 24, nil, 27, nil, 32,
284
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
285
+ 61, 62, 59, 60, 65, 66, 63, 64, 53, 54,
286
+ 55, 56, 67, 167, 57, 58, 42, 132, 133, 134,
287
+ 135, 136, 137, 138, 139, 140, 141, 148, 149, 146,
288
+ 147, 156, nil, 154, 155, 150, 151, 152, 153, 142,
289
+ 143, 144, 145, 131, 132, 133, 134, 135, 136, 137,
290
+ 138, 139, 140, 141, 148, 149, 146, 147, 156, 178,
291
+ 154, 155, 150, 151, 152, 153, 142, 143, 144, 145,
292
+ 131, 176, nil, nil, nil, nil, nil, nil, nil, nil,
293
+ nil, nil, nil, nil, 128 ]
273
294
 
274
295
  racc_action_check = [
275
- 0, 39, 0, 35, 0, 36, 0, 37, 0, 38,
276
- 0, 34, 0, 16, 0, 1, 0, 92, 0, 26,
277
- 0, 31, 0, 27, 0, 90, 90, 90, 90, 90,
278
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
279
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
296
+ 0, 28, 0, 38, 0, 39, 0, 40, 0, 41,
297
+ 0, 37, 0, 17, 0, 1, 0, 124, 0, 33,
298
+ 0, 36, 0, 29, 0, nil, 0, 122, 122, 122,
299
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
300
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
301
+ 122, 122, 122, 122, 2, nil, 2, nil, 2, nil,
280
302
  2, nil, 2, nil, 2, nil, 2, nil, 2, nil,
281
303
  2, nil, 2, nil, 2, nil, 2, nil, 2, nil,
282
- 2, nil, 2, nil, 2, 64, 64, 64, 64, 64,
283
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
284
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
285
- 17, 18, 17, 18, 17, 18, 17, 18, 17, 18,
286
- 17, 18, 17, 18, 17, 18, 17, 18, 17, 18,
287
- 17, 18, 17, 18, 17, 18, 19, 20, 19, 20,
288
- 19, 20, 19, 20, 19, 20, 19, 20, 19, 20,
289
- 19, 20, 19, 20, 19, 20, 19, 20, 19, 20,
290
- 19, 20, 21, 22, 21, 22, 21, 22, 21, 22,
291
- 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
292
- 21, 22, 21, 22, 21, 22, 21, 22, 23, 23,
293
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
294
- 23, 23, 23, 23, 23, 23, 23, 23, 23, nil,
295
- 23, 23, 23, 24, 24, 24, 24, 24, 24, 24,
304
+ 2, 94, 94, 94, 94, 94, 94, 94, 94, 94,
305
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
306
+ 94, nil, nil, 94, 94, 94, 94, 94, 18, 19,
307
+ 18, 19, 18, 19, 18, 19, 18, 19, 18, 19,
308
+ 18, 19, 18, 19, 18, 19, 18, 19, 18, 19,
309
+ 18, 19, 18, 19, 18, 19, 20, 21, 20, 21,
310
+ 20, 21, 20, 21, 20, 21, 20, 21, 20, 21,
311
+ 20, 21, 20, 21, 20, 21, 20, 21, 20, 21,
312
+ 20, 21, 20, 21, 22, 23, 22, 23, 22, 23,
313
+ 22, 23, 22, 23, 22, 23, 22, 23, 22, 23,
314
+ 22, 23, 22, 23, 22, 23, 22, 23, 22, 23,
315
+ 22, 23, 24, 24, 24, 24, 24, 24, 24, 24,
296
316
  24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
297
- 24, 24, 94, 24, 24, 24, 24, 24, 25, nil,
298
- 25, nil, 25, nil, 25, 94, 25, nil, 25, nil,
299
- 25, nil, 25, nil, 25, nil, 25, nil, 25, nil,
300
- 25, nil, 25, 28, 28, 28, 28, 28, 28, 28,
301
- 28, 28, 28, 28, 28, 28, 28, 28, nil, 28,
302
- 28, 28, 28, 28, 28, 28, 28, 28, 124, 124,
303
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
304
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
305
- 124, 124, 124, 97, nil, nil, nil, nil, nil, nil,
306
- nil, nil, nil, nil, 97 ]
317
+ 24, 24, 24, 24, 24, nil, 24, 24, 24, 25,
318
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
319
+ 25, 25, 25, 25, 25, 25, 25, 25, nil, nil,
320
+ nil, 25, 25, 25, 25, 25, 26, 26, 26, 26,
321
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
322
+ 26, 26, 26, 26, 26, 26, 26, 126, 26, 26,
323
+ 26, 26, 26, 27, nil, 27, nil, 27, nil, 27,
324
+ nil, 27, 126, 27, nil, 27, nil, 27, nil, 27,
325
+ nil, 27, nil, 27, nil, 27, nil, 27, nil, 27,
326
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
327
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
328
+ 68, 68, 68, 68, 68, 68, 68, 30, 30, 30,
329
+ 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
330
+ 30, 30, nil, 30, 30, 30, 30, 30, 30, 30,
331
+ 30, 30, 30, 30, 158, 158, 158, 158, 158, 158,
332
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
333
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
334
+ 158, 129, nil, nil, nil, nil, nil, nil, nil, nil,
335
+ nil, nil, nil, nil, 129 ]
307
336
 
308
337
  racc_action_pointer = [
309
- -2, 15, 48, nil, nil, nil, nil, nil, nil, nil,
310
- nil, nil, nil, nil, nil, nil, -13, 98, 99, 124,
311
- 125, 150, 151, 176, 201, 226, -7, -3, 251, nil,
312
- nil, 21, nil, nil, 8, -2, -2, -2, -2, -18,
338
+ -2, 15, 52, nil, nil, nil, nil, nil, nil, nil,
339
+ nil, nil, nil, nil, nil, nil, nil, -15, 106, 107,
340
+ 134, 135, 162, 163, 190, 217, 244, 271, -27, -5,
341
+ 325, nil, nil, 19, nil, nil, 18, 6, -4, -4,
342
+ -4, -10, nil, nil, nil, nil, nil, nil, nil, nil,
313
343
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
344
+ nil, nil, nil, nil, nil, nil, nil, nil, 298, nil,
314
345
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
315
- nil, nil, nil, nil, 73, nil, nil, nil, nil, nil,
316
346
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
347
+ nil, nil, nil, nil, 79, nil, nil, nil, nil, nil,
317
348
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
318
- 23, nil, -8, nil, 209, nil, nil, 288, nil, nil,
319
349
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
350
+ nil, nil, 25, nil, -10, nil, 254, nil, nil, 366,
320
351
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
321
- nil, nil, nil, nil, 276, nil, nil, nil, nil, nil,
322
352
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
323
- nil, nil, nil ]
353
+ nil, nil, nil, nil, nil, nil, nil, nil, 352, nil,
354
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
355
+ nil, nil, nil, nil, nil, nil, nil, nil, nil ]
324
356
 
325
357
  racc_action_default = [
326
- -1, -117, -2, -4, -5, -6, -7, -8, -9, -10,
327
- -11, -12, -13, -14, -15, -16, -17, -1, -1, -1,
328
- -1, -1, -1, -117, -117, -1, -117, -117, -117, -114,
329
- -116, -117, -3, -115, -117, -117, -117, -117, -117, -117,
330
- -24, -25, -26, -27, -28, -29, -30, -31, -32, -33,
331
- -34, -35, -36, -37, -38, -39, -40, -41, -42, -43,
332
- -44, -45, -46, -47, -117, -49, -51, -52, -53, -54,
333
- -55, -56, -57, -58, -59, -60, -61, -62, -63, -64,
334
- -65, -66, -67, -68, -69, -70, -71, -72, -73, -74,
335
- -117, -76, -117, -79, -117, -81, -83, -117, -85, -87,
336
- -88, -89, -90, -91, -92, -93, -94, -95, -96, -97,
337
- -98, -99, -100, -101, -102, -103, -104, -105, -106, -107,
338
- -108, -109, -110, -111, -117, 143, -18, -19, -20, -21,
339
- -22, -23, -48, -50, -75, -77, -78, -80, -82, -84,
340
- -86, -112, -113 ]
358
+ -1, -151, -2, -4, -5, -6, -7, -8, -9, -10,
359
+ -11, -12, -13, -14, -15, -16, -17, -18, -1, -1,
360
+ -1, -1, -1, -1, -151, -151, -151, -1, -151, -151,
361
+ -151, -148, -150, -151, -3, -149, -151, -151, -151, -151,
362
+ -151, -151, -25, -26, -27, -28, -29, -30, -31, -32,
363
+ -33, -34, -35, -36, -37, -38, -39, -40, -41, -42,
364
+ -43, -44, -45, -46, -47, -48, -49, -50, -151, -52,
365
+ -54, -55, -56, -57, -58, -59, -60, -61, -62, -63,
366
+ -64, -65, -66, -67, -68, -69, -70, -71, -72, -73,
367
+ -74, -75, -76, -77, -151, -79, -81, -82, -83, -84,
368
+ -85, -86, -87, -88, -89, -90, -91, -92, -93, -94,
369
+ -95, -96, -97, -98, -99, -100, -101, -102, -103, -104,
370
+ -105, -106, -151, -108, -151, -111, -151, -113, -115, -151,
371
+ -117, -119, -120, -121, -122, -123, -124, -125, -126, -127,
372
+ -128, -129, -130, -131, -132, -133, -134, -135, -136, -137,
373
+ -138, -139, -140, -141, -142, -143, -144, -145, -151, 179,
374
+ -19, -20, -21, -22, -23, -24, -51, -53, -78, -80,
375
+ -107, -109, -110, -112, -114, -116, -118, -146, -147 ]
341
376
 
342
377
  racc_goto_table = [
343
- 123, 98, 95, 91, 65, 1, 90, 94, 64, 97,
344
- 32, 124, 33, nil, nil, nil, nil, nil, nil, nil,
345
- nil, nil, 34, 35, 36, 37, 38, 39, nil, nil,
346
- 92, nil, nil, nil, nil, nil, nil, nil, nil, nil,
347
- nil, nil, nil, nil, nil, 132, nil, nil, nil, nil,
378
+ 157, 130, 127, 123, 95, 69, 1, 122, 94, 126,
379
+ 68, 129, 34, 158, 35, nil, nil, nil, nil, nil,
380
+ nil, nil, nil, nil, 36, 37, 38, 39, 40, 41,
381
+ nil, nil, nil, 124, nil, nil, nil, nil, nil, nil,
382
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 166,
383
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
348
384
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
349
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 134,
350
- 137, 139, nil, nil, nil, nil, nil, nil, nil, nil,
385
+ nil, nil, nil, 168, nil, nil, nil, nil, nil, nil,
351
386
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
352
- nil, nil, nil, nil, nil, nil, 141 ]
387
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 170,
388
+ 173, 175, nil, nil, nil, nil, nil, nil, nil, nil,
389
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
390
+ nil, nil, nil, nil, nil, nil, nil, nil, 177 ]
353
391
 
354
392
  racc_goto_check = [
355
- 25, 23, 21, 19, 17, 1, 20, 22, 18, 24,
356
- 3, 26, 27, nil, nil, nil, nil, nil, nil, nil,
357
- nil, nil, 1, 1, 1, 1, 1, 1, nil, nil,
358
- 1, nil, nil, nil, nil, nil, nil, nil, nil, nil,
359
- nil, nil, nil, nil, nil, 17, nil, nil, nil, nil,
393
+ 28, 26, 24, 22, 20, 18, 1, 23, 21, 25,
394
+ 19, 27, 3, 29, 30, nil, nil, nil, nil, nil,
395
+ nil, nil, nil, nil, 1, 1, 1, 1, 1, 1,
396
+ nil, nil, nil, 1, nil, nil, nil, nil, nil, nil,
397
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 18,
398
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
399
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
400
+ nil, nil, nil, 20, nil, nil, nil, nil, nil, nil,
360
401
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
361
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 19,
362
- 21, 23, nil, nil, nil, nil, nil, nil, nil, nil,
402
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 22,
403
+ 24, 26, nil, nil, nil, nil, nil, nil, nil, nil,
363
404
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
364
- nil, nil, nil, nil, nil, nil, 25 ]
405
+ nil, nil, nil, nil, nil, nil, nil, nil, 28 ]
365
406
 
366
407
  racc_goto_pointer = [
367
- nil, 5, nil, 8, nil, nil, nil, nil, nil, nil,
368
- nil, nil, nil, nil, nil, nil, nil, -19, -15, -21,
369
- -18, -24, -19, -26, -18, -28, -17, -4 ]
408
+ nil, 6, nil, 10, nil, nil, nil, nil, nil, nil,
409
+ nil, nil, nil, nil, nil, nil, nil, nil, -19, -14,
410
+ -21, -17, -23, -19, -26, -19, -28, -18, -30, -17,
411
+ -3 ]
370
412
 
371
413
  racc_goto_default = [
372
414
  nil, nil, 2, 3, 4, 5, 6, 7, 8, 9,
373
- 10, 11, 12, 13, 14, 15, 16, nil, nil, nil,
374
- nil, nil, nil, nil, nil, nil, nil, 29 ]
415
+ 10, 11, 12, 13, 14, 15, 16, 17, nil, nil,
416
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
417
+ 31 ]
375
418
 
376
419
  racc_reduce_table = [
377
420
  0, 0, :racc_error,
378
- 0, 28, :_reduce_none,
379
- 1, 28, :_reduce_none,
380
- 2, 29, :_reduce_3,
381
- 1, 29, :_reduce_4,
382
- 1, 30, :_reduce_none,
383
- 1, 30, :_reduce_none,
384
- 1, 30, :_reduce_none,
385
- 1, 30, :_reduce_none,
386
- 1, 30, :_reduce_none,
387
- 1, 30, :_reduce_none,
388
- 1, 30, :_reduce_none,
389
- 1, 30, :_reduce_none,
390
- 1, 30, :_reduce_none,
391
- 1, 30, :_reduce_none,
421
+ 0, 30, :_reduce_none,
392
422
  1, 30, :_reduce_none,
393
- 1, 30, :_reduce_none,
394
- 1, 30, :_reduce_none,
395
- 3, 31, :_reduce_18,
396
- 3, 32, :_reduce_19,
397
- 3, 33, :_reduce_20,
398
- 3, 34, :_reduce_21,
399
- 3, 35, :_reduce_22,
400
- 3, 39, :_reduce_23,
401
- 1, 44, :_reduce_none,
402
- 1, 44, :_reduce_none,
403
- 1, 44, :_reduce_none,
404
- 1, 44, :_reduce_none,
405
- 1, 44, :_reduce_none,
406
- 1, 44, :_reduce_none,
407
- 1, 44, :_reduce_none,
408
- 1, 44, :_reduce_none,
409
- 1, 44, :_reduce_none,
410
- 1, 44, :_reduce_none,
411
- 1, 44, :_reduce_none,
412
- 1, 44, :_reduce_none,
413
- 1, 44, :_reduce_none,
414
- 1, 44, :_reduce_none,
415
- 1, 44, :_reduce_none,
416
- 1, 44, :_reduce_none,
417
- 1, 44, :_reduce_none,
418
- 1, 44, :_reduce_none,
419
- 1, 44, :_reduce_none,
420
- 1, 44, :_reduce_none,
421
- 1, 44, :_reduce_none,
422
- 1, 44, :_reduce_none,
423
- 1, 44, :_reduce_none,
424
- 1, 44, :_reduce_none,
425
- 2, 45, :_reduce_48,
426
- 1, 45, :_reduce_49,
427
- 3, 40, :_reduce_50,
428
- 1, 46, :_reduce_none,
429
- 1, 46, :_reduce_none,
430
- 1, 46, :_reduce_none,
431
- 1, 46, :_reduce_none,
432
- 1, 46, :_reduce_none,
433
- 1, 46, :_reduce_none,
434
- 1, 46, :_reduce_none,
435
- 1, 46, :_reduce_none,
436
- 1, 46, :_reduce_none,
437
- 1, 46, :_reduce_none,
438
- 1, 46, :_reduce_none,
439
- 1, 46, :_reduce_none,
440
- 1, 46, :_reduce_none,
441
- 1, 46, :_reduce_none,
442
- 1, 46, :_reduce_none,
443
- 1, 46, :_reduce_none,
444
- 1, 46, :_reduce_none,
445
- 1, 46, :_reduce_none,
446
- 1, 46, :_reduce_none,
447
- 1, 46, :_reduce_none,
448
- 1, 46, :_reduce_none,
449
- 1, 46, :_reduce_none,
450
- 1, 46, :_reduce_none,
451
- 1, 46, :_reduce_none,
452
- 2, 47, :_reduce_75,
453
- 1, 47, :_reduce_76,
454
- 3, 38, :_reduce_77,
455
- 3, 42, :_reduce_78,
456
- 1, 48, :_reduce_79,
457
- 2, 49, :_reduce_80,
458
- 1, 49, :_reduce_81,
459
- 3, 36, :_reduce_82,
460
- 1, 50, :_reduce_83,
461
- 2, 51, :_reduce_84,
462
- 1, 51, :_reduce_85,
463
- 3, 37, :_reduce_86,
464
- 1, 52, :_reduce_none,
465
- 1, 52, :_reduce_none,
466
- 1, 52, :_reduce_none,
467
- 1, 52, :_reduce_none,
468
- 1, 52, :_reduce_none,
469
- 1, 52, :_reduce_none,
470
- 1, 52, :_reduce_none,
471
- 1, 52, :_reduce_none,
472
- 1, 52, :_reduce_none,
473
- 1, 52, :_reduce_none,
474
- 1, 52, :_reduce_none,
475
- 1, 52, :_reduce_none,
476
- 1, 52, :_reduce_none,
477
- 1, 52, :_reduce_none,
478
- 1, 52, :_reduce_none,
479
- 1, 52, :_reduce_none,
480
- 1, 52, :_reduce_none,
481
- 1, 52, :_reduce_none,
482
- 1, 52, :_reduce_none,
483
- 1, 52, :_reduce_none,
484
- 1, 52, :_reduce_none,
485
- 1, 52, :_reduce_none,
486
- 1, 52, :_reduce_none,
487
- 1, 52, :_reduce_none,
488
- 1, 53, :_reduce_none,
489
- 2, 53, :_reduce_112,
490
- 3, 41, :_reduce_113,
491
- 1, 43, :_reduce_114,
492
- 2, 43, :_reduce_115,
493
- 1, 54, :_reduce_116 ]
494
-
495
- racc_reduce_n = 117
496
-
497
- racc_shift_n = 143
423
+ 2, 31, :_reduce_3,
424
+ 1, 31, :_reduce_4,
425
+ 1, 32, :_reduce_none,
426
+ 1, 32, :_reduce_none,
427
+ 1, 32, :_reduce_none,
428
+ 1, 32, :_reduce_none,
429
+ 1, 32, :_reduce_none,
430
+ 1, 32, :_reduce_none,
431
+ 1, 32, :_reduce_none,
432
+ 1, 32, :_reduce_none,
433
+ 1, 32, :_reduce_none,
434
+ 1, 32, :_reduce_none,
435
+ 1, 32, :_reduce_none,
436
+ 1, 32, :_reduce_none,
437
+ 1, 32, :_reduce_none,
438
+ 1, 32, :_reduce_none,
439
+ 3, 33, :_reduce_19,
440
+ 3, 34, :_reduce_20,
441
+ 3, 35, :_reduce_21,
442
+ 3, 36, :_reduce_22,
443
+ 3, 37, :_reduce_23,
444
+ 3, 42, :_reduce_24,
445
+ 1, 47, :_reduce_none,
446
+ 1, 47, :_reduce_none,
447
+ 1, 47, :_reduce_none,
448
+ 1, 47, :_reduce_none,
449
+ 1, 47, :_reduce_none,
450
+ 1, 47, :_reduce_none,
451
+ 1, 47, :_reduce_none,
452
+ 1, 47, :_reduce_none,
453
+ 1, 47, :_reduce_none,
454
+ 1, 47, :_reduce_none,
455
+ 1, 47, :_reduce_none,
456
+ 1, 47, :_reduce_none,
457
+ 1, 47, :_reduce_none,
458
+ 1, 47, :_reduce_none,
459
+ 1, 47, :_reduce_none,
460
+ 1, 47, :_reduce_none,
461
+ 1, 47, :_reduce_none,
462
+ 1, 47, :_reduce_none,
463
+ 1, 47, :_reduce_none,
464
+ 1, 47, :_reduce_none,
465
+ 1, 47, :_reduce_none,
466
+ 1, 47, :_reduce_none,
467
+ 1, 47, :_reduce_none,
468
+ 1, 47, :_reduce_none,
469
+ 1, 47, :_reduce_none,
470
+ 1, 47, :_reduce_none,
471
+ 2, 48, :_reduce_51,
472
+ 1, 48, :_reduce_52,
473
+ 3, 43, :_reduce_53,
474
+ 1, 49, :_reduce_none,
475
+ 1, 49, :_reduce_none,
476
+ 1, 49, :_reduce_none,
477
+ 1, 49, :_reduce_none,
478
+ 1, 49, :_reduce_none,
479
+ 1, 49, :_reduce_none,
480
+ 1, 49, :_reduce_none,
481
+ 1, 49, :_reduce_none,
482
+ 1, 49, :_reduce_none,
483
+ 1, 49, :_reduce_none,
484
+ 1, 49, :_reduce_none,
485
+ 1, 49, :_reduce_none,
486
+ 1, 49, :_reduce_none,
487
+ 1, 49, :_reduce_none,
488
+ 1, 49, :_reduce_none,
489
+ 1, 49, :_reduce_none,
490
+ 1, 49, :_reduce_none,
491
+ 1, 49, :_reduce_none,
492
+ 1, 49, :_reduce_none,
493
+ 1, 49, :_reduce_none,
494
+ 1, 49, :_reduce_none,
495
+ 1, 49, :_reduce_none,
496
+ 1, 49, :_reduce_none,
497
+ 1, 49, :_reduce_none,
498
+ 2, 50, :_reduce_78,
499
+ 1, 50, :_reduce_79,
500
+ 3, 40, :_reduce_80,
501
+ 1, 51, :_reduce_none,
502
+ 1, 51, :_reduce_none,
503
+ 1, 51, :_reduce_none,
504
+ 1, 51, :_reduce_none,
505
+ 1, 51, :_reduce_none,
506
+ 1, 51, :_reduce_none,
507
+ 1, 51, :_reduce_none,
508
+ 1, 51, :_reduce_none,
509
+ 1, 51, :_reduce_none,
510
+ 1, 51, :_reduce_none,
511
+ 1, 51, :_reduce_none,
512
+ 1, 51, :_reduce_none,
513
+ 1, 51, :_reduce_none,
514
+ 1, 51, :_reduce_none,
515
+ 1, 51, :_reduce_none,
516
+ 1, 51, :_reduce_none,
517
+ 1, 51, :_reduce_none,
518
+ 1, 51, :_reduce_none,
519
+ 1, 51, :_reduce_none,
520
+ 1, 51, :_reduce_none,
521
+ 1, 51, :_reduce_none,
522
+ 1, 51, :_reduce_none,
523
+ 1, 51, :_reduce_none,
524
+ 1, 51, :_reduce_none,
525
+ 1, 51, :_reduce_none,
526
+ 1, 51, :_reduce_none,
527
+ 2, 52, :_reduce_107,
528
+ 1, 52, :_reduce_108,
529
+ 3, 41, :_reduce_109,
530
+ 3, 45, :_reduce_110,
531
+ 1, 53, :_reduce_111,
532
+ 2, 54, :_reduce_112,
533
+ 1, 54, :_reduce_113,
534
+ 3, 38, :_reduce_114,
535
+ 1, 55, :_reduce_115,
536
+ 2, 56, :_reduce_116,
537
+ 1, 56, :_reduce_117,
538
+ 3, 39, :_reduce_118,
539
+ 1, 57, :_reduce_none,
540
+ 1, 57, :_reduce_none,
541
+ 1, 57, :_reduce_none,
542
+ 1, 57, :_reduce_none,
543
+ 1, 57, :_reduce_none,
544
+ 1, 57, :_reduce_none,
545
+ 1, 57, :_reduce_none,
546
+ 1, 57, :_reduce_none,
547
+ 1, 57, :_reduce_none,
548
+ 1, 57, :_reduce_none,
549
+ 1, 57, :_reduce_none,
550
+ 1, 57, :_reduce_none,
551
+ 1, 57, :_reduce_none,
552
+ 1, 57, :_reduce_none,
553
+ 1, 57, :_reduce_none,
554
+ 1, 57, :_reduce_none,
555
+ 1, 57, :_reduce_none,
556
+ 1, 57, :_reduce_none,
557
+ 1, 57, :_reduce_none,
558
+ 1, 57, :_reduce_none,
559
+ 1, 57, :_reduce_none,
560
+ 1, 57, :_reduce_none,
561
+ 1, 57, :_reduce_none,
562
+ 1, 57, :_reduce_none,
563
+ 1, 57, :_reduce_none,
564
+ 1, 57, :_reduce_none,
565
+ 1, 58, :_reduce_none,
566
+ 2, 58, :_reduce_146,
567
+ 3, 44, :_reduce_147,
568
+ 1, 46, :_reduce_148,
569
+ 2, 46, :_reduce_149,
570
+ 1, 59, :_reduce_150 ]
571
+
572
+ racc_reduce_n = 151
573
+
574
+ racc_shift_n = 179
498
575
 
499
576
  racc_token_table = {
500
577
  false => 0,
@@ -519,13 +596,15 @@ racc_token_table = {
519
596
  :FOOTNOTE_CLOSE => 19,
520
597
  :RUBY_OPEN => 20,
521
598
  :RUBY_CLOSE => 21,
522
- :IMAGE_OPEN => 22,
523
- :IMAGE_CLOSE => 23,
524
- :MANUEDO_OPEN => 24,
525
- :MANUEDO_CLOSE => 25,
526
- :OTHER => 26 }
599
+ :VARIABLE_OPEN => 22,
600
+ :VARIABLE_CLOSE => 23,
601
+ :IMAGE_OPEN => 24,
602
+ :IMAGE_CLOSE => 25,
603
+ :MANUEDO_OPEN => 26,
604
+ :MANUEDO_CLOSE => 27,
605
+ :OTHER => 28 }
527
606
 
528
- racc_nt_base = 27
607
+ racc_nt_base = 29
529
608
 
530
609
  racc_use_result_var = false
531
610
 
@@ -568,6 +647,8 @@ Racc_token_to_s_table = [
568
647
  "FOOTNOTE_CLOSE",
569
648
  "RUBY_OPEN",
570
649
  "RUBY_CLOSE",
650
+ "VARIABLE_OPEN",
651
+ "VARIABLE_CLOSE",
571
652
  "IMAGE_OPEN",
572
653
  "IMAGE_CLOSE",
573
654
  "MANUEDO_OPEN",
@@ -585,6 +666,7 @@ Racc_token_to_s_table = [
585
666
  "label",
586
667
  "reference",
587
668
  "ruby",
669
+ "variable",
588
670
  "footnote",
589
671
  "image",
590
672
  "verb",
@@ -594,6 +676,8 @@ Racc_token_to_s_table = [
594
676
  "image_strings",
595
677
  "ruby_string",
596
678
  "ruby_strings",
679
+ "variable_string",
680
+ "variable_strings",
597
681
  "label_string",
598
682
  "label_strings",
599
683
  "reference_string",
@@ -650,38 +734,40 @@ module_eval(<<'.,.,', 'rafinlineparser.ry', 10)
650
734
 
651
735
  # reduce 17 omitted
652
736
 
653
- module_eval(<<'.,.,', 'rafinlineparser.ry', 27)
654
- def _reduce_18(val, _values)
655
- Emphasis.new(val[1])
656
- end
657
- .,.,
737
+ # reduce 18 omitted
658
738
 
659
739
  module_eval(<<'.,.,', 'rafinlineparser.ry', 28)
660
740
  def _reduce_19(val, _values)
661
- Italic.new(val[1])
741
+ Emphasis.new(val[1])
662
742
  end
663
743
  .,.,
664
744
 
665
745
  module_eval(<<'.,.,', 'rafinlineparser.ry', 29)
666
746
  def _reduce_20(val, _values)
667
- Strike.new(val[1])
747
+ Italic.new(val[1])
668
748
  end
669
749
  .,.,
670
750
 
671
751
  module_eval(<<'.,.,', 'rafinlineparser.ry', 30)
672
752
  def _reduce_21(val, _values)
673
- Code.new(val[1])
753
+ Strike.new(val[1])
674
754
  end
675
755
  .,.,
676
756
 
677
757
  module_eval(<<'.,.,', 'rafinlineparser.ry', 31)
678
758
  def _reduce_22(val, _values)
679
- Kbd.new(val[1])
759
+ Code.new(val[1])
680
760
  end
681
761
  .,.,
682
762
 
683
- module_eval(<<'.,.,', 'rafinlineparser.ry', 33)
763
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 32)
684
764
  def _reduce_23(val, _values)
765
+ Kbd.new(val[1])
766
+ end
767
+ .,.,
768
+
769
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 34)
770
+ def _reduce_24(val, _values)
685
771
  @index[:footnote] ||= []
686
772
  @index[:footnote] << {:content => val[1] }
687
773
  Footnote.new([val[1], @index[:footnote].size])
@@ -689,8 +775,6 @@ module_eval(<<'.,.,', 'rafinlineparser.ry', 33)
689
775
  end
690
776
  .,.,
691
777
 
692
- # reduce 24 omitted
693
-
694
778
  # reduce 25 omitted
695
779
 
696
780
  # reduce 26 omitted
@@ -737,30 +821,30 @@ module_eval(<<'.,.,', 'rafinlineparser.ry', 33)
737
821
 
738
822
  # reduce 47 omitted
739
823
 
740
- module_eval(<<'.,.,', 'rafinlineparser.ry', 66)
741
- def _reduce_48(val, _values)
824
+ # reduce 48 omitted
825
+
826
+ # reduce 49 omitted
827
+
828
+ # reduce 50 omitted
829
+
830
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 69)
831
+ def _reduce_51(val, _values)
742
832
  val.join
743
833
  end
744
834
  .,.,
745
835
 
746
- module_eval(<<'.,.,', 'rafinlineparser.ry', 67)
747
- def _reduce_49(val, _values)
836
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 70)
837
+ def _reduce_52(val, _values)
748
838
  val[0]
749
839
  end
750
840
  .,.,
751
841
 
752
- module_eval(<<'.,.,', 'rafinlineparser.ry', 68)
753
- def _reduce_50(val, _values)
842
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 71)
843
+ def _reduce_53(val, _values)
754
844
  Image.new(val[1])
755
845
  end
756
846
  .,.,
757
847
 
758
- # reduce 51 omitted
759
-
760
- # reduce 52 omitted
761
-
762
- # reduce 53 omitted
763
-
764
848
  # reduce 54 omitted
765
849
 
766
850
  # reduce 55 omitted
@@ -803,53 +887,146 @@ module_eval(<<'.,.,', 'rafinlineparser.ry', 68)
803
887
 
804
888
  # reduce 74 omitted
805
889
 
806
- module_eval(<<'.,.,', 'rafinlineparser.ry', 97)
807
- def _reduce_75(val, _values)
890
+ # reduce 75 omitted
891
+
892
+ # reduce 76 omitted
893
+
894
+ # reduce 77 omitted
895
+
896
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 100)
897
+ def _reduce_78(val, _values)
808
898
  val.join
809
899
  end
810
900
  .,.,
811
901
 
812
- module_eval(<<'.,.,', 'rafinlineparser.ry', 98)
813
- def _reduce_76(val, _values)
902
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 101)
903
+ def _reduce_79(val, _values)
814
904
  val[0]
815
905
  end
816
906
  .,.,
817
907
 
818
- module_eval(<<'.,.,', 'rafinlineparser.ry', 101)
819
- def _reduce_77(val, _values)
908
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 104)
909
+ def _reduce_80(val, _values)
820
910
  base, text = val[1].split("|",2)
821
911
  text ||= base
912
+ # parser = InlineParser.new
913
+ # text = parser.parse(text).map do |n| n.apply end
822
914
  Ruby.new([base, text])
823
915
 
824
916
  end
825
917
  .,.,
826
918
 
827
- module_eval(<<'.,.,', 'rafinlineparser.ry', 108)
828
- def _reduce_78(val, _values)
919
+ # reduce 81 omitted
920
+
921
+ # reduce 82 omitted
922
+
923
+ # reduce 83 omitted
924
+
925
+ # reduce 84 omitted
926
+
927
+ # reduce 85 omitted
928
+
929
+ # reduce 86 omitted
930
+
931
+ # reduce 87 omitted
932
+
933
+ # reduce 88 omitted
934
+
935
+ # reduce 89 omitted
936
+
937
+ # reduce 90 omitted
938
+
939
+ # reduce 91 omitted
940
+
941
+ # reduce 92 omitted
942
+
943
+ # reduce 93 omitted
944
+
945
+ # reduce 94 omitted
946
+
947
+ # reduce 95 omitted
948
+
949
+ # reduce 96 omitted
950
+
951
+ # reduce 97 omitted
952
+
953
+ # reduce 98 omitted
954
+
955
+ # reduce 99 omitted
956
+
957
+ # reduce 100 omitted
958
+
959
+ # reduce 101 omitted
960
+
961
+ # reduce 102 omitted
962
+
963
+ # reduce 103 omitted
964
+
965
+ # reduce 104 omitted
966
+
967
+ # reduce 105 omitted
968
+
969
+ # reduce 106 omitted
970
+
971
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 140)
972
+ def _reduce_107(val, _values)
973
+ val.join
974
+ end
975
+ .,.,
976
+
977
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 141)
978
+ def _reduce_108(val, _values)
979
+ val[0]
980
+ end
981
+ .,.,
982
+
983
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 144)
984
+ def _reduce_109(val, _values)
985
+ base, text = val[1].split("=",2)
986
+ unless text.nil?
987
+ @variables ||= {}
988
+ @variables[base] = text
989
+ Empty.new("")
990
+ else
991
+ value = @variables[base]
992
+ unless value.nil?
993
+ parser = InlineParser.new
994
+ value = parser.parse(value).map do |n| n.apply end
995
+ else # 変数が未定義
996
+ value = base
997
+ end
998
+ Variable.new(value)
999
+ end
1000
+
1001
+ end
1002
+ .,.,
1003
+
1004
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 162)
1005
+ def _reduce_110(val, _values)
829
1006
  Manuedo.new(val[1])
830
1007
  end
831
1008
  .,.,
832
1009
 
833
- module_eval(<<'.,.,', 'rafinlineparser.ry', 113)
834
- def _reduce_79(val, _values)
1010
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 167)
1011
+ def _reduce_111(val, _values)
835
1012
  val[0]
836
1013
  end
837
1014
  .,.,
838
1015
 
839
- module_eval(<<'.,.,', 'rafinlineparser.ry', 116)
840
- def _reduce_80(val, _values)
1016
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 170)
1017
+ def _reduce_112(val, _values)
841
1018
  val.join
842
1019
  end
843
1020
  .,.,
844
1021
 
845
- module_eval(<<'.,.,', 'rafinlineparser.ry', 117)
846
- def _reduce_81(val, _values)
1022
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 171)
1023
+ def _reduce_113(val, _values)
847
1024
  val[0]
848
1025
  end
849
1026
  .,.,
850
1027
 
851
- module_eval(<<'.,.,', 'rafinlineparser.ry', 120)
852
- def _reduce_82(val, _values)
1028
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 174)
1029
+ def _reduce_114(val, _values)
853
1030
  label, title = val[1].split("|",2)
854
1031
  title ||= label
855
1032
  @index[:label] ||= []
@@ -859,26 +1036,26 @@ module_eval(<<'.,.,', 'rafinlineparser.ry', 120)
859
1036
  end
860
1037
  .,.,
861
1038
 
862
- module_eval(<<'.,.,', 'rafinlineparser.ry', 129)
863
- def _reduce_83(val, _values)
1039
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 183)
1040
+ def _reduce_115(val, _values)
864
1041
  val[0]
865
1042
  end
866
1043
  .,.,
867
1044
 
868
- module_eval(<<'.,.,', 'rafinlineparser.ry', 131)
869
- def _reduce_84(val, _values)
1045
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 185)
1046
+ def _reduce_116(val, _values)
870
1047
  val.join
871
1048
  end
872
1049
  .,.,
873
1050
 
874
- module_eval(<<'.,.,', 'rafinlineparser.ry', 132)
875
- def _reduce_85(val, _values)
1051
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 186)
1052
+ def _reduce_117(val, _values)
876
1053
  val[0]
877
1054
  end
878
1055
  .,.,
879
1056
 
880
- module_eval(<<'.,.,', 'rafinlineparser.ry', 135)
881
- def _reduce_86(val, _values)
1057
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 189)
1058
+ def _reduce_118(val, _values)
882
1059
  title, uri = val[1].split("|",2)
883
1060
  uri ||= title
884
1061
  uri = "#" + uri.to_code if uri.gsub(/^\s*https*:\/\//,"") == uri
@@ -887,82 +1064,86 @@ module_eval(<<'.,.,', 'rafinlineparser.ry', 135)
887
1064
  end
888
1065
  .,.,
889
1066
 
890
- # reduce 87 omitted
1067
+ # reduce 119 omitted
891
1068
 
892
- # reduce 88 omitted
1069
+ # reduce 120 omitted
893
1070
 
894
- # reduce 89 omitted
1071
+ # reduce 121 omitted
895
1072
 
896
- # reduce 90 omitted
1073
+ # reduce 122 omitted
897
1074
 
898
- # reduce 91 omitted
1075
+ # reduce 123 omitted
899
1076
 
900
- # reduce 92 omitted
1077
+ # reduce 124 omitted
901
1078
 
902
- # reduce 93 omitted
1079
+ # reduce 125 omitted
903
1080
 
904
- # reduce 94 omitted
1081
+ # reduce 126 omitted
905
1082
 
906
- # reduce 95 omitted
1083
+ # reduce 127 omitted
907
1084
 
908
- # reduce 96 omitted
1085
+ # reduce 128 omitted
909
1086
 
910
- # reduce 97 omitted
1087
+ # reduce 129 omitted
911
1088
 
912
- # reduce 98 omitted
1089
+ # reduce 130 omitted
913
1090
 
914
- # reduce 99 omitted
1091
+ # reduce 131 omitted
915
1092
 
916
- # reduce 100 omitted
1093
+ # reduce 132 omitted
917
1094
 
918
- # reduce 101 omitted
1095
+ # reduce 133 omitted
919
1096
 
920
- # reduce 102 omitted
1097
+ # reduce 134 omitted
921
1098
 
922
- # reduce 103 omitted
1099
+ # reduce 135 omitted
923
1100
 
924
- # reduce 104 omitted
1101
+ # reduce 136 omitted
925
1102
 
926
- # reduce 105 omitted
1103
+ # reduce 137 omitted
927
1104
 
928
- # reduce 106 omitted
1105
+ # reduce 138 omitted
929
1106
 
930
- # reduce 107 omitted
1107
+ # reduce 139 omitted
931
1108
 
932
- # reduce 108 omitted
1109
+ # reduce 140 omitted
933
1110
 
934
- # reduce 109 omitted
1111
+ # reduce 141 omitted
935
1112
 
936
- # reduce 110 omitted
1113
+ # reduce 142 omitted
937
1114
 
938
- # reduce 111 omitted
1115
+ # reduce 143 omitted
939
1116
 
940
- module_eval(<<'.,.,', 'rafinlineparser.ry', 168)
941
- def _reduce_112(val, _values)
1117
+ # reduce 144 omitted
1118
+
1119
+ # reduce 145 omitted
1120
+
1121
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 224)
1122
+ def _reduce_146(val, _values)
942
1123
  val
943
1124
  end
944
1125
  .,.,
945
1126
 
946
- module_eval(<<'.,.,', 'rafinlineparser.ry', 170)
947
- def _reduce_113(val, _values)
1127
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 226)
1128
+ def _reduce_147(val, _values)
948
1129
  Verb.new(val[1])
949
1130
  end
950
1131
  .,.,
951
1132
 
952
- module_eval(<<'.,.,', 'rafinlineparser.ry', 174)
953
- def _reduce_114(val, _values)
1133
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 230)
1134
+ def _reduce_148(val, _values)
954
1135
  Plain.new(val[0])
955
1136
  end
956
1137
  .,.,
957
1138
 
958
- module_eval(<<'.,.,', 'rafinlineparser.ry', 175)
959
- def _reduce_115(val, _values)
1139
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 231)
1140
+ def _reduce_149(val, _values)
960
1141
  Plain.new([val[0].contents, val[1]])
961
1142
  end
962
1143
  .,.,
963
1144
 
964
- module_eval(<<'.,.,', 'rafinlineparser.ry', 177)
965
- def _reduce_116(val, _values)
1145
+ module_eval(<<'.,.,', 'rafinlineparser.ry', 233)
1146
+ def _reduce_150(val, _values)
966
1147
  val[0]
967
1148
  end
968
1149
  .,.,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raf-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - garin