raf-parser 0.2.2 → 0.2.3
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 +4 -4
- data/Gemfile.lock +4 -2
- data/History.rdoc +13 -0
- data/RELEASE +1 -1
- data/VERSION +1 -1
- data/lib/raf-parser.rb +1 -0
- data/lib/rafblockparser.ry +3 -3
- data/lib/rafblockparser.tab.rb +3 -3
- data/lib/rafelement.rb +11 -4
- data/lib/rafinlineparser.ry +92 -43
- data/lib/rafinlineparser.tab.rb +528 -426
- data/raf-parser.gemspec +2 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ff8bb7faa523d2198e34fc5adb121ccf7a7a2fa
|
4
|
+
data.tar.gz: 774ea71d98e597b853dad20421e131ca97c3cffe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e50178436176af3197cd9e30cb9d7657a6dc8f53df3bdebb7ca3e365414d1e6fdaea0d77b0549777814e3d6c8c083eee27a935dc13d0d5fbfefc61bee188b40
|
7
|
+
data.tar.gz: 7f6adf1e900ab173b585ef905d189597e9d94a768abce57cbd688ead348a3f8366387e07f3fd61d4584ce8419a9668a9b86dde94d565cc2173c511983225dfd0
|
data/Gemfile.lock
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
raf (0.2.
|
4
|
+
raf-parser (0.2.2)
|
5
|
+
mimemagic
|
5
6
|
|
6
7
|
GEM
|
7
8
|
remote: https://rubygems.org/
|
8
9
|
specs:
|
10
|
+
mimemagic (0.2.1)
|
9
11
|
rake (10.1.0)
|
10
12
|
|
11
13
|
PLATFORMS
|
@@ -13,5 +15,5 @@ PLATFORMS
|
|
13
15
|
|
14
16
|
DEPENDENCIES
|
15
17
|
bundler (~> 1.3)
|
16
|
-
raf!
|
18
|
+
raf-parser!
|
17
19
|
rake
|
data/History.rdoc
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
== 0.2.3 2013-12-10
|
2
|
+
* new: メディアファイルを置くディレクトリを指定する @options[:media_directory] を 追加
|
3
|
+
* new: ラベルリンク(LabelLink)用の構文((=..=))を追加
|
4
|
+
* new: .% 構文用の @options[:extension] を追加
|
5
|
+
* new: URI形式で指定した Reference の拡張子に .% 構文の追加
|
6
|
+
* new: 依存関係に mimemagic パッケージを追加
|
7
|
+
* change: IMAGEエレメントを廃止して、MEDIAエレメントを追加
|
8
|
+
* change: label_link の label の先頭から "#" を削除
|
9
|
+
* change: リファレンス構文((<..>)) からラベルリンクの機能を削除
|
10
|
+
* change: reference を http[s]:// だけでなく URI 形式は全て外部への参照とするように変更
|
11
|
+
* change: variables書式((@..@))の変数定義でも値を表示するように変更
|
12
|
+
* change: ERBで可能な処理をセーフレベル4に限定
|
13
|
+
|
1
14
|
== 0.2.2 2013-12-05
|
2
15
|
* 変数定義の VARIABLE((@..|..@))書式を追加
|
3
16
|
* 空文字を返す Empty クラスを追加
|
data/RELEASE
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2013-12-
|
1
|
+
2013-12-10
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.3
|
data/lib/raf-parser.rb
CHANGED
data/lib/rafblockparser.ry
CHANGED
@@ -138,8 +138,8 @@ class Line
|
|
138
138
|
end
|
139
139
|
|
140
140
|
|
141
|
-
def initialize
|
142
|
-
@inline_parser = InlineParser.new
|
141
|
+
def initialize(options = {})
|
142
|
+
@inline_parser = InlineParser.new(options)
|
143
143
|
@metadata = {}
|
144
144
|
@inline_index = @inline_parser.index
|
145
145
|
@index = {}
|
@@ -150,7 +150,7 @@ attr_reader :metadata, :inline_index, :index
|
|
150
150
|
def parse(src)
|
151
151
|
@no = 0
|
152
152
|
# srcをerbで処理
|
153
|
-
src = ERB.new(src.join).result(binding).split("\n").map {|s| "#{s}\n"}
|
153
|
+
src = ERB.new(src.join,4).result(binding.taint).split("\n").map {|s| "#{s}\n"}
|
154
154
|
|
155
155
|
@src = Array(src)
|
156
156
|
@line = Line.new("")
|
data/lib/rafblockparser.tab.rb
CHANGED
@@ -37,8 +37,8 @@ class Line
|
|
37
37
|
end
|
38
38
|
|
39
39
|
|
40
|
-
def initialize
|
41
|
-
@inline_parser = InlineParser.new
|
40
|
+
def initialize(options = {})
|
41
|
+
@inline_parser = InlineParser.new(options)
|
42
42
|
@metadata = {}
|
43
43
|
@inline_index = @inline_parser.index
|
44
44
|
@index = {}
|
@@ -49,7 +49,7 @@ attr_reader :metadata, :inline_index, :index
|
|
49
49
|
def parse(src)
|
50
50
|
@no = 0
|
51
51
|
# srcをerbで処理
|
52
|
-
src = ERB.new(src.join).result(binding).split("\n").map {|s| "#{s}\n"}
|
52
|
+
src = ERB.new(src.join,4).result(binding.taint).split("\n").map {|s| "#{s}\n"}
|
53
53
|
|
54
54
|
@src = Array(src)
|
55
55
|
@line = Line.new("")
|
data/lib/rafelement.rb
CHANGED
@@ -163,10 +163,17 @@ module Raf
|
|
163
163
|
end
|
164
164
|
end
|
165
165
|
|
166
|
+
class LabelLink < Element
|
167
|
+
# @contents = [title, uri]
|
168
|
+
def apply
|
169
|
+
"<LabelLink>Label:#{@contents[0]},Title:#{@contents[1]}</LabelLink>"
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
166
173
|
class Reference < Element
|
167
174
|
# @contents = [title, uri]
|
168
175
|
def apply
|
169
|
-
"
|
176
|
+
"<Reference>Title:#{@contents[0]},Url:#{@contents[1]}</Reference>"
|
170
177
|
end
|
171
178
|
end
|
172
179
|
|
@@ -219,9 +226,10 @@ module Raf
|
|
219
226
|
end
|
220
227
|
end
|
221
228
|
|
222
|
-
class
|
229
|
+
class Media < Element
|
223
230
|
def apply
|
224
|
-
|
231
|
+
# @contents = [Name, Mime::MediaType, Mime::SubType]
|
232
|
+
"<Media>Name:#{@contents[0]},Mime::MediaType:#{@contents[1]},Mime::SubType:#{@contents[2]}</Media>"
|
225
233
|
end
|
226
234
|
end
|
227
235
|
|
@@ -238,7 +246,6 @@ module Raf
|
|
238
246
|
end
|
239
247
|
end
|
240
248
|
|
241
|
-
|
242
249
|
class String
|
243
250
|
def to_code
|
244
251
|
self.lines.to_a.pack('m').tr("012345679+/=\n", 'abcdefghiPSIQ').strip
|
data/lib/rafinlineparser.ry
CHANGED
@@ -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 VARIABLE_OPEN VARIABLE_CLOSE
|
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 LABEL_LINK_OPEN LABEL_LINK_CLOSE REFERENCE_OPEN REFERENCE_CLOSE VERB_OPEN VERB_CLOSE FOOTNOTE_OPEN FOOTNOTE_CLOSE RUBY_OPEN RUBY_CLOSE VARIABLE_OPEN VARIABLE_CLOSE MEDIA_OPEN MEDIA_CLOSE MANUEDO_OPEN MANUEDO_CLOSE OTHER
|
5
5
|
options no_result_var
|
6
6
|
rule
|
7
7
|
content :
|
@@ -16,11 +16,12 @@ class InlineParser
|
|
16
16
|
| code
|
17
17
|
| kbd
|
18
18
|
| label
|
19
|
+
| label_link
|
19
20
|
| reference
|
20
21
|
| ruby
|
21
22
|
| variable
|
22
23
|
| footnote
|
23
|
-
|
|
24
|
+
| media
|
24
25
|
| verb
|
25
26
|
| manuedo
|
26
27
|
| normal_strings
|
@@ -39,8 +40,8 @@ class InlineParser
|
|
39
40
|
|
40
41
|
# --- inline end
|
41
42
|
|
42
|
-
# ---
|
43
|
-
|
43
|
+
# --- media
|
44
|
+
media_string : OTHER
|
44
45
|
| EM_OPEN
|
45
46
|
| EM_CLOSE
|
46
47
|
| ITALIC_OPEN
|
@@ -61,17 +62,32 @@ class InlineParser
|
|
61
62
|
| REFERENCE_CLOSE
|
62
63
|
| LABEL_OPEN
|
63
64
|
| LABEL_CLOSE
|
65
|
+
| LABEL_LINK_OPEN
|
66
|
+
| LABEL_LINK_CLOSE
|
64
67
|
| FOOTNOTE_OPEN
|
65
68
|
| FOOTNOTE_CLOSE
|
66
69
|
| VERB_OPEN
|
67
70
|
| VERB_CLOSE
|
68
|
-
|
|
69
|
-
|
70
|
-
|
71
|
-
|
|
72
|
-
|
73
|
-
|
74
|
-
|
71
|
+
| MEDIA_OPEN
|
72
|
+
|
73
|
+
media_strings : media_strings media_string { val.join }
|
74
|
+
| media_string {
|
75
|
+
unless @options[:media_directory].nil? || @options[:media_directory].empty?
|
76
|
+
val[0] = File.join(@options[:media_directory],val[0]) unless val[0] =~ /^.*:\/\/.*/
|
77
|
+
end
|
78
|
+
val[0]
|
79
|
+
}
|
80
|
+
media : MEDIA_OPEN media_strings MEDIA_CLOSE {
|
81
|
+
mime = MimeMagic.by_extension(val[1].split(".").last)
|
82
|
+
unless mime.nil?
|
83
|
+
mediatype, subtype = mime.mediatype, mime.subtype
|
84
|
+
else
|
85
|
+
mediatype, subtype = "",""
|
86
|
+
end
|
87
|
+
Media.new([val[1],mediatype,subtype])
|
88
|
+
}
|
89
|
+
|
90
|
+
# --- media end
|
75
91
|
# --- ruby
|
76
92
|
ruby_string : OTHER
|
77
93
|
| EM_OPEN
|
@@ -84,14 +100,16 @@ class InlineParser
|
|
84
100
|
| CODE_CLOSE
|
85
101
|
| KBD_OPEN
|
86
102
|
| KBD_CLOSE
|
87
|
-
|
|
88
|
-
|
|
103
|
+
| MEDIA_OPEN
|
104
|
+
| MEDIA_CLOSE
|
89
105
|
| MANUEDO_OPEN
|
90
106
|
| MANUEDO_CLOSE
|
91
107
|
| REFERENCE_OPEN
|
92
108
|
| REFERENCE_CLOSE
|
93
109
|
| LABEL_OPEN
|
94
110
|
| LABEL_CLOSE
|
111
|
+
| LABEL_LINK_OPEN
|
112
|
+
| LABEL_LINK_CLOSE
|
95
113
|
| RUBY_OPEN
|
96
114
|
| FOOTNOTE_OPEN
|
97
115
|
| FOOTNOTE_CLOSE
|
@@ -122,14 +140,16 @@ class InlineParser
|
|
122
140
|
| CODE_CLOSE
|
123
141
|
| KBD_OPEN
|
124
142
|
| KBD_CLOSE
|
125
|
-
|
|
126
|
-
|
|
143
|
+
| MEDIA_OPEN
|
144
|
+
| MEDIA_CLOSE
|
127
145
|
| MANUEDO_OPEN
|
128
146
|
| MANUEDO_CLOSE
|
129
147
|
| REFERENCE_OPEN
|
130
148
|
| REFERENCE_CLOSE
|
131
149
|
| LABEL_OPEN
|
132
150
|
| LABEL_CLOSE
|
151
|
+
| LABEL_LINK_OPEN
|
152
|
+
| LABEL_LINK_CLOSE
|
133
153
|
| RUBY_OPEN
|
134
154
|
| RUBY_CLOSE
|
135
155
|
| VARIABLE_OPEN
|
@@ -143,20 +163,16 @@ class InlineParser
|
|
143
163
|
|
144
164
|
variable : VARIABLE_OPEN variable_strings VARIABLE_CLOSE {
|
145
165
|
base, text = val[1].split("=",2)
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
value = parser.parse(value).map do |n| n.apply end
|
155
|
-
else # 変数が未定義
|
156
|
-
value = base
|
157
|
-
end
|
158
|
-
Variable.new(value)
|
166
|
+
@variables ||= {}
|
167
|
+
@variables[base] = text unless text.nil?
|
168
|
+
value = @variables[base]
|
169
|
+
unless value.nil?
|
170
|
+
parser = InlineParser.new
|
171
|
+
value = parser.parse(value).map do |n| n.apply end
|
172
|
+
else # 変数が未定義
|
173
|
+
value = base
|
159
174
|
end
|
175
|
+
Variable.new(value)
|
160
176
|
}
|
161
177
|
# --- variable end
|
162
178
|
# --- manuedo
|
@@ -180,6 +196,19 @@ class InlineParser
|
|
180
196
|
}
|
181
197
|
|
182
198
|
# --- labe end
|
199
|
+
# --- label link: start
|
200
|
+
label_link_string : OTHER { val[0] }
|
201
|
+
|
202
|
+
label_link_strings : label_link_strings label_link_string { val.join }
|
203
|
+
| label_link_string { val[0] }
|
204
|
+
|
205
|
+
label_link : LABEL_LINK_OPEN label_link_strings LABEL_LINK_CLOSE {
|
206
|
+
label, title = val[1].split("|",2)
|
207
|
+
title ||= label
|
208
|
+
LabelLink.new([label.to_code, title])
|
209
|
+
}
|
210
|
+
# --- label link: end
|
211
|
+
|
183
212
|
# --- reference : start
|
184
213
|
reference_string : OTHER { val[0] }
|
185
214
|
|
@@ -189,7 +218,10 @@ class InlineParser
|
|
189
218
|
reference : REFERENCE_OPEN reference_strings REFERENCE_CLOSE {
|
190
219
|
title, uri = val[1].split("|",2)
|
191
220
|
uri ||= title
|
192
|
-
uri
|
221
|
+
if uri.strip[-2,2] == ".%" and ! @options[:extension].nil?
|
222
|
+
uri.slice!(-2,2)
|
223
|
+
uri = "#{uri}#{@options[:extension]}"
|
224
|
+
end
|
193
225
|
Reference.new([title, uri])
|
194
226
|
}
|
195
227
|
# --- reference : end
|
@@ -205,14 +237,16 @@ class InlineParser
|
|
205
237
|
| CODE_CLOSE
|
206
238
|
| KBD_OPEN
|
207
239
|
| KBD_CLOSE
|
208
|
-
|
|
209
|
-
|
|
240
|
+
| MEDIA_OPEN
|
241
|
+
| MEDIA_CLOSE
|
210
242
|
| MANUEDO_OPEN
|
211
243
|
| MANUEDO_CLOSE
|
212
244
|
| REFERENCE_OPEN
|
213
245
|
| REFERENCE_CLOSE
|
214
246
|
| LABEL_OPEN
|
215
247
|
| LABEL_CLOSE
|
248
|
+
| LABEL_LINK_OPEN
|
249
|
+
| LABEL_LINK_CLOSE
|
216
250
|
| RUBY_OPEN
|
217
251
|
| RUBY_CLOSE
|
218
252
|
| VARIABLE_OPEN
|
@@ -277,10 +311,10 @@ FOOTNOTE_OPEN_RE = /\A#{Regexp.quote(FOOTNOTE_OPEN)}/
|
|
277
311
|
FOOTNOTE_CLOSE = ']))'
|
278
312
|
FOOTNOTE_CLOSE_RE = /\A#{Regexp.quote(FOOTNOTE_CLOSE)}/
|
279
313
|
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
314
|
+
MEDIA_OPEN = '(($'
|
315
|
+
MEDIA_OPEN_RE = /\A#{Regexp.quote(MEDIA_OPEN)}/
|
316
|
+
MEDIA_CLOSE = '$))'
|
317
|
+
MEDIA_CLOSE_RE = /\A#{Regexp.quote(MEDIA_CLOSE)}/
|
284
318
|
|
285
319
|
LABEL_OPEN = '((>'
|
286
320
|
LABEL_OPEN_RE = /\A#{Regexp.quote(LABEL_OPEN)}/
|
@@ -292,6 +326,11 @@ LABEL_HTML_OPEN_RE = /\A#{Regexp.quote(LABEL_HTML_OPEN)}/
|
|
292
326
|
LABEL_HTML_CLOSE = '<))'
|
293
327
|
LABEL_HTML_CLOSE_RE = /\A#{Regexp.quote(LABEL_HTML_CLOSE)}/
|
294
328
|
|
329
|
+
LABEL_LINK_OPEN = '((='
|
330
|
+
LABEL_LINK_OPEN_RE = /\A#{Regexp.quote(LABEL_LINK_OPEN)}/
|
331
|
+
LABEL_LINK_CLOSE = '=))'
|
332
|
+
LABEL_LINK_CLOSE_RE = /\A#{Regexp.quote(LABEL_LINK_CLOSE)}/
|
333
|
+
|
295
334
|
REFERENCE_OPEN = '((<'
|
296
335
|
REFERENCE_OPEN_RE = /\A#{Regexp.quote(REFERENCE_OPEN)}/
|
297
336
|
REFERENCE_CLOSE = '>))'
|
@@ -318,7 +357,7 @@ MANUEDO_CLOSE_RE = /\A#{Regexp.quote(MANUEDO_CLOSE)}/
|
|
318
357
|
#other_re_mode = Regexp::EXTENDED
|
319
358
|
other_re_mode = Regexp::MULTILINE
|
320
359
|
OTHER_RE = Regexp.new(
|
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(
|
360
|
+
"\\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(MEDIA_OPEN)}|#{Regexp.quote(MEDIA_CLOSE)}|#{Regexp.quote(LABEL_OPEN)}|#{Regexp.quote(LABEL_CLOSE)}|#{Regexp.quote(LABEL_LINK_OPEN)}|#{Regexp.quote(LABEL_LINK_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)
|
322
361
|
|
323
362
|
def parse(src)
|
324
363
|
@src = StringScanner.new(Array(src).join)
|
@@ -327,7 +366,8 @@ def parse(src)
|
|
327
366
|
@view_token_type = false
|
328
367
|
do_parse
|
329
368
|
end
|
330
|
-
def initialize
|
369
|
+
def initialize(options = {})
|
370
|
+
@options = options
|
331
371
|
@index = {}
|
332
372
|
end
|
333
373
|
attr_reader :index
|
@@ -382,6 +422,14 @@ def next_token
|
|
382
422
|
puts "i: LABEL_CLOSE: #{ret}" if @view_token_type
|
383
423
|
@pre << ret
|
384
424
|
[:LABEL_CLOSE, ret]
|
425
|
+
elsif ret = @src.scan(LABEL_LINK_OPEN_RE)
|
426
|
+
@pre << ret
|
427
|
+
puts "i: LABEL_LINK_OPEN: #{ret}" if @view_token_type
|
428
|
+
[:LABEL_LINK_OPEN, ret]
|
429
|
+
elsif ret = @src.scan(LABEL_LINK_CLOSE_RE)
|
430
|
+
puts "i: LABEL_LINK_CLOSE: #{ret}" if @view_token_type
|
431
|
+
@pre << ret
|
432
|
+
[:LABEL_LINK_CLOSE, ret]
|
385
433
|
elsif ret = @src.scan(LABEL_HTML_OPEN_RE)
|
386
434
|
@pre << ret
|
387
435
|
puts "i: LABEL_OPEN: #{ret}" if @view_token_type
|
@@ -438,14 +486,14 @@ def next_token
|
|
438
486
|
puts "i: FOOTNOTE_CLOSE: #{ret}" if @view_token_type
|
439
487
|
@pre << ret
|
440
488
|
[:FOOTNOTE_CLOSE, ret]
|
441
|
-
elsif ret = @src.scan(
|
442
|
-
puts "i:
|
489
|
+
elsif ret = @src.scan(MEDIA_OPEN_RE)
|
490
|
+
puts "i: MEDIA_OPEN: #{ret}" if @view_token_type
|
443
491
|
@pre << ret
|
444
|
-
[:
|
445
|
-
elsif ret = @src.scan(
|
446
|
-
puts "i:
|
492
|
+
[:MEDIA_OPEN, ret]
|
493
|
+
elsif ret = @src.scan(MEDIA_CLOSE_RE)
|
494
|
+
puts "i: MEDIA_CLOSE: #{ret}" if @view_token_type
|
447
495
|
@pre << ret
|
448
|
-
[:
|
496
|
+
[:MEDIA_CLOSE, ret]
|
449
497
|
elsif ret = @src.scan(MANUEDO_OPEN_RE)
|
450
498
|
puts "i: MANUEDO_OPEN: #{ret}" if @view_token_type
|
451
499
|
@pre << ret
|
@@ -470,6 +518,7 @@ end
|
|
470
518
|
---- header
|
471
519
|
require "parserutility"
|
472
520
|
require 'strscan'
|
521
|
+
require 'mimemagic'
|
473
522
|
require 'erb'
|
474
523
|
require 'rafelement'
|
475
524
|
|
data/lib/rafinlineparser.tab.rb
CHANGED
@@ -8,13 +8,14 @@ require 'racc/parser.rb'
|
|
8
8
|
|
9
9
|
require "parserutility"
|
10
10
|
require 'strscan'
|
11
|
+
require 'mimemagic'
|
11
12
|
require 'erb'
|
12
13
|
require 'rafelement'
|
13
14
|
|
14
15
|
module Raf
|
15
16
|
class InlineParser < Racc::Parser
|
16
17
|
|
17
|
-
module_eval(<<'...end rafinlineparser.ry/module_eval...', 'rafinlineparser.ry',
|
18
|
+
module_eval(<<'...end rafinlineparser.ry/module_eval...', 'rafinlineparser.ry', 272)
|
18
19
|
include ParserUtility
|
19
20
|
|
20
21
|
EM_OPEN = '((*'
|
@@ -57,10 +58,10 @@ FOOTNOTE_OPEN_RE = /\A#{Regexp.quote(FOOTNOTE_OPEN)}/
|
|
57
58
|
FOOTNOTE_CLOSE = ']))'
|
58
59
|
FOOTNOTE_CLOSE_RE = /\A#{Regexp.quote(FOOTNOTE_CLOSE)}/
|
59
60
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
61
|
+
MEDIA_OPEN = '(($'
|
62
|
+
MEDIA_OPEN_RE = /\A#{Regexp.quote(MEDIA_OPEN)}/
|
63
|
+
MEDIA_CLOSE = '$))'
|
64
|
+
MEDIA_CLOSE_RE = /\A#{Regexp.quote(MEDIA_CLOSE)}/
|
64
65
|
|
65
66
|
LABEL_OPEN = '((>'
|
66
67
|
LABEL_OPEN_RE = /\A#{Regexp.quote(LABEL_OPEN)}/
|
@@ -72,6 +73,11 @@ LABEL_HTML_OPEN_RE = /\A#{Regexp.quote(LABEL_HTML_OPEN)}/
|
|
72
73
|
LABEL_HTML_CLOSE = '<))'
|
73
74
|
LABEL_HTML_CLOSE_RE = /\A#{Regexp.quote(LABEL_HTML_CLOSE)}/
|
74
75
|
|
76
|
+
LABEL_LINK_OPEN = '((='
|
77
|
+
LABEL_LINK_OPEN_RE = /\A#{Regexp.quote(LABEL_LINK_OPEN)}/
|
78
|
+
LABEL_LINK_CLOSE = '=))'
|
79
|
+
LABEL_LINK_CLOSE_RE = /\A#{Regexp.quote(LABEL_LINK_CLOSE)}/
|
80
|
+
|
75
81
|
REFERENCE_OPEN = '((<'
|
76
82
|
REFERENCE_OPEN_RE = /\A#{Regexp.quote(REFERENCE_OPEN)}/
|
77
83
|
REFERENCE_CLOSE = '>))'
|
@@ -98,7 +104,7 @@ MANUEDO_CLOSE_RE = /\A#{Regexp.quote(MANUEDO_CLOSE)}/
|
|
98
104
|
#other_re_mode = Regexp::EXTENDED
|
99
105
|
other_re_mode = Regexp::MULTILINE
|
100
106
|
OTHER_RE = Regexp.new(
|
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(
|
107
|
+
"\\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(MEDIA_OPEN)}|#{Regexp.quote(MEDIA_CLOSE)}|#{Regexp.quote(LABEL_OPEN)}|#{Regexp.quote(LABEL_CLOSE)}|#{Regexp.quote(LABEL_LINK_OPEN)}|#{Regexp.quote(LABEL_LINK_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)
|
102
108
|
|
103
109
|
def parse(src)
|
104
110
|
@src = StringScanner.new(Array(src).join)
|
@@ -107,7 +113,8 @@ def parse(src)
|
|
107
113
|
@view_token_type = false
|
108
114
|
do_parse
|
109
115
|
end
|
110
|
-
def initialize
|
116
|
+
def initialize(options = {})
|
117
|
+
@options = options
|
111
118
|
@index = {}
|
112
119
|
end
|
113
120
|
attr_reader :index
|
@@ -162,6 +169,14 @@ def next_token
|
|
162
169
|
puts "i: LABEL_CLOSE: #{ret}" if @view_token_type
|
163
170
|
@pre << ret
|
164
171
|
[:LABEL_CLOSE, ret]
|
172
|
+
elsif ret = @src.scan(LABEL_LINK_OPEN_RE)
|
173
|
+
@pre << ret
|
174
|
+
puts "i: LABEL_LINK_OPEN: #{ret}" if @view_token_type
|
175
|
+
[:LABEL_LINK_OPEN, ret]
|
176
|
+
elsif ret = @src.scan(LABEL_LINK_CLOSE_RE)
|
177
|
+
puts "i: LABEL_LINK_CLOSE: #{ret}" if @view_token_type
|
178
|
+
@pre << ret
|
179
|
+
[:LABEL_LINK_CLOSE, ret]
|
165
180
|
elsif ret = @src.scan(LABEL_HTML_OPEN_RE)
|
166
181
|
@pre << ret
|
167
182
|
puts "i: LABEL_OPEN: #{ret}" if @view_token_type
|
@@ -218,14 +233,14 @@ def next_token
|
|
218
233
|
puts "i: FOOTNOTE_CLOSE: #{ret}" if @view_token_type
|
219
234
|
@pre << ret
|
220
235
|
[:FOOTNOTE_CLOSE, ret]
|
221
|
-
elsif ret = @src.scan(
|
222
|
-
puts "i:
|
236
|
+
elsif ret = @src.scan(MEDIA_OPEN_RE)
|
237
|
+
puts "i: MEDIA_OPEN: #{ret}" if @view_token_type
|
223
238
|
@pre << ret
|
224
|
-
[:
|
225
|
-
elsif ret = @src.scan(
|
226
|
-
puts "i:
|
239
|
+
[:MEDIA_OPEN, ret]
|
240
|
+
elsif ret = @src.scan(MEDIA_CLOSE_RE)
|
241
|
+
puts "i: MEDIA_CLOSE: #{ret}" if @view_token_type
|
227
242
|
@pre << ret
|
228
|
-
[:
|
243
|
+
[:MEDIA_CLOSE, ret]
|
229
244
|
elsif ret = @src.scan(MANUEDO_OPEN_RE)
|
230
245
|
puts "i: MANUEDO_OPEN: #{ret}" if @view_token_type
|
231
246
|
@pre << ret
|
@@ -251,327 +266,352 @@ end
|
|
251
266
|
##### State transition tables begin ###
|
252
267
|
|
253
268
|
racc_action_table = [
|
254
|
-
|
255
|
-
|
256
|
-
26,
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
109, 110,
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
143, 144, 145,
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
269
|
+
19, 133, 20, 175, 21, 176, 22, 177, 23, 178,
|
270
|
+
29, 174, 30, 34, 31, 35, 32, 185, 24, 136,
|
271
|
+
26, 173, 27, 172, 25, 139, 28, nil, 34, 103,
|
272
|
+
104, 105, 106, 107, 108, 109, 110, 111, 112, 119,
|
273
|
+
120, 121, 122, 117, 118, 128, 129, 126, 127, 123,
|
274
|
+
124, 125, 184, 113, 114, 115, 116, 102, 19, nil,
|
275
|
+
20, nil, 21, nil, 22, nil, 23, nil, 29, nil,
|
276
|
+
30, nil, 31, nil, 32, nil, 24, nil, 26, nil,
|
277
|
+
27, nil, 25, nil, 28, nil, 34, 75, 76, 77,
|
278
|
+
78, 79, 80, 81, 82, 83, 84, 91, 92, 93,
|
279
|
+
94, 89, 90, 98, 99, 96, 97, 95, 182, nil,
|
280
|
+
nil, 85, 86, 87, 88, 74, 19, 19, 20, 20,
|
281
|
+
21, 21, 22, 22, 23, 23, 29, 29, 30, 30,
|
282
|
+
31, 31, 32, 32, 24, 24, 26, 26, 27, 27,
|
283
|
+
25, 25, 28, 28, 34, 34, 19, 19, 20, 20,
|
284
|
+
21, 21, 22, 22, 23, 23, 29, 29, 30, 30,
|
285
|
+
31, 31, 32, 32, 24, 24, 26, 26, 27, 27,
|
286
|
+
25, 25, 28, 28, 34, 34, 19, 19, 20, 20,
|
287
|
+
21, 21, 22, 22, 23, 23, 29, 29, 30, 30,
|
288
|
+
31, 31, 32, 32, 24, 24, 26, 26, 27, 27,
|
289
|
+
25, 25, 28, 28, 34, 34, 45, 46, 47, 48,
|
290
|
+
49, 50, 51, 52, 53, 54, 63, 64, 65, 66,
|
291
|
+
61, 62, 69, 70, 67, 68, 55, 56, 57, 58,
|
292
|
+
71, nil, 59, 60, 44, 75, 76, 77, 78, 79,
|
293
|
+
80, 81, 82, 83, 84, 91, 92, 93, 94, 89,
|
294
|
+
90, 98, 99, 96, 97, 95, nil, nil, nil, 85,
|
295
|
+
86, 87, 88, 74, 103, 104, 105, 106, 107, 108,
|
296
|
+
109, 110, 111, 112, 119, 120, 121, 122, 117, 118,
|
297
|
+
128, 129, 126, 127, 123, 124, 125, 187, 113, 114,
|
298
|
+
115, 116, 102, 19, nil, 20, nil, 21, nil, 22,
|
299
|
+
nil, 23, nil, 29, 133, 30, nil, 31, nil, 32,
|
300
|
+
nil, 24, nil, 26, nil, 27, nil, 25, nil, 28,
|
301
|
+
nil, 34, 45, 46, 47, 48, 49, 50, 51, 52,
|
302
|
+
53, 54, 63, 64, 65, 66, 61, 62, 69, 70,
|
303
|
+
67, 68, 55, 56, 57, 58, 71, 180, 59, 60,
|
304
|
+
44, 143, 144, 145, 146, 147, 148, 149, 150, 151,
|
305
|
+
152, 159, 160, 161, 162, 157, 158, 169, nil, 167,
|
306
|
+
168, 163, 164, 165, 166, 153, 154, 155, 156, 142,
|
307
|
+
143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
|
308
|
+
159, 160, 161, 162, 157, 158, 169, 193, 167, 168,
|
309
|
+
163, 164, 165, 166, 153, 154, 155, 156, 142, 189,
|
310
|
+
191, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
311
|
+
nil, nil, nil, 139, 136 ]
|
294
312
|
|
295
313
|
racc_action_check = [
|
296
|
-
0,
|
297
|
-
0,
|
298
|
-
0,
|
299
|
-
|
300
|
-
|
301
|
-
|
314
|
+
0, 29, 0, 40, 0, 41, 0, 42, 0, 43,
|
315
|
+
0, 39, 0, 18, 0, 1, 0, 132, 0, 30,
|
316
|
+
0, 38, 0, 35, 0, 31, 0, nil, 0, 130,
|
317
|
+
130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
|
318
|
+
130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
|
319
|
+
130, 130, 130, 130, 130, 130, 130, 130, 2, nil,
|
302
320
|
2, nil, 2, nil, 2, nil, 2, nil, 2, nil,
|
303
321
|
2, nil, 2, nil, 2, nil, 2, nil, 2, nil,
|
304
|
-
2,
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
20,
|
311
|
-
|
312
|
-
|
313
|
-
22,
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
322
|
+
2, nil, 2, nil, 2, nil, 2, 100, 100, 100,
|
323
|
+
100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
|
324
|
+
100, 100, 100, 100, 100, 100, 100, 100, 100, nil,
|
325
|
+
nil, 100, 100, 100, 100, 100, 19, 20, 19, 20,
|
326
|
+
19, 20, 19, 20, 19, 20, 19, 20, 19, 20,
|
327
|
+
19, 20, 19, 20, 19, 20, 19, 20, 19, 20,
|
328
|
+
19, 20, 19, 20, 19, 20, 21, 22, 21, 22,
|
329
|
+
21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
|
330
|
+
21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
|
331
|
+
21, 22, 21, 22, 21, 22, 23, 24, 23, 24,
|
332
|
+
23, 24, 23, 24, 23, 24, 23, 24, 23, 24,
|
333
|
+
23, 24, 23, 24, 23, 24, 23, 24, 23, 24,
|
334
|
+
23, 24, 23, 24, 23, 24, 25, 25, 25, 25,
|
335
|
+
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
|
318
336
|
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
|
319
|
-
25, 25, 25, 25,
|
320
|
-
nil, 25, 25, 25, 25, 25, 26, 26, 26, 26,
|
337
|
+
25, nil, 25, 25, 25, 26, 26, 26, 26, 26,
|
321
338
|
26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
|
322
|
-
26, 26, 26, 26, 26, 26,
|
323
|
-
26, 26, 26, 27,
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
339
|
+
26, 26, 26, 26, 26, 26, nil, nil, nil, 26,
|
340
|
+
26, 26, 26, 26, 27, 27, 27, 27, 27, 27,
|
341
|
+
27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
|
342
|
+
27, 27, 27, 27, 27, 27, 27, 134, 27, 27,
|
343
|
+
27, 27, 27, 28, nil, 28, nil, 28, nil, 28,
|
344
|
+
nil, 28, nil, 28, 134, 28, nil, 28, nil, 28,
|
345
|
+
nil, 28, nil, 28, nil, 28, nil, 28, nil, 28,
|
346
|
+
nil, 28, 72, 72, 72, 72, 72, 72, 72, 72,
|
347
|
+
72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
|
348
|
+
72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
|
349
|
+
72, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
350
|
+
32, 32, 32, 32, 32, 32, 32, 32, nil, 32,
|
351
|
+
32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
352
|
+
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
|
353
|
+
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
|
354
|
+
171, 171, 171, 171, 171, 171, 171, 171, 171, 137,
|
355
|
+
140, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
356
|
+
nil, nil, nil, 140, 137 ]
|
336
357
|
|
337
358
|
racc_action_pointer = [
|
338
|
-
-2, 15,
|
339
|
-
nil, nil, nil, nil, nil, nil, nil,
|
340
|
-
|
341
|
-
|
342
|
-
-4,
|
359
|
+
-2, 15, 56, nil, nil, nil, nil, nil, nil, nil,
|
360
|
+
nil, nil, nil, nil, nil, nil, nil, nil, -17, 114,
|
361
|
+
115, 144, 145, 174, 175, 204, 233, 262, 291, -29,
|
362
|
+
-11, -5, 349, nil, nil, 23, nil, nil, 18, 6,
|
363
|
+
-4, -4, -4, -12, nil, nil, nil, nil, nil, nil,
|
343
364
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
344
|
-
nil, nil, nil, nil, nil, nil, nil, nil, 298, nil,
|
345
365
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
366
|
+
nil, nil, 320, nil, nil, nil, nil, nil, nil, nil,
|
346
367
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
347
|
-
nil, nil, nil, nil, 79, nil, nil, nil, nil, nil,
|
348
368
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
369
|
+
85, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
349
370
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
350
|
-
nil, nil, 25, nil, -10, nil, 254, nil, nil, 366,
|
351
371
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
372
|
+
27, nil, -12, nil, 274, nil, nil, 394, nil, nil,
|
373
|
+
393, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
352
374
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
353
|
-
nil, nil, nil, nil, nil, nil, nil, nil, 352, nil,
|
354
375
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
355
|
-
nil, nil, nil, nil, nil, nil, nil, nil, nil
|
376
|
+
nil, 378, nil, nil, nil, nil, nil, nil, nil, nil,
|
377
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
378
|
+
nil, nil, nil, nil ]
|
356
379
|
|
357
380
|
racc_action_default = [
|
358
|
-
-1, -
|
359
|
-
-11, -12, -13, -14, -15, -16, -17, -18,
|
360
|
-
-1, -1, -1, -1, -
|
361
|
-
-
|
362
|
-
-
|
363
|
-
-33, -34, -35, -36, -37, -38, -39, -40, -41,
|
364
|
-
-43, -44, -45, -46, -47, -48, -49, -50,
|
365
|
-
-
|
366
|
-
-64, -65, -66, -67, -68, -69, -70, -71, -72,
|
367
|
-
-74, -75, -76, -77,
|
368
|
-
-
|
369
|
-
-95, -96, -97, -98, -99, -100, -101, -102, -103,
|
370
|
-
-105, -106, -
|
371
|
-
-
|
372
|
-
-
|
373
|
-
-138, -139, -140, -141, -142, -143, -144, -145, -
|
374
|
-
|
375
|
-
-
|
381
|
+
-1, -164, -2, -4, -5, -6, -7, -8, -9, -10,
|
382
|
+
-11, -12, -13, -14, -15, -16, -17, -18, -19, -1,
|
383
|
+
-1, -1, -1, -1, -1, -164, -164, -164, -1, -164,
|
384
|
+
-164, -164, -164, -161, -163, -164, -3, -162, -164, -164,
|
385
|
+
-164, -164, -164, -164, -26, -27, -28, -29, -30, -31,
|
386
|
+
-32, -33, -34, -35, -36, -37, -38, -39, -40, -41,
|
387
|
+
-42, -43, -44, -45, -46, -47, -48, -49, -50, -51,
|
388
|
+
-52, -53, -164, -55, -57, -58, -59, -60, -61, -62,
|
389
|
+
-63, -64, -65, -66, -67, -68, -69, -70, -71, -72,
|
390
|
+
-73, -74, -75, -76, -77, -78, -79, -80, -81, -82,
|
391
|
+
-164, -84, -86, -87, -88, -89, -90, -91, -92, -93,
|
392
|
+
-94, -95, -96, -97, -98, -99, -100, -101, -102, -103,
|
393
|
+
-104, -105, -106, -107, -108, -109, -110, -111, -112, -113,
|
394
|
+
-164, -115, -164, -118, -164, -120, -122, -164, -124, -126,
|
395
|
+
-164, -128, -130, -131, -132, -133, -134, -135, -136, -137,
|
396
|
+
-138, -139, -140, -141, -142, -143, -144, -145, -146, -147,
|
397
|
+
-148, -149, -150, -151, -152, -153, -154, -155, -156, -157,
|
398
|
+
-158, -164, 194, -20, -21, -22, -23, -24, -25, -54,
|
399
|
+
-56, -83, -85, -114, -116, -117, -119, -121, -123, -125,
|
400
|
+
-127, -129, -159, -160 ]
|
376
401
|
|
377
402
|
racc_goto_table = [
|
378
|
-
|
379
|
-
|
380
|
-
nil, nil, nil, nil,
|
381
|
-
|
382
|
-
nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
403
|
+
170, 141, 138, 135, 131, 101, 73, 1, 130, 134,
|
404
|
+
100, 137, 72, 140, 36, 171, 37, nil, nil, nil,
|
405
|
+
nil, nil, nil, nil, nil, nil, 38, 39, 40, 41,
|
406
|
+
42, 43, nil, nil, nil, 132, nil, nil, nil, nil,
|
407
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
408
|
+
nil, nil, nil, 179, nil, nil, nil, nil, nil, nil,
|
383
409
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
410
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 181,
|
384
411
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
385
|
-
nil, nil, nil, 168, nil, nil, nil, nil, nil, nil,
|
386
412
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
387
|
-
nil, nil, nil, nil, nil, nil, nil,
|
388
|
-
|
413
|
+
nil, nil, nil, nil, nil, nil, nil, 183, 186, 188,
|
414
|
+
190, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
389
415
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
390
|
-
nil, nil, nil, nil, nil, nil, nil, nil,
|
416
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 192 ]
|
391
417
|
|
392
418
|
racc_goto_check = [
|
393
|
-
|
394
|
-
|
395
|
-
nil, nil, nil, nil,
|
396
|
-
nil, nil, nil, 1, nil, nil, nil, nil,
|
397
|
-
nil, nil, nil, nil, nil, nil, nil, nil, nil, 18,
|
419
|
+
31, 29, 27, 25, 23, 21, 19, 1, 24, 26,
|
420
|
+
22, 28, 20, 30, 3, 32, 33, nil, nil, nil,
|
421
|
+
nil, nil, nil, nil, nil, nil, 1, 1, 1, 1,
|
422
|
+
1, 1, nil, nil, nil, 1, nil, nil, nil, nil,
|
398
423
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
424
|
+
nil, nil, nil, 19, nil, nil, nil, nil, nil, nil,
|
399
425
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
400
|
-
nil, nil, nil,
|
426
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 21,
|
401
427
|
nil, nil, 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,
|
404
428
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
405
|
-
nil, nil, nil, nil, nil, nil, nil,
|
429
|
+
nil, nil, nil, nil, nil, nil, nil, 23, 25, 27,
|
430
|
+
29, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
431
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
432
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 31 ]
|
406
433
|
|
407
434
|
racc_goto_pointer = [
|
408
|
-
nil,
|
409
|
-
nil, nil, nil, nil, nil, nil, nil, nil,
|
410
|
-
-21, -
|
411
|
-
-
|
435
|
+
nil, 7, nil, 12, nil, nil, nil, nil, nil, nil,
|
436
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, -19,
|
437
|
+
-13, -21, -16, -23, -19, -26, -20, -28, -19, -30,
|
438
|
+
-18, -32, -17, -2 ]
|
412
439
|
|
413
440
|
racc_goto_default = [
|
414
441
|
nil, nil, 2, 3, 4, 5, 6, 7, 8, 9,
|
415
|
-
10, 11, 12, 13, 14, 15, 16, 17,
|
442
|
+
10, 11, 12, 13, 14, 15, 16, 17, 18, nil,
|
416
443
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
417
|
-
|
444
|
+
nil, nil, nil, 33 ]
|
418
445
|
|
419
446
|
racc_reduce_table = [
|
420
447
|
0, 0, :racc_error,
|
421
|
-
0,
|
422
|
-
1, 30, :_reduce_none,
|
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,
|
448
|
+
0, 32, :_reduce_none,
|
433
449
|
1, 32, :_reduce_none,
|
434
|
-
|
435
|
-
1,
|
436
|
-
1,
|
437
|
-
1,
|
438
|
-
1,
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
1,
|
446
|
-
1,
|
447
|
-
1,
|
448
|
-
1,
|
449
|
-
1,
|
450
|
-
1,
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
1,
|
458
|
-
1,
|
459
|
-
1,
|
460
|
-
1,
|
461
|
-
1,
|
462
|
-
1,
|
463
|
-
1,
|
464
|
-
1,
|
465
|
-
1,
|
466
|
-
1,
|
467
|
-
1,
|
468
|
-
1,
|
469
|
-
1,
|
470
|
-
1,
|
471
|
-
|
472
|
-
1,
|
473
|
-
|
474
|
-
1,
|
475
|
-
1,
|
476
|
-
1,
|
477
|
-
1,
|
478
|
-
1,
|
479
|
-
1,
|
480
|
-
1,
|
481
|
-
1,
|
482
|
-
1,
|
483
|
-
1,
|
484
|
-
1,
|
485
|
-
|
486
|
-
1,
|
487
|
-
|
488
|
-
1,
|
489
|
-
1,
|
490
|
-
1,
|
491
|
-
1,
|
492
|
-
1,
|
493
|
-
1,
|
494
|
-
1,
|
495
|
-
1,
|
496
|
-
1,
|
497
|
-
1,
|
498
|
-
|
499
|
-
1,
|
500
|
-
|
501
|
-
1,
|
502
|
-
1,
|
503
|
-
1,
|
504
|
-
1,
|
505
|
-
1,
|
506
|
-
1,
|
507
|
-
1,
|
508
|
-
1,
|
509
|
-
1,
|
510
|
-
1,
|
511
|
-
1,
|
512
|
-
1,
|
513
|
-
1,
|
514
|
-
|
515
|
-
1,
|
516
|
-
|
517
|
-
1,
|
518
|
-
1,
|
519
|
-
1,
|
520
|
-
1,
|
521
|
-
1,
|
522
|
-
1,
|
523
|
-
1,
|
524
|
-
1,
|
525
|
-
1,
|
526
|
-
1,
|
527
|
-
|
528
|
-
1,
|
529
|
-
|
530
|
-
|
531
|
-
1,
|
532
|
-
|
533
|
-
1, 54, :
|
534
|
-
|
450
|
+
2, 33, :_reduce_3,
|
451
|
+
1, 33, :_reduce_4,
|
452
|
+
1, 34, :_reduce_none,
|
453
|
+
1, 34, :_reduce_none,
|
454
|
+
1, 34, :_reduce_none,
|
455
|
+
1, 34, :_reduce_none,
|
456
|
+
1, 34, :_reduce_none,
|
457
|
+
1, 34, :_reduce_none,
|
458
|
+
1, 34, :_reduce_none,
|
459
|
+
1, 34, :_reduce_none,
|
460
|
+
1, 34, :_reduce_none,
|
461
|
+
1, 34, :_reduce_none,
|
462
|
+
1, 34, :_reduce_none,
|
463
|
+
1, 34, :_reduce_none,
|
464
|
+
1, 34, :_reduce_none,
|
465
|
+
1, 34, :_reduce_none,
|
466
|
+
1, 34, :_reduce_none,
|
467
|
+
3, 35, :_reduce_20,
|
468
|
+
3, 36, :_reduce_21,
|
469
|
+
3, 37, :_reduce_22,
|
470
|
+
3, 38, :_reduce_23,
|
471
|
+
3, 39, :_reduce_24,
|
472
|
+
3, 45, :_reduce_25,
|
473
|
+
1, 50, :_reduce_none,
|
474
|
+
1, 50, :_reduce_none,
|
475
|
+
1, 50, :_reduce_none,
|
476
|
+
1, 50, :_reduce_none,
|
477
|
+
1, 50, :_reduce_none,
|
478
|
+
1, 50, :_reduce_none,
|
479
|
+
1, 50, :_reduce_none,
|
480
|
+
1, 50, :_reduce_none,
|
481
|
+
1, 50, :_reduce_none,
|
482
|
+
1, 50, :_reduce_none,
|
483
|
+
1, 50, :_reduce_none,
|
484
|
+
1, 50, :_reduce_none,
|
485
|
+
1, 50, :_reduce_none,
|
486
|
+
1, 50, :_reduce_none,
|
487
|
+
1, 50, :_reduce_none,
|
488
|
+
1, 50, :_reduce_none,
|
489
|
+
1, 50, :_reduce_none,
|
490
|
+
1, 50, :_reduce_none,
|
491
|
+
1, 50, :_reduce_none,
|
492
|
+
1, 50, :_reduce_none,
|
493
|
+
1, 50, :_reduce_none,
|
494
|
+
1, 50, :_reduce_none,
|
495
|
+
1, 50, :_reduce_none,
|
496
|
+
1, 50, :_reduce_none,
|
497
|
+
1, 50, :_reduce_none,
|
498
|
+
1, 50, :_reduce_none,
|
499
|
+
1, 50, :_reduce_none,
|
500
|
+
1, 50, :_reduce_none,
|
501
|
+
2, 51, :_reduce_54,
|
502
|
+
1, 51, :_reduce_55,
|
503
|
+
3, 46, :_reduce_56,
|
504
|
+
1, 52, :_reduce_none,
|
505
|
+
1, 52, :_reduce_none,
|
506
|
+
1, 52, :_reduce_none,
|
507
|
+
1, 52, :_reduce_none,
|
508
|
+
1, 52, :_reduce_none,
|
509
|
+
1, 52, :_reduce_none,
|
510
|
+
1, 52, :_reduce_none,
|
511
|
+
1, 52, :_reduce_none,
|
512
|
+
1, 52, :_reduce_none,
|
513
|
+
1, 52, :_reduce_none,
|
514
|
+
1, 52, :_reduce_none,
|
515
|
+
1, 52, :_reduce_none,
|
516
|
+
1, 52, :_reduce_none,
|
517
|
+
1, 52, :_reduce_none,
|
518
|
+
1, 52, :_reduce_none,
|
519
|
+
1, 52, :_reduce_none,
|
520
|
+
1, 52, :_reduce_none,
|
521
|
+
1, 52, :_reduce_none,
|
522
|
+
1, 52, :_reduce_none,
|
523
|
+
1, 52, :_reduce_none,
|
524
|
+
1, 52, :_reduce_none,
|
525
|
+
1, 52, :_reduce_none,
|
526
|
+
1, 52, :_reduce_none,
|
527
|
+
1, 52, :_reduce_none,
|
528
|
+
1, 52, :_reduce_none,
|
529
|
+
1, 52, :_reduce_none,
|
530
|
+
2, 53, :_reduce_83,
|
531
|
+
1, 53, :_reduce_84,
|
532
|
+
3, 43, :_reduce_85,
|
533
|
+
1, 54, :_reduce_none,
|
534
|
+
1, 54, :_reduce_none,
|
535
|
+
1, 54, :_reduce_none,
|
536
|
+
1, 54, :_reduce_none,
|
537
|
+
1, 54, :_reduce_none,
|
538
|
+
1, 54, :_reduce_none,
|
539
|
+
1, 54, :_reduce_none,
|
540
|
+
1, 54, :_reduce_none,
|
541
|
+
1, 54, :_reduce_none,
|
542
|
+
1, 54, :_reduce_none,
|
543
|
+
1, 54, :_reduce_none,
|
544
|
+
1, 54, :_reduce_none,
|
545
|
+
1, 54, :_reduce_none,
|
546
|
+
1, 54, :_reduce_none,
|
547
|
+
1, 54, :_reduce_none,
|
548
|
+
1, 54, :_reduce_none,
|
549
|
+
1, 54, :_reduce_none,
|
550
|
+
1, 54, :_reduce_none,
|
551
|
+
1, 54, :_reduce_none,
|
552
|
+
1, 54, :_reduce_none,
|
553
|
+
1, 54, :_reduce_none,
|
554
|
+
1, 54, :_reduce_none,
|
555
|
+
1, 54, :_reduce_none,
|
556
|
+
1, 54, :_reduce_none,
|
557
|
+
1, 54, :_reduce_none,
|
558
|
+
1, 54, :_reduce_none,
|
559
|
+
1, 54, :_reduce_none,
|
560
|
+
1, 54, :_reduce_none,
|
561
|
+
2, 55, :_reduce_114,
|
535
562
|
1, 55, :_reduce_115,
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
1, 57, :
|
541
|
-
|
542
|
-
1,
|
543
|
-
|
544
|
-
1,
|
545
|
-
|
546
|
-
1,
|
547
|
-
|
548
|
-
1,
|
549
|
-
|
550
|
-
1,
|
551
|
-
1,
|
552
|
-
1,
|
553
|
-
1,
|
554
|
-
1,
|
555
|
-
1,
|
556
|
-
1,
|
557
|
-
1,
|
558
|
-
1,
|
559
|
-
1,
|
560
|
-
1,
|
561
|
-
1,
|
562
|
-
1,
|
563
|
-
1,
|
564
|
-
1,
|
565
|
-
1,
|
566
|
-
|
567
|
-
|
568
|
-
1,
|
569
|
-
|
570
|
-
1,
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
563
|
+
3, 44, :_reduce_116,
|
564
|
+
3, 48, :_reduce_117,
|
565
|
+
1, 56, :_reduce_118,
|
566
|
+
2, 57, :_reduce_119,
|
567
|
+
1, 57, :_reduce_120,
|
568
|
+
3, 40, :_reduce_121,
|
569
|
+
1, 58, :_reduce_122,
|
570
|
+
2, 59, :_reduce_123,
|
571
|
+
1, 59, :_reduce_124,
|
572
|
+
3, 41, :_reduce_125,
|
573
|
+
1, 60, :_reduce_126,
|
574
|
+
2, 61, :_reduce_127,
|
575
|
+
1, 61, :_reduce_128,
|
576
|
+
3, 42, :_reduce_129,
|
577
|
+
1, 62, :_reduce_none,
|
578
|
+
1, 62, :_reduce_none,
|
579
|
+
1, 62, :_reduce_none,
|
580
|
+
1, 62, :_reduce_none,
|
581
|
+
1, 62, :_reduce_none,
|
582
|
+
1, 62, :_reduce_none,
|
583
|
+
1, 62, :_reduce_none,
|
584
|
+
1, 62, :_reduce_none,
|
585
|
+
1, 62, :_reduce_none,
|
586
|
+
1, 62, :_reduce_none,
|
587
|
+
1, 62, :_reduce_none,
|
588
|
+
1, 62, :_reduce_none,
|
589
|
+
1, 62, :_reduce_none,
|
590
|
+
1, 62, :_reduce_none,
|
591
|
+
1, 62, :_reduce_none,
|
592
|
+
1, 62, :_reduce_none,
|
593
|
+
1, 62, :_reduce_none,
|
594
|
+
1, 62, :_reduce_none,
|
595
|
+
1, 62, :_reduce_none,
|
596
|
+
1, 62, :_reduce_none,
|
597
|
+
1, 62, :_reduce_none,
|
598
|
+
1, 62, :_reduce_none,
|
599
|
+
1, 62, :_reduce_none,
|
600
|
+
1, 62, :_reduce_none,
|
601
|
+
1, 62, :_reduce_none,
|
602
|
+
1, 62, :_reduce_none,
|
603
|
+
1, 62, :_reduce_none,
|
604
|
+
1, 62, :_reduce_none,
|
605
|
+
1, 63, :_reduce_none,
|
606
|
+
2, 63, :_reduce_159,
|
607
|
+
3, 47, :_reduce_160,
|
608
|
+
1, 49, :_reduce_161,
|
609
|
+
2, 49, :_reduce_162,
|
610
|
+
1, 64, :_reduce_163 ]
|
611
|
+
|
612
|
+
racc_reduce_n = 164
|
613
|
+
|
614
|
+
racc_shift_n = 194
|
575
615
|
|
576
616
|
racc_token_table = {
|
577
617
|
false => 0,
|
@@ -588,23 +628,25 @@ racc_token_table = {
|
|
588
628
|
:KBD_CLOSE => 11,
|
589
629
|
:LABEL_OPEN => 12,
|
590
630
|
:LABEL_CLOSE => 13,
|
591
|
-
:
|
592
|
-
:
|
593
|
-
:
|
594
|
-
:
|
595
|
-
:
|
596
|
-
:
|
597
|
-
:
|
598
|
-
:
|
599
|
-
:
|
600
|
-
:
|
601
|
-
:
|
602
|
-
:
|
603
|
-
:
|
604
|
-
:
|
605
|
-
:
|
606
|
-
|
607
|
-
|
631
|
+
:LABEL_LINK_OPEN => 14,
|
632
|
+
:LABEL_LINK_CLOSE => 15,
|
633
|
+
:REFERENCE_OPEN => 16,
|
634
|
+
:REFERENCE_CLOSE => 17,
|
635
|
+
:VERB_OPEN => 18,
|
636
|
+
:VERB_CLOSE => 19,
|
637
|
+
:FOOTNOTE_OPEN => 20,
|
638
|
+
:FOOTNOTE_CLOSE => 21,
|
639
|
+
:RUBY_OPEN => 22,
|
640
|
+
:RUBY_CLOSE => 23,
|
641
|
+
:VARIABLE_OPEN => 24,
|
642
|
+
:VARIABLE_CLOSE => 25,
|
643
|
+
:MEDIA_OPEN => 26,
|
644
|
+
:MEDIA_CLOSE => 27,
|
645
|
+
:MANUEDO_OPEN => 28,
|
646
|
+
:MANUEDO_CLOSE => 29,
|
647
|
+
:OTHER => 30 }
|
648
|
+
|
649
|
+
racc_nt_base = 31
|
608
650
|
|
609
651
|
racc_use_result_var = false
|
610
652
|
|
@@ -639,6 +681,8 @@ Racc_token_to_s_table = [
|
|
639
681
|
"KBD_CLOSE",
|
640
682
|
"LABEL_OPEN",
|
641
683
|
"LABEL_CLOSE",
|
684
|
+
"LABEL_LINK_OPEN",
|
685
|
+
"LABEL_LINK_CLOSE",
|
642
686
|
"REFERENCE_OPEN",
|
643
687
|
"REFERENCE_CLOSE",
|
644
688
|
"VERB_OPEN",
|
@@ -649,8 +693,8 @@ Racc_token_to_s_table = [
|
|
649
693
|
"RUBY_CLOSE",
|
650
694
|
"VARIABLE_OPEN",
|
651
695
|
"VARIABLE_CLOSE",
|
652
|
-
"
|
653
|
-
"
|
696
|
+
"MEDIA_OPEN",
|
697
|
+
"MEDIA_CLOSE",
|
654
698
|
"MANUEDO_OPEN",
|
655
699
|
"MANUEDO_CLOSE",
|
656
700
|
"OTHER",
|
@@ -664,22 +708,25 @@ Racc_token_to_s_table = [
|
|
664
708
|
"code",
|
665
709
|
"kbd",
|
666
710
|
"label",
|
711
|
+
"label_link",
|
667
712
|
"reference",
|
668
713
|
"ruby",
|
669
714
|
"variable",
|
670
715
|
"footnote",
|
671
|
-
"
|
716
|
+
"media",
|
672
717
|
"verb",
|
673
718
|
"manuedo",
|
674
719
|
"normal_strings",
|
675
|
-
"
|
676
|
-
"
|
720
|
+
"media_string",
|
721
|
+
"media_strings",
|
677
722
|
"ruby_string",
|
678
723
|
"ruby_strings",
|
679
724
|
"variable_string",
|
680
725
|
"variable_strings",
|
681
726
|
"label_string",
|
682
727
|
"label_strings",
|
728
|
+
"label_link_string",
|
729
|
+
"label_link_strings",
|
683
730
|
"reference_string",
|
684
731
|
"reference_strings",
|
685
732
|
"verb_string",
|
@@ -736,38 +783,40 @@ module_eval(<<'.,.,', 'rafinlineparser.ry', 10)
|
|
736
783
|
|
737
784
|
# reduce 18 omitted
|
738
785
|
|
739
|
-
|
740
|
-
def _reduce_19(val, _values)
|
741
|
-
Emphasis.new(val[1])
|
742
|
-
end
|
743
|
-
.,.,
|
786
|
+
# reduce 19 omitted
|
744
787
|
|
745
788
|
module_eval(<<'.,.,', 'rafinlineparser.ry', 29)
|
746
789
|
def _reduce_20(val, _values)
|
747
|
-
|
790
|
+
Emphasis.new(val[1])
|
748
791
|
end
|
749
792
|
.,.,
|
750
793
|
|
751
794
|
module_eval(<<'.,.,', 'rafinlineparser.ry', 30)
|
752
795
|
def _reduce_21(val, _values)
|
753
|
-
|
796
|
+
Italic.new(val[1])
|
754
797
|
end
|
755
798
|
.,.,
|
756
799
|
|
757
800
|
module_eval(<<'.,.,', 'rafinlineparser.ry', 31)
|
758
801
|
def _reduce_22(val, _values)
|
759
|
-
|
802
|
+
Strike.new(val[1])
|
760
803
|
end
|
761
804
|
.,.,
|
762
805
|
|
763
806
|
module_eval(<<'.,.,', 'rafinlineparser.ry', 32)
|
764
807
|
def _reduce_23(val, _values)
|
765
|
-
|
808
|
+
Code.new(val[1])
|
766
809
|
end
|
767
810
|
.,.,
|
768
811
|
|
769
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
812
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 33)
|
770
813
|
def _reduce_24(val, _values)
|
814
|
+
Kbd.new(val[1])
|
815
|
+
end
|
816
|
+
.,.,
|
817
|
+
|
818
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 35)
|
819
|
+
def _reduce_25(val, _values)
|
771
820
|
@index[:footnote] ||= []
|
772
821
|
@index[:footnote] << {:content => val[1] }
|
773
822
|
Footnote.new([val[1], @index[:footnote].size])
|
@@ -775,8 +824,6 @@ module_eval(<<'.,.,', 'rafinlineparser.ry', 34)
|
|
775
824
|
end
|
776
825
|
.,.,
|
777
826
|
|
778
|
-
# reduce 25 omitted
|
779
|
-
|
780
827
|
# reduce 26 omitted
|
781
828
|
|
782
829
|
# reduce 27 omitted
|
@@ -827,30 +874,41 @@ module_eval(<<'.,.,', 'rafinlineparser.ry', 34)
|
|
827
874
|
|
828
875
|
# reduce 50 omitted
|
829
876
|
|
830
|
-
|
831
|
-
|
877
|
+
# reduce 51 omitted
|
878
|
+
|
879
|
+
# reduce 52 omitted
|
880
|
+
|
881
|
+
# reduce 53 omitted
|
882
|
+
|
883
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 72)
|
884
|
+
def _reduce_54(val, _values)
|
832
885
|
val.join
|
833
886
|
end
|
834
887
|
.,.,
|
835
888
|
|
836
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
837
|
-
def
|
838
|
-
|
889
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 74)
|
890
|
+
def _reduce_55(val, _values)
|
891
|
+
unless @options[:media_directory].nil? || @options[:media_directory].empty?
|
892
|
+
val[0] = File.join(@options[:media_directory],val[0]) unless val[0] =~ /^.*:\/\/.*/
|
893
|
+
end
|
894
|
+
val[0]
|
895
|
+
|
839
896
|
end
|
840
897
|
.,.,
|
841
898
|
|
842
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
843
|
-
def
|
844
|
-
|
899
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 80)
|
900
|
+
def _reduce_56(val, _values)
|
901
|
+
mime = MimeMagic.by_extension(val[1].split(".").last)
|
902
|
+
unless mime.nil?
|
903
|
+
mediatype, subtype = mime.mediatype, mime.subtype
|
904
|
+
else
|
905
|
+
mediatype, subtype = "",""
|
906
|
+
end
|
907
|
+
Media.new([val[1],mediatype,subtype])
|
908
|
+
|
845
909
|
end
|
846
910
|
.,.,
|
847
911
|
|
848
|
-
# reduce 54 omitted
|
849
|
-
|
850
|
-
# reduce 55 omitted
|
851
|
-
|
852
|
-
# reduce 56 omitted
|
853
|
-
|
854
912
|
# reduce 57 omitted
|
855
913
|
|
856
914
|
# reduce 58 omitted
|
@@ -893,20 +951,30 @@ module_eval(<<'.,.,', 'rafinlineparser.ry', 71)
|
|
893
951
|
|
894
952
|
# reduce 77 omitted
|
895
953
|
|
896
|
-
|
897
|
-
|
954
|
+
# reduce 78 omitted
|
955
|
+
|
956
|
+
# reduce 79 omitted
|
957
|
+
|
958
|
+
# reduce 80 omitted
|
959
|
+
|
960
|
+
# reduce 81 omitted
|
961
|
+
|
962
|
+
# reduce 82 omitted
|
963
|
+
|
964
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 118)
|
965
|
+
def _reduce_83(val, _values)
|
898
966
|
val.join
|
899
967
|
end
|
900
968
|
.,.,
|
901
969
|
|
902
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
903
|
-
def
|
970
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 119)
|
971
|
+
def _reduce_84(val, _values)
|
904
972
|
val[0]
|
905
973
|
end
|
906
974
|
.,.,
|
907
975
|
|
908
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
909
|
-
def
|
976
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 122)
|
977
|
+
def _reduce_85(val, _values)
|
910
978
|
base, text = val[1].split("|",2)
|
911
979
|
text ||= base
|
912
980
|
# parser = InlineParser.new
|
@@ -916,16 +984,6 @@ module_eval(<<'.,.,', 'rafinlineparser.ry', 104)
|
|
916
984
|
end
|
917
985
|
.,.,
|
918
986
|
|
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
987
|
# reduce 86 omitted
|
930
988
|
|
931
989
|
# reduce 87 omitted
|
@@ -968,65 +1026,75 @@ module_eval(<<'.,.,', 'rafinlineparser.ry', 104)
|
|
968
1026
|
|
969
1027
|
# reduce 106 omitted
|
970
1028
|
|
971
|
-
|
972
|
-
|
1029
|
+
# reduce 107 omitted
|
1030
|
+
|
1031
|
+
# reduce 108 omitted
|
1032
|
+
|
1033
|
+
# reduce 109 omitted
|
1034
|
+
|
1035
|
+
# reduce 110 omitted
|
1036
|
+
|
1037
|
+
# reduce 111 omitted
|
1038
|
+
|
1039
|
+
# reduce 112 omitted
|
1040
|
+
|
1041
|
+
# reduce 113 omitted
|
1042
|
+
|
1043
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 160)
|
1044
|
+
def _reduce_114(val, _values)
|
973
1045
|
val.join
|
974
1046
|
end
|
975
1047
|
.,.,
|
976
1048
|
|
977
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
978
|
-
def
|
1049
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 161)
|
1050
|
+
def _reduce_115(val, _values)
|
979
1051
|
val[0]
|
980
1052
|
end
|
981
1053
|
.,.,
|
982
1054
|
|
983
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
984
|
-
def
|
1055
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 164)
|
1056
|
+
def _reduce_116(val, _values)
|
985
1057
|
base, text = val[1].split("=",2)
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
value = parser.parse(value).map do |n| n.apply end
|
995
|
-
else # 変数が未定義
|
996
|
-
value = base
|
997
|
-
end
|
998
|
-
Variable.new(value)
|
1058
|
+
@variables ||= {}
|
1059
|
+
@variables[base] = text unless text.nil?
|
1060
|
+
value = @variables[base]
|
1061
|
+
unless value.nil?
|
1062
|
+
parser = InlineParser.new
|
1063
|
+
value = parser.parse(value).map do |n| n.apply end
|
1064
|
+
else # 変数が未定義
|
1065
|
+
value = base
|
999
1066
|
end
|
1067
|
+
Variable.new(value)
|
1000
1068
|
|
1001
1069
|
end
|
1002
1070
|
.,.,
|
1003
1071
|
|
1004
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
1005
|
-
def
|
1072
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 178)
|
1073
|
+
def _reduce_117(val, _values)
|
1006
1074
|
Manuedo.new(val[1])
|
1007
1075
|
end
|
1008
1076
|
.,.,
|
1009
1077
|
|
1010
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
1011
|
-
def
|
1078
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 183)
|
1079
|
+
def _reduce_118(val, _values)
|
1012
1080
|
val[0]
|
1013
1081
|
end
|
1014
1082
|
.,.,
|
1015
1083
|
|
1016
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
1017
|
-
def
|
1084
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 186)
|
1085
|
+
def _reduce_119(val, _values)
|
1018
1086
|
val.join
|
1019
1087
|
end
|
1020
1088
|
.,.,
|
1021
1089
|
|
1022
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
1023
|
-
def
|
1090
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 187)
|
1091
|
+
def _reduce_120(val, _values)
|
1024
1092
|
val[0]
|
1025
1093
|
end
|
1026
1094
|
.,.,
|
1027
1095
|
|
1028
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
1029
|
-
def
|
1096
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 190)
|
1097
|
+
def _reduce_121(val, _values)
|
1030
1098
|
label, title = val[1].split("|",2)
|
1031
1099
|
title ||= label
|
1032
1100
|
@index[:label] ||= []
|
@@ -1036,55 +1104,63 @@ module_eval(<<'.,.,', 'rafinlineparser.ry', 174)
|
|
1036
1104
|
end
|
1037
1105
|
.,.,
|
1038
1106
|
|
1039
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
1040
|
-
def
|
1107
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 199)
|
1108
|
+
def _reduce_122(val, _values)
|
1041
1109
|
val[0]
|
1042
1110
|
end
|
1043
1111
|
.,.,
|
1044
1112
|
|
1045
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
1046
|
-
def
|
1113
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 201)
|
1114
|
+
def _reduce_123(val, _values)
|
1047
1115
|
val.join
|
1048
1116
|
end
|
1049
1117
|
.,.,
|
1050
1118
|
|
1051
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
1052
|
-
def
|
1119
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 202)
|
1120
|
+
def _reduce_124(val, _values)
|
1053
1121
|
val[0]
|
1054
1122
|
end
|
1055
1123
|
.,.,
|
1056
1124
|
|
1057
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
1058
|
-
def
|
1059
|
-
|
1060
|
-
|
1061
|
-
|
1062
|
-
Reference.new([title, uri])
|
1125
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 205)
|
1126
|
+
def _reduce_125(val, _values)
|
1127
|
+
label, title = val[1].split("|",2)
|
1128
|
+
title ||= label
|
1129
|
+
LabelLink.new([label.to_code, title])
|
1063
1130
|
|
1064
1131
|
end
|
1065
1132
|
.,.,
|
1066
1133
|
|
1067
|
-
|
1068
|
-
|
1069
|
-
|
1070
|
-
|
1071
|
-
|
1072
|
-
|
1073
|
-
# reduce 122 omitted
|
1074
|
-
|
1075
|
-
# reduce 123 omitted
|
1076
|
-
|
1077
|
-
# reduce 124 omitted
|
1078
|
-
|
1079
|
-
# reduce 125 omitted
|
1080
|
-
|
1081
|
-
# reduce 126 omitted
|
1134
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 212)
|
1135
|
+
def _reduce_126(val, _values)
|
1136
|
+
val[0]
|
1137
|
+
end
|
1138
|
+
.,.,
|
1082
1139
|
|
1083
|
-
|
1140
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 214)
|
1141
|
+
def _reduce_127(val, _values)
|
1142
|
+
val.join
|
1143
|
+
end
|
1144
|
+
.,.,
|
1084
1145
|
|
1085
|
-
|
1146
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 215)
|
1147
|
+
def _reduce_128(val, _values)
|
1148
|
+
val[0]
|
1149
|
+
end
|
1150
|
+
.,.,
|
1086
1151
|
|
1087
|
-
|
1152
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 218)
|
1153
|
+
def _reduce_129(val, _values)
|
1154
|
+
title, uri = val[1].split("|",2)
|
1155
|
+
uri ||= title
|
1156
|
+
if uri.strip[-2,2] == ".%" and ! @options[:extension].nil?
|
1157
|
+
uri.slice!(-2,2)
|
1158
|
+
uri = "#{uri}#{@options[:extension]}"
|
1159
|
+
end
|
1160
|
+
Reference.new([title, uri])
|
1161
|
+
|
1162
|
+
end
|
1163
|
+
.,.,
|
1088
1164
|
|
1089
1165
|
# reduce 130 omitted
|
1090
1166
|
|
@@ -1118,32 +1194,58 @@ module_eval(<<'.,.,', 'rafinlineparser.ry', 189)
|
|
1118
1194
|
|
1119
1195
|
# reduce 145 omitted
|
1120
1196
|
|
1121
|
-
|
1122
|
-
|
1197
|
+
# reduce 146 omitted
|
1198
|
+
|
1199
|
+
# reduce 147 omitted
|
1200
|
+
|
1201
|
+
# reduce 148 omitted
|
1202
|
+
|
1203
|
+
# reduce 149 omitted
|
1204
|
+
|
1205
|
+
# reduce 150 omitted
|
1206
|
+
|
1207
|
+
# reduce 151 omitted
|
1208
|
+
|
1209
|
+
# reduce 152 omitted
|
1210
|
+
|
1211
|
+
# reduce 153 omitted
|
1212
|
+
|
1213
|
+
# reduce 154 omitted
|
1214
|
+
|
1215
|
+
# reduce 155 omitted
|
1216
|
+
|
1217
|
+
# reduce 156 omitted
|
1218
|
+
|
1219
|
+
# reduce 157 omitted
|
1220
|
+
|
1221
|
+
# reduce 158 omitted
|
1222
|
+
|
1223
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 258)
|
1224
|
+
def _reduce_159(val, _values)
|
1123
1225
|
val
|
1124
1226
|
end
|
1125
1227
|
.,.,
|
1126
1228
|
|
1127
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
1128
|
-
def
|
1229
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 260)
|
1230
|
+
def _reduce_160(val, _values)
|
1129
1231
|
Verb.new(val[1])
|
1130
1232
|
end
|
1131
1233
|
.,.,
|
1132
1234
|
|
1133
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
1134
|
-
def
|
1235
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 264)
|
1236
|
+
def _reduce_161(val, _values)
|
1135
1237
|
Plain.new(val[0])
|
1136
1238
|
end
|
1137
1239
|
.,.,
|
1138
1240
|
|
1139
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
1140
|
-
def
|
1241
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 265)
|
1242
|
+
def _reduce_162(val, _values)
|
1141
1243
|
Plain.new([val[0].contents, val[1]])
|
1142
1244
|
end
|
1143
1245
|
.,.,
|
1144
1246
|
|
1145
|
-
module_eval(<<'.,.,', 'rafinlineparser.ry',
|
1146
|
-
def
|
1247
|
+
module_eval(<<'.,.,', 'rafinlineparser.ry', 267)
|
1248
|
+
def _reduce_163(val, _values)
|
1147
1249
|
val[0]
|
1148
1250
|
end
|
1149
1251
|
.,.,
|