raf-parser 0.2.1 → 0.2.2

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.
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