1# 2# DO NOT MODIFY!!!! 3# This file is automatically generated by Racc 1.4.9 4# from Racc grammer file "". 5# 6 7require 'racc/parser.rb' 8 9require 'strscan' 10 11class RDoc::RD 12 13## 14# RD format parser for inline markup such as emphasis, links, footnotes, etc. 15 16class InlineParser < Racc::Parser 17 18 19# :stopdoc: 20 21EM_OPEN = '((*' 22EM_OPEN_RE = /\A#{Regexp.quote(EM_OPEN)}/ 23EM_CLOSE = '*))' 24EM_CLOSE_RE = /\A#{Regexp.quote(EM_CLOSE)}/ 25CODE_OPEN = '(({' 26CODE_OPEN_RE = /\A#{Regexp.quote(CODE_OPEN)}/ 27CODE_CLOSE = '}))' 28CODE_CLOSE_RE = /\A#{Regexp.quote(CODE_CLOSE)}/ 29VAR_OPEN = '((|' 30VAR_OPEN_RE = /\A#{Regexp.quote(VAR_OPEN)}/ 31VAR_CLOSE = '|))' 32VAR_CLOSE_RE = /\A#{Regexp.quote(VAR_CLOSE)}/ 33KBD_OPEN = '((%' 34KBD_OPEN_RE = /\A#{Regexp.quote(KBD_OPEN)}/ 35KBD_CLOSE = '%))' 36KBD_CLOSE_RE = /\A#{Regexp.quote(KBD_CLOSE)}/ 37INDEX_OPEN = '((:' 38INDEX_OPEN_RE = /\A#{Regexp.quote(INDEX_OPEN)}/ 39INDEX_CLOSE = ':))' 40INDEX_CLOSE_RE = /\A#{Regexp.quote(INDEX_CLOSE)}/ 41REF_OPEN = '((<' 42REF_OPEN_RE = /\A#{Regexp.quote(REF_OPEN)}/ 43REF_CLOSE = '>))' 44REF_CLOSE_RE = /\A#{Regexp.quote(REF_CLOSE)}/ 45FOOTNOTE_OPEN = '((-' 46FOOTNOTE_OPEN_RE = /\A#{Regexp.quote(FOOTNOTE_OPEN)}/ 47FOOTNOTE_CLOSE = '-))' 48FOOTNOTE_CLOSE_RE = /\A#{Regexp.quote(FOOTNOTE_CLOSE)}/ 49VERB_OPEN = "(('" 50VERB_OPEN_RE = /\A#{Regexp.quote(VERB_OPEN)}/ 51VERB_CLOSE = "'))" 52VERB_CLOSE_RE = /\A#{Regexp.quote(VERB_CLOSE)}/ 53 54BAR = "|" 55BAR_RE = /\A#{Regexp.quote(BAR)}/ 56QUOTE = '"' 57QUOTE_RE = /\A#{Regexp.quote(QUOTE)}/ 58SLASH = "/" 59SLASH_RE = /\A#{Regexp.quote(SLASH)}/ 60BACK_SLASH = "\\" 61BACK_SLASH_RE = /\A#{Regexp.quote(BACK_SLASH)}/ 62URL = "URL:" 63URL_RE = /\A#{Regexp.quote(URL)}/ 64 65other_re_mode = Regexp::EXTENDED 66other_re_mode |= Regexp::MULTILINE 67 68OTHER_RE = Regexp.new( 69 "\\A.+?(?=#{Regexp.quote(EM_OPEN)}|#{Regexp.quote(EM_CLOSE)}| 70 #{Regexp.quote(CODE_OPEN)}|#{Regexp.quote(CODE_CLOSE)}| 71 #{Regexp.quote(VAR_OPEN)}|#{Regexp.quote(VAR_CLOSE)}| 72 #{Regexp.quote(KBD_OPEN)}|#{Regexp.quote(KBD_CLOSE)}| 73 #{Regexp.quote(INDEX_OPEN)}|#{Regexp.quote(INDEX_CLOSE)}| 74 #{Regexp.quote(REF_OPEN)}|#{Regexp.quote(REF_CLOSE)}| 75 #{Regexp.quote(FOOTNOTE_OPEN)}|#{Regexp.quote(FOOTNOTE_CLOSE)}| 76 #{Regexp.quote(VERB_OPEN)}|#{Regexp.quote(VERB_CLOSE)}| 77 #{Regexp.quote(BAR)}| 78 #{Regexp.quote(QUOTE)}| 79 #{Regexp.quote(SLASH)}| 80 #{Regexp.quote(BACK_SLASH)}| 81 #{Regexp.quote(URL)})", other_re_mode) 82 83# :startdoc: 84 85## 86# Creates a new parser for inline markup in the rd format. The +block_parser+ 87# is used to for footnotes and labels in the inline text. 88 89def initialize block_parser 90 @block_parser = block_parser 91end 92 93## 94# Parses the +inline+ text from RD format into RDoc format. 95 96def parse inline 97 @inline = inline 98 @src = StringScanner.new inline 99 @pre = "" 100 @yydebug = true 101 do_parse.to_s 102end 103 104## 105# Returns the next token from the inline text 106 107def next_token 108 return [false, false] if @src.eos? 109# p @src.rest if @yydebug 110 if ret = @src.scan(EM_OPEN_RE) 111 @pre << ret 112 [:EM_OPEN, ret] 113 elsif ret = @src.scan(EM_CLOSE_RE) 114 @pre << ret 115 [:EM_CLOSE, ret] 116 elsif ret = @src.scan(CODE_OPEN_RE) 117 @pre << ret 118 [:CODE_OPEN, ret] 119 elsif ret = @src.scan(CODE_CLOSE_RE) 120 @pre << ret 121 [:CODE_CLOSE, ret] 122 elsif ret = @src.scan(VAR_OPEN_RE) 123 @pre << ret 124 [:VAR_OPEN, ret] 125 elsif ret = @src.scan(VAR_CLOSE_RE) 126 @pre << ret 127 [:VAR_CLOSE, ret] 128 elsif ret = @src.scan(KBD_OPEN_RE) 129 @pre << ret 130 [:KBD_OPEN, ret] 131 elsif ret = @src.scan(KBD_CLOSE_RE) 132 @pre << ret 133 [:KBD_CLOSE, ret] 134 elsif ret = @src.scan(INDEX_OPEN_RE) 135 @pre << ret 136 [:INDEX_OPEN, ret] 137 elsif ret = @src.scan(INDEX_CLOSE_RE) 138 @pre << ret 139 [:INDEX_CLOSE, ret] 140 elsif ret = @src.scan(REF_OPEN_RE) 141 @pre << ret 142 [:REF_OPEN, ret] 143 elsif ret = @src.scan(REF_CLOSE_RE) 144 @pre << ret 145 [:REF_CLOSE, ret] 146 elsif ret = @src.scan(FOOTNOTE_OPEN_RE) 147 @pre << ret 148 [:FOOTNOTE_OPEN, ret] 149 elsif ret = @src.scan(FOOTNOTE_CLOSE_RE) 150 @pre << ret 151 [:FOOTNOTE_CLOSE, ret] 152 elsif ret = @src.scan(VERB_OPEN_RE) 153 @pre << ret 154 [:VERB_OPEN, ret] 155 elsif ret = @src.scan(VERB_CLOSE_RE) 156 @pre << ret 157 [:VERB_CLOSE, ret] 158 elsif ret = @src.scan(BAR_RE) 159 @pre << ret 160 [:BAR, ret] 161 elsif ret = @src.scan(QUOTE_RE) 162 @pre << ret 163 [:QUOTE, ret] 164 elsif ret = @src.scan(SLASH_RE) 165 @pre << ret 166 [:SLASH, ret] 167 elsif ret = @src.scan(BACK_SLASH_RE) 168 @pre << ret 169 [:BACK_SLASH, ret] 170 elsif ret = @src.scan(URL_RE) 171 @pre << ret 172 [:URL, ret] 173 elsif ret = @src.scan(OTHER_RE) 174 @pre << ret 175 [:OTHER, ret] 176 else 177 ret = @src.rest 178 @pre << ret 179 @src.terminate 180 [:OTHER, ret] 181 end 182end 183 184## 185# Raises a ParseError when invalid formatting is found 186 187def on_error(et, ev, values) 188 lines_of_rest = @src.rest.lines.to_a.length 189 prev_words = prev_words_on_error(ev) 190 at = 4 + prev_words.length 191 192 message = <<-MSG 193RD syntax error: line #{@block_parser.line_index - lines_of_rest}: 194...#{prev_words} #{(ev||'')} #{next_words_on_error()} ... 195 MSG 196 197 message << " " * at + "^" * (ev ? ev.length : 0) + "\n" 198 raise ParseError, message 199end 200 201## 202# Returns words before the error 203 204def prev_words_on_error(ev) 205 pre = @pre 206 if ev and /#{Regexp.quote(ev)}$/ =~ pre 207 pre = $` 208 end 209 last_line(pre) 210end 211 212## 213# Returns the last line of +src+ 214 215def last_line(src) 216 if n = src.rindex("\n") 217 src[(n+1) .. -1] 218 else 219 src 220 end 221end 222private :last_line 223 224## 225# Returns words following an error 226 227def next_words_on_error 228 if n = @src.rest.index("\n") 229 @src.rest[0 .. (n-1)] 230 else 231 @src.rest 232 end 233end 234 235## 236# Creates a new RDoc::RD::Inline for the +rdoc+ markup and the raw +reference+ 237 238def inline rdoc, reference = rdoc 239 RDoc::RD::Inline.new rdoc, reference 240end 241 242# :stopdoc: 243##### State transition tables begin ### 244 245racc_action_table = [ 246 63, 64, 65, 153, 81, 62, 76, 78, 79, 87, 247 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 248 77, 80, 152, 63, 64, 65, 61, 81, 62, 76, 249 78, 79, 124, 66, 67, 68, 69, 70, 71, 72, 250 73, 74, 75, 77, 80, 149, 104, 103, 102, 100, 251 101, 99, 115, 116, 117, 164, 105, 106, 107, 108, 252 109, 110, 111, 112, 113, 114, 96, 118, 119, 104, 253 103, 102, 100, 101, 99, 115, 116, 117, 89, 105, 254 106, 107, 108, 109, 110, 111, 112, 113, 114, 88, 255 118, 119, 104, 103, 102, 100, 101, 99, 115, 116, 256 117, 161, 105, 106, 107, 108, 109, 110, 111, 112, 257 113, 114, 86, 118, 119, 104, 103, 102, 100, 101, 258 99, 115, 116, 117, 85, 105, 106, 107, 108, 109, 259 110, 111, 112, 113, 114, 137, 118, 119, 63, 64, 260 65, 61, 81, 62, 76, 78, 79, 84, 66, 67, 261 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 262 22, 23, 24, 25, 26, 21, 18, 19, 176, 177, 263 13, 173, 14, 154, 15, 175, 16, 137, 17, 42, 264 148, 20, 54, 38, 53, 55, 56, 57, 29, 13, 265 177, 14, nil, 15, nil, 16, nil, 17, nil, nil, 266 20, 22, 23, 24, 25, 26, 21, 18, 19, nil, 267 nil, 13, nil, 14, nil, 15, nil, 16, nil, 17, 268 nil, nil, 20, 22, 23, 24, 25, 26, 21, 18, 269 19, nil, nil, 13, nil, 14, nil, 15, nil, 16, 270 nil, 17, nil, nil, 20, 22, 23, 24, 25, 26, 271 21, 18, 19, nil, nil, 13, nil, 14, nil, 15, 272 nil, 16, nil, 17, 145, nil, 20, 54, 133, 53, 273 55, 56, 57, nil, 13, nil, 14, nil, 15, nil, 274 16, nil, 17, nil, nil, 20, 22, 23, 24, 25, 275 26, 21, 18, 19, nil, nil, 13, nil, 14, nil, 276 15, nil, 16, nil, 17, 145, nil, 20, 54, 133, 277 53, 55, 56, 57, nil, 13, nil, 14, nil, 15, 278 nil, 16, nil, 17, nil, nil, 20, 22, 23, 24, 279 25, 26, 21, 18, 19, nil, nil, 13, nil, 14, 280 nil, 15, nil, 16, nil, 17, 145, nil, 20, 54, 281 133, 53, 55, 56, 57, nil, 13, nil, 14, nil, 282 15, nil, 16, nil, 17, 145, nil, 20, 54, 133, 283 53, 55, 56, 57, nil, 13, nil, 14, nil, 15, 284 nil, 16, nil, 17, nil, nil, 20, 22, 23, 24, 285 25, 26, 21, 18, 19, nil, nil, 13, nil, 14, 286 nil, 15, nil, 16, 122, 17, nil, 54, 20, 53, 287 55, 56, 57, nil, 13, nil, 14, nil, 15, nil, 288 16, nil, 17, nil, nil, 20, 22, 23, 24, 25, 289 26, 21, 18, 19, nil, nil, 13, nil, 14, nil, 290 15, nil, 16, nil, 17, nil, nil, 20, 135, 136, 291 54, 133, 53, 55, 56, 57, nil, 13, nil, 14, 292 nil, 15, nil, 16, nil, 17, nil, nil, 20, 135, 293 136, 54, 133, 53, 55, 56, 57, nil, 13, nil, 294 14, nil, 15, nil, 16, nil, 17, nil, nil, 20, 295 135, 136, 54, 133, 53, 55, 56, 57, nil, 13, 296 nil, 14, nil, 15, nil, 16, nil, 17, nil, nil, 297 20, 172, 135, 136, 54, 133, 53, 55, 56, 57, 298 165, 135, 136, 54, 133, 53, 55, 56, 57, 95, 299 nil, nil, 54, 91, 53, 55, 56, 57, 174, 135, 300 136, 54, 133, 53, 55, 56, 57, 158, nil, nil, 301 54, nil, 53, 55, 56, 57, 178, 135, 136, 54, 302 133, 53, 55, 56, 57, 145, nil, nil, 54, 133, 303 53, 55, 56, 57, 145, nil, nil, 54, 133, 53, 304 55, 56, 57, 135, 136, 54, 133, 53, 55, 56, 305 57, 135, 136, 54, 133, 53, 55, 56, 57, 135, 306 136, 54, 133, 53, 55, 56, 57, 22, 23, 24, 307 25, 26, 21 ] 308 309racc_action_check = [ 310 61, 61, 61, 61, 61, 61, 61, 61, 61, 33, 311 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 312 61, 61, 61, 59, 59, 59, 59, 59, 59, 59, 313 59, 59, 41, 59, 59, 59, 59, 59, 59, 59, 314 59, 59, 59, 59, 59, 59, 97, 97, 97, 97, 315 97, 97, 97, 97, 97, 125, 97, 97, 97, 97, 316 97, 97, 97, 97, 97, 97, 37, 97, 97, 38, 317 38, 38, 38, 38, 38, 38, 38, 38, 35, 38, 318 38, 38, 38, 38, 38, 38, 38, 38, 38, 34, 319 38, 38, 155, 155, 155, 155, 155, 155, 155, 155, 320 155, 100, 155, 155, 155, 155, 155, 155, 155, 155, 321 155, 155, 32, 155, 155, 91, 91, 91, 91, 91, 322 91, 91, 91, 91, 31, 91, 91, 91, 91, 91, 323 91, 91, 91, 91, 91, 43, 91, 91, 20, 20, 324 20, 20, 20, 20, 20, 20, 20, 29, 20, 20, 325 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 326 17, 17, 17, 17, 17, 17, 17, 17, 165, 165, 327 17, 162, 17, 90, 17, 164, 17, 94, 17, 18, 328 58, 17, 18, 18, 18, 18, 18, 18, 1, 18, 329 172, 18, nil, 18, nil, 18, nil, 18, nil, nil, 330 18, 19, 19, 19, 19, 19, 19, 19, 19, nil, 331 nil, 19, nil, 19, nil, 19, nil, 19, nil, 19, 332 nil, nil, 19, 16, 16, 16, 16, 16, 16, 16, 333 16, nil, nil, 16, nil, 16, nil, 16, nil, 16, 334 nil, 16, nil, nil, 16, 15, 15, 15, 15, 15, 335 15, 15, 15, nil, nil, 15, nil, 15, nil, 15, 336 nil, 15, nil, 15, 45, nil, 15, 45, 45, 45, 337 45, 45, 45, nil, 45, nil, 45, nil, 45, nil, 338 45, nil, 45, nil, nil, 45, 14, 14, 14, 14, 339 14, 14, 14, 14, nil, nil, 14, nil, 14, nil, 340 14, nil, 14, nil, 14, 146, nil, 14, 146, 146, 341 146, 146, 146, 146, nil, 146, nil, 146, nil, 146, 342 nil, 146, nil, 146, nil, nil, 146, 13, 13, 13, 343 13, 13, 13, 13, 13, nil, nil, 13, nil, 13, 344 nil, 13, nil, 13, nil, 13, 138, nil, 13, 138, 345 138, 138, 138, 138, 138, nil, 138, nil, 138, nil, 346 138, nil, 138, nil, 138, 44, nil, 138, 44, 44, 347 44, 44, 44, 44, nil, 44, nil, 44, nil, 44, 348 nil, 44, nil, 44, nil, nil, 44, 2, 2, 2, 349 2, 2, 2, 2, 2, nil, nil, 2, nil, 2, 350 nil, 2, nil, 2, 39, 2, nil, 39, 2, 39, 351 39, 39, 39, nil, 39, nil, 39, nil, 39, nil, 352 39, nil, 39, nil, nil, 39, 0, 0, 0, 0, 353 0, 0, 0, 0, nil, nil, 0, nil, 0, nil, 354 0, nil, 0, nil, 0, nil, nil, 0, 122, 122, 355 122, 122, 122, 122, 122, 122, nil, 122, nil, 122, 356 nil, 122, nil, 122, nil, 122, nil, nil, 122, 127, 357 127, 127, 127, 127, 127, 127, 127, nil, 127, nil, 358 127, nil, 127, nil, 127, nil, 127, nil, nil, 127, 359 42, 42, 42, 42, 42, 42, 42, 42, nil, 42, 360 nil, 42, nil, 42, nil, 42, nil, 42, nil, nil, 361 42, 159, 159, 159, 159, 159, 159, 159, 159, 159, 362 126, 126, 126, 126, 126, 126, 126, 126, 126, 36, 363 nil, nil, 36, 36, 36, 36, 36, 36, 163, 163, 364 163, 163, 163, 163, 163, 163, 163, 92, nil, nil, 365 92, nil, 92, 92, 92, 92, 171, 171, 171, 171, 366 171, 171, 171, 171, 171, 142, nil, nil, 142, 142, 367 142, 142, 142, 142, 52, nil, nil, 52, 52, 52, 368 52, 52, 52, 95, 95, 95, 95, 95, 95, 95, 369 95, 168, 168, 168, 168, 168, 168, 168, 168, 158, 370 158, 158, 158, 158, 158, 158, 158, 27, 27, 27, 371 27, 27, 27 ] 372 373racc_action_pointer = [ 374 423, 188, 384, nil, nil, nil, nil, nil, nil, nil, 375 nil, nil, nil, 324, 283, 242, 220, 157, 176, 198, 376 135, nil, nil, nil, nil, nil, nil, 604, nil, 147, 377 nil, 110, 96, -9, 69, 56, 526, 43, 66, 401, 378 nil, 28, 486, 130, 362, 261, nil, nil, nil, nil, 379 nil, nil, 571, nil, nil, nil, nil, nil, 169, 20, 380 nil, -3, nil, nil, nil, nil, nil, nil, nil, nil, 381 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 382 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 383 150, 112, 544, nil, 172, 579, nil, 43, nil, nil, 384 95, nil, nil, nil, nil, nil, nil, nil, nil, nil, 385 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 386 nil, nil, 444, nil, nil, 52, 517, 465, nil, nil, 387 nil, nil, nil, nil, nil, nil, nil, nil, 343, nil, 388 nil, nil, 562, nil, nil, nil, 302, nil, nil, nil, 389 nil, nil, nil, nil, nil, 89, nil, nil, 595, 508, 390 nil, nil, 168, 535, 171, 164, nil, nil, 587, nil, 391 nil, 553, 185, nil, nil, nil, nil, nil, nil ] 392 393racc_action_default = [ 394 -138, -138, -1, -3, -4, -5, -6, -7, -8, -9, 395 -10, -11, -12, -138, -138, -138, -138, -138, -138, -138, 396 -138, -103, -104, -105, -106, -107, -108, -111, -110, -138, 397 -2, -138, -138, -138, -138, -138, -138, -138, -138, -27, 398 -26, -35, -138, -58, -41, -40, -47, -48, -49, -50, 399 -51, -52, -63, -66, -67, -68, -69, -70, -138, -138, 400 -112, -138, -116, -117, -118, -119, -120, -121, -122, -123, 401 -124, -125, -126, -127, -128, -129, -130, -131, -132, -133, 402 -134, -135, -137, -109, 179, -13, -14, -15, -16, -17, 403 -138, -138, -23, -22, -33, -138, -19, -24, -79, -80, 404 -138, -82, -83, -84, -85, -86, -87, -88, -89, -90, 405 -91, -92, -93, -94, -95, -96, -97, -98, -99, -100, 406 -25, -35, -138, -58, -28, -138, -59, -42, -46, -55, 407 -56, -65, -71, -72, -75, -76, -77, -31, -38, -44, 408 -53, -54, -57, -61, -73, -74, -39, -62, -101, -102, 409 -136, -113, -114, -115, -18, -20, -21, -33, -138, -138, 410 -78, -81, -138, -59, -36, -37, -64, -45, -59, -43, 411 -60, -138, -34, -36, -37, -29, -30, -32, -34 ] 412 413racc_goto_table = [ 414 126, 44, 125, 43, 144, 144, 160, 93, 97, 52, 415 166, 82, 144, 41, 40, 39, 138, 146, 169, 147, 416 167, 94, 44, 1, 123, 129, 169, 52, 36, 37, 417 52, 90, 59, 92, 121, 120, 31, 32, 33, 34, 418 35, 170, 58, 166, 83, 30, 170, 166, 151, nil, 419 150, nil, 166, 159, 8, 166, 8, nil, nil, nil, 420 nil, 155, nil, 156, 160, nil, nil, 8, 8, 8, 421 8, 8, nil, 8, 4, nil, 4, 157, nil, nil, 422 163, nil, 162, 52, nil, 168, nil, 4, 4, 4, 423 4, 4, nil, 4, nil, nil, nil, nil, 144, nil, 424 nil, nil, 144, nil, nil, 129, 144, 144, nil, 5, 425 129, 5, nil, nil, nil, nil, 171, 6, nil, 6, 426 nil, nil, 5, 5, 5, 5, 5, 11, 5, 11, 427 6, 6, 6, 6, 6, 7, 6, 7, nil, nil, 428 11, 11, 11, 11, 11, nil, 11, nil, 7, 7, 429 7, 7, 7, nil, 7 ] 430 431racc_goto_check = [ 432 22, 24, 21, 23, 36, 36, 37, 18, 16, 34, 433 35, 41, 36, 20, 19, 17, 25, 25, 28, 32, 434 29, 23, 24, 1, 23, 24, 28, 34, 13, 15, 435 34, 14, 38, 17, 20, 19, 1, 1, 1, 1, 436 1, 33, 1, 35, 39, 3, 33, 35, 42, nil, 437 41, nil, 35, 22, 8, 35, 8, nil, nil, nil, 438 nil, 16, nil, 18, 37, nil, nil, 8, 8, 8, 439 8, 8, nil, 8, 4, nil, 4, 23, nil, nil, 440 22, nil, 21, 34, nil, 22, nil, 4, 4, 4, 441 4, 4, nil, 4, nil, nil, nil, nil, 36, nil, 442 nil, nil, 36, nil, nil, 24, 36, 36, nil, 5, 443 24, 5, nil, nil, nil, nil, 22, 6, nil, 6, 444 nil, nil, 5, 5, 5, 5, 5, 11, 5, 11, 445 6, 6, 6, 6, 6, 7, 6, 7, nil, nil, 446 11, 11, 11, 11, 11, nil, 11, nil, 7, 7, 447 7, 7, 7, nil, 7 ] 448 449racc_goto_pointer = [ 450 nil, 23, nil, 43, 74, 109, 117, 135, 54, nil, 451 nil, 127, nil, 10, -5, 11, -30, -3, -29, -4, 452 -5, -40, -42, -15, -17, -28, nil, nil, -120, -107, 453 nil, nil, -33, -101, -9, -116, -40, -91, 12, 17, 454 nil, -9, -13 ] 455 456racc_goto_default = [ 457 nil, nil, 2, 3, 46, 47, 48, 49, 50, 9, 458 10, 51, 12, nil, nil, nil, nil, nil, nil, nil, 459 nil, nil, nil, nil, 140, nil, 45, 127, 139, 128, 460 141, 130, 142, 143, 132, 131, 134, 98, nil, 28, 461 27, nil, 60 ] 462 463racc_reduce_table = [ 464 0, 0, :racc_error, 465 1, 27, :_reduce_none, 466 2, 28, :_reduce_2, 467 1, 28, :_reduce_3, 468 1, 29, :_reduce_none, 469 1, 29, :_reduce_none, 470 1, 29, :_reduce_none, 471 1, 29, :_reduce_none, 472 1, 29, :_reduce_none, 473 1, 29, :_reduce_none, 474 1, 29, :_reduce_none, 475 1, 29, :_reduce_none, 476 1, 29, :_reduce_none, 477 3, 30, :_reduce_13, 478 3, 31, :_reduce_14, 479 3, 32, :_reduce_15, 480 3, 33, :_reduce_16, 481 3, 34, :_reduce_17, 482 4, 35, :_reduce_18, 483 3, 35, :_reduce_19, 484 2, 40, :_reduce_20, 485 2, 40, :_reduce_21, 486 1, 40, :_reduce_22, 487 1, 40, :_reduce_23, 488 2, 41, :_reduce_24, 489 2, 41, :_reduce_25, 490 1, 41, :_reduce_26, 491 1, 41, :_reduce_27, 492 2, 39, :_reduce_none, 493 4, 39, :_reduce_29, 494 4, 39, :_reduce_30, 495 2, 43, :_reduce_31, 496 4, 43, :_reduce_32, 497 1, 44, :_reduce_33, 498 3, 44, :_reduce_34, 499 1, 45, :_reduce_none, 500 3, 45, :_reduce_36, 501 3, 45, :_reduce_37, 502 2, 46, :_reduce_38, 503 2, 46, :_reduce_39, 504 1, 46, :_reduce_40, 505 1, 46, :_reduce_41, 506 1, 47, :_reduce_none, 507 2, 51, :_reduce_43, 508 1, 51, :_reduce_44, 509 2, 53, :_reduce_45, 510 1, 53, :_reduce_46, 511 1, 50, :_reduce_none, 512 1, 50, :_reduce_none, 513 1, 50, :_reduce_none, 514 1, 50, :_reduce_none, 515 1, 50, :_reduce_none, 516 1, 50, :_reduce_none, 517 1, 54, :_reduce_none, 518 1, 54, :_reduce_none, 519 1, 55, :_reduce_none, 520 1, 55, :_reduce_none, 521 1, 56, :_reduce_57, 522 1, 52, :_reduce_58, 523 1, 57, :_reduce_59, 524 2, 58, :_reduce_60, 525 1, 58, :_reduce_none, 526 2, 49, :_reduce_62, 527 1, 49, :_reduce_none, 528 2, 48, :_reduce_64, 529 1, 48, :_reduce_none, 530 1, 60, :_reduce_none, 531 1, 60, :_reduce_none, 532 1, 60, :_reduce_none, 533 1, 60, :_reduce_none, 534 1, 60, :_reduce_none, 535 1, 62, :_reduce_none, 536 1, 62, :_reduce_none, 537 1, 59, :_reduce_none, 538 1, 59, :_reduce_none, 539 1, 61, :_reduce_none, 540 1, 61, :_reduce_none, 541 1, 61, :_reduce_none, 542 2, 42, :_reduce_78, 543 1, 42, :_reduce_none, 544 1, 63, :_reduce_none, 545 2, 63, :_reduce_none, 546 1, 63, :_reduce_none, 547 1, 63, :_reduce_none, 548 1, 63, :_reduce_none, 549 1, 63, :_reduce_none, 550 1, 63, :_reduce_none, 551 1, 63, :_reduce_none, 552 1, 63, :_reduce_none, 553 1, 63, :_reduce_none, 554 1, 63, :_reduce_none, 555 1, 63, :_reduce_none, 556 1, 63, :_reduce_none, 557 1, 63, :_reduce_none, 558 1, 63, :_reduce_none, 559 1, 63, :_reduce_none, 560 1, 63, :_reduce_none, 561 1, 63, :_reduce_none, 562 1, 63, :_reduce_none, 563 1, 63, :_reduce_none, 564 1, 63, :_reduce_none, 565 3, 36, :_reduce_101, 566 3, 37, :_reduce_102, 567 1, 65, :_reduce_none, 568 1, 65, :_reduce_none, 569 1, 65, :_reduce_none, 570 1, 65, :_reduce_none, 571 1, 65, :_reduce_none, 572 1, 65, :_reduce_none, 573 2, 66, :_reduce_109, 574 1, 66, :_reduce_none, 575 1, 38, :_reduce_111, 576 1, 67, :_reduce_none, 577 2, 67, :_reduce_113, 578 2, 67, :_reduce_114, 579 2, 67, :_reduce_115, 580 1, 68, :_reduce_none, 581 1, 68, :_reduce_none, 582 1, 68, :_reduce_none, 583 1, 68, :_reduce_none, 584 1, 68, :_reduce_none, 585 1, 68, :_reduce_none, 586 1, 68, :_reduce_none, 587 1, 68, :_reduce_none, 588 1, 68, :_reduce_none, 589 1, 68, :_reduce_none, 590 1, 68, :_reduce_none, 591 1, 68, :_reduce_none, 592 1, 68, :_reduce_none, 593 1, 68, :_reduce_none, 594 1, 68, :_reduce_none, 595 1, 68, :_reduce_none, 596 1, 68, :_reduce_none, 597 1, 68, :_reduce_none, 598 1, 68, :_reduce_none, 599 1, 68, :_reduce_none, 600 2, 64, :_reduce_136, 601 1, 64, :_reduce_none ] 602 603racc_reduce_n = 138 604 605racc_shift_n = 179 606 607racc_token_table = { 608 false => 0, 609 :error => 1, 610 :EX_LOW => 2, 611 :QUOTE => 3, 612 :BAR => 4, 613 :SLASH => 5, 614 :BACK_SLASH => 6, 615 :URL => 7, 616 :OTHER => 8, 617 :REF_OPEN => 9, 618 :FOOTNOTE_OPEN => 10, 619 :FOOTNOTE_CLOSE => 11, 620 :EX_HIGH => 12, 621 :EM_OPEN => 13, 622 :EM_CLOSE => 14, 623 :CODE_OPEN => 15, 624 :CODE_CLOSE => 16, 625 :VAR_OPEN => 17, 626 :VAR_CLOSE => 18, 627 :KBD_OPEN => 19, 628 :KBD_CLOSE => 20, 629 :INDEX_OPEN => 21, 630 :INDEX_CLOSE => 22, 631 :REF_CLOSE => 23, 632 :VERB_OPEN => 24, 633 :VERB_CLOSE => 25 } 634 635racc_nt_base = 26 636 637racc_use_result_var = true 638 639Racc_arg = [ 640 racc_action_table, 641 racc_action_check, 642 racc_action_default, 643 racc_action_pointer, 644 racc_goto_table, 645 racc_goto_check, 646 racc_goto_default, 647 racc_goto_pointer, 648 racc_nt_base, 649 racc_reduce_table, 650 racc_token_table, 651 racc_shift_n, 652 racc_reduce_n, 653 racc_use_result_var ] 654 655Racc_token_to_s_table = [ 656 "$end", 657 "error", 658 "EX_LOW", 659 "QUOTE", 660 "BAR", 661 "SLASH", 662 "BACK_SLASH", 663 "URL", 664 "OTHER", 665 "REF_OPEN", 666 "FOOTNOTE_OPEN", 667 "FOOTNOTE_CLOSE", 668 "EX_HIGH", 669 "EM_OPEN", 670 "EM_CLOSE", 671 "CODE_OPEN", 672 "CODE_CLOSE", 673 "VAR_OPEN", 674 "VAR_CLOSE", 675 "KBD_OPEN", 676 "KBD_CLOSE", 677 "INDEX_OPEN", 678 "INDEX_CLOSE", 679 "REF_CLOSE", 680 "VERB_OPEN", 681 "VERB_CLOSE", 682 "$start", 683 "content", 684 "elements", 685 "element", 686 "emphasis", 687 "code", 688 "var", 689 "keyboard", 690 "index", 691 "reference", 692 "footnote", 693 "verb", 694 "normal_str_ele", 695 "substitute", 696 "ref_label", 697 "ref_label2", 698 "ref_url_strings", 699 "filename", 700 "element_label", 701 "element_label2", 702 "ref_subst_content", 703 "ref_subst_content_q", 704 "ref_subst_strings_q", 705 "ref_subst_strings_first", 706 "ref_subst_ele2", 707 "ref_subst_eles", 708 "ref_subst_str_ele_first", 709 "ref_subst_eles_q", 710 "ref_subst_ele", 711 "ref_subst_ele_q", 712 "ref_subst_str_ele", 713 "ref_subst_str_ele_q", 714 "ref_subst_strings", 715 "ref_subst_string3", 716 "ref_subst_string", 717 "ref_subst_string_q", 718 "ref_subst_string2", 719 "ref_url_string", 720 "verb_strings", 721 "normal_string", 722 "normal_strings", 723 "verb_string", 724 "verb_normal_string" ] 725 726Racc_debug_parser = false 727 728##### State transition tables end ##### 729 730# reduce 0 omitted 731 732# reduce 1 omitted 733 734def _reduce_2(val, _values, result) 735 result.append val[1] 736 result 737end 738 739def _reduce_3(val, _values, result) 740 result = val[0] 741 result 742end 743 744# reduce 4 omitted 745 746# reduce 5 omitted 747 748# reduce 6 omitted 749 750# reduce 7 omitted 751 752# reduce 8 omitted 753 754# reduce 9 omitted 755 756# reduce 10 omitted 757 758# reduce 11 omitted 759 760# reduce 12 omitted 761 762def _reduce_13(val, _values, result) 763 content = val[1] 764 result = inline "<em>#{content}</em>", content 765 766 result 767end 768 769def _reduce_14(val, _values, result) 770 content = val[1] 771 result = inline "<code>#{content}</code>", content 772 773 result 774end 775 776def _reduce_15(val, _values, result) 777 content = val[1] 778 result = inline "+#{content}+", content 779 780 result 781end 782 783def _reduce_16(val, _values, result) 784 content = val[1] 785 result = inline "<tt>#{content}</tt>", content 786 787 result 788end 789 790def _reduce_17(val, _values, result) 791 label = val[1] 792 @block_parser.add_label label.reference 793 result = "<span id=\"label-#{label}\">#{label}</span>" 794 795 result 796end 797 798def _reduce_18(val, _values, result) 799 result = "{#{val[1]}}[#{val[2].join}]" 800 801 result 802end 803 804def _reduce_19(val, _values, result) 805 scheme, inline = val[1] 806 807 result = "{#{inline}}[#{scheme}#{inline.reference}]" 808 809 result 810end 811 812def _reduce_20(val, _values, result) 813 result = [nil, inline(val[1])] 814 815 result 816end 817 818def _reduce_21(val, _values, result) 819 result = [ 820 'rdoc-label:', 821 inline("#{val[0].reference}/#{val[1].reference}") 822 ] 823 824 result 825end 826 827def _reduce_22(val, _values, result) 828 result = ['rdoc-label:', val[0].reference] 829 830 result 831end 832 833def _reduce_23(val, _values, result) 834 result = ['rdoc-label:', "#{val[0].reference}/"] 835 836 result 837end 838 839def _reduce_24(val, _values, result) 840 result = [nil, inline(val[1])] 841 842 result 843end 844 845def _reduce_25(val, _values, result) 846 result = [ 847 'rdoc-label:', 848 inline("#{val[0].reference}/#{val[1].reference}") 849 ] 850 851 result 852end 853 854def _reduce_26(val, _values, result) 855 result = ['rdoc-label:', val[0]] 856 857 result 858end 859 860def _reduce_27(val, _values, result) 861 ref = val[0].reference 862 result = ['rdoc-label:', inline(ref, "#{ref}/")] 863 864 result 865end 866 867# reduce 28 omitted 868 869def _reduce_29(val, _values, result) 870 result = val[1] 871 result 872end 873 874def _reduce_30(val, _values, result) 875 result = val[1] 876 result 877end 878 879def _reduce_31(val, _values, result) 880 result = inline val[0] 881 882 result 883end 884 885def _reduce_32(val, _values, result) 886 result = inline "\"#{val[1]}\"" 887 888 result 889end 890 891def _reduce_33(val, _values, result) 892 result = inline val[0] 893 894 result 895end 896 897def _reduce_34(val, _values, result) 898 result = inline "\"#{val[1]}\"" 899 900 result 901end 902 903# reduce 35 omitted 904 905def _reduce_36(val, _values, result) 906 result = val[1] 907 result 908end 909 910def _reduce_37(val, _values, result) 911 result = inline val[1] 912 result 913end 914 915def _reduce_38(val, _values, result) 916 result = val[0].append val[1] 917 918 result 919end 920 921def _reduce_39(val, _values, result) 922 result = val[0].append val[1] 923 924 result 925end 926 927def _reduce_40(val, _values, result) 928 result = val[0] 929 930 result 931end 932 933def _reduce_41(val, _values, result) 934 result = inline val[0] 935 936 result 937end 938 939# reduce 42 omitted 940 941def _reduce_43(val, _values, result) 942 result = val[0].append val[1] 943 944 result 945end 946 947def _reduce_44(val, _values, result) 948 result = inline val[0] 949 950 result 951end 952 953def _reduce_45(val, _values, result) 954 result = val[0].append val[1] 955 956 result 957end 958 959def _reduce_46(val, _values, result) 960 result = val[0] 961 962 result 963end 964 965# reduce 47 omitted 966 967# reduce 48 omitted 968 969# reduce 49 omitted 970 971# reduce 50 omitted 972 973# reduce 51 omitted 974 975# reduce 52 omitted 976 977# reduce 53 omitted 978 979# reduce 54 omitted 980 981# reduce 55 omitted 982 983# reduce 56 omitted 984 985def _reduce_57(val, _values, result) 986 result = val[0] 987 988 result 989end 990 991def _reduce_58(val, _values, result) 992 result = inline val[0] 993 994 result 995end 996 997def _reduce_59(val, _values, result) 998 result = inline val[0] 999 1000 result 1001end 1002 1003def _reduce_60(val, _values, result) 1004 result << val[1] 1005 result 1006end 1007 1008# reduce 61 omitted 1009 1010def _reduce_62(val, _values, result) 1011 result << val[1] 1012 1013 result 1014end 1015 1016# reduce 63 omitted 1017 1018def _reduce_64(val, _values, result) 1019 result << val[1] 1020 1021 result 1022end 1023 1024# reduce 65 omitted 1025 1026# reduce 66 omitted 1027 1028# reduce 67 omitted 1029 1030# reduce 68 omitted 1031 1032# reduce 69 omitted 1033 1034# reduce 70 omitted 1035 1036# reduce 71 omitted 1037 1038# reduce 72 omitted 1039 1040# reduce 73 omitted 1041 1042# reduce 74 omitted 1043 1044# reduce 75 omitted 1045 1046# reduce 76 omitted 1047 1048# reduce 77 omitted 1049 1050def _reduce_78(val, _values, result) 1051 result << val[1] 1052 result 1053end 1054 1055# reduce 79 omitted 1056 1057# reduce 80 omitted 1058 1059# reduce 81 omitted 1060 1061# reduce 82 omitted 1062 1063# reduce 83 omitted 1064 1065# reduce 84 omitted 1066 1067# reduce 85 omitted 1068 1069# reduce 86 omitted 1070 1071# reduce 87 omitted 1072 1073# reduce 88 omitted 1074 1075# reduce 89 omitted 1076 1077# reduce 90 omitted 1078 1079# reduce 91 omitted 1080 1081# reduce 92 omitted 1082 1083# reduce 93 omitted 1084 1085# reduce 94 omitted 1086 1087# reduce 95 omitted 1088 1089# reduce 96 omitted 1090 1091# reduce 97 omitted 1092 1093# reduce 98 omitted 1094 1095# reduce 99 omitted 1096 1097# reduce 100 omitted 1098 1099def _reduce_101(val, _values, result) 1100 index = @block_parser.add_footnote val[1].rdoc 1101 result = "{*#{index}}[rdoc-label:foottext-#{index}:footmark-#{index}]" 1102 1103 result 1104end 1105 1106def _reduce_102(val, _values, result) 1107 result = inline "<tt>#{val[1]}</tt>", val[1] 1108 1109 result 1110end 1111 1112# reduce 103 omitted 1113 1114# reduce 104 omitted 1115 1116# reduce 105 omitted 1117 1118# reduce 106 omitted 1119 1120# reduce 107 omitted 1121 1122# reduce 108 omitted 1123 1124def _reduce_109(val, _values, result) 1125 result << val[1] 1126 result 1127end 1128 1129# reduce 110 omitted 1130 1131def _reduce_111(val, _values, result) 1132 result = inline val[0] 1133 1134 result 1135end 1136 1137# reduce 112 omitted 1138 1139def _reduce_113(val, _values, result) 1140 result = val[1] 1141 result 1142end 1143 1144def _reduce_114(val, _values, result) 1145 result = val[1] 1146 result 1147end 1148 1149def _reduce_115(val, _values, result) 1150 result = val[1] 1151 result 1152end 1153 1154# reduce 116 omitted 1155 1156# reduce 117 omitted 1157 1158# reduce 118 omitted 1159 1160# reduce 119 omitted 1161 1162# reduce 120 omitted 1163 1164# reduce 121 omitted 1165 1166# reduce 122 omitted 1167 1168# reduce 123 omitted 1169 1170# reduce 124 omitted 1171 1172# reduce 125 omitted 1173 1174# reduce 126 omitted 1175 1176# reduce 127 omitted 1177 1178# reduce 128 omitted 1179 1180# reduce 129 omitted 1181 1182# reduce 130 omitted 1183 1184# reduce 131 omitted 1185 1186# reduce 132 omitted 1187 1188# reduce 133 omitted 1189 1190# reduce 134 omitted 1191 1192# reduce 135 omitted 1193 1194def _reduce_136(val, _values, result) 1195 result << val[1] 1196 result 1197end 1198 1199# reduce 137 omitted 1200 1201def _reduce_none(val, _values, result) 1202 val[0] 1203end 1204 1205end # class InlineParser 1206 1207end 1208