# encoding: ascii-8bit require 'rpdf2txt-rockit/rockit' module Rpdf2txt # Parser for PdfText # created by Rockit version 0.3.8 on Tue Jan 18 07:42:19 +0100 2011 # Rockit is copyright (c) 2001 Robert Feldt, feldt@ce.chalmers.se # and licensed under GPL # but this parser is under LGPL tokens = [ t1 = EofToken.new("EOF",/^(¤~~¤¤~^^~3062921542)/), t2 = Token.new("NUMERIC",/^(-?(([0-9]*[.,_][0-9]+)|([0-9]+)))/n), t3 = Token.new("SPACE",/^(\s+)/n,:Skip), t4 = Token.new("HEXSNIPPET",/^([0-9A-F]+)/in), t5 = Token.new("ALPHANUMERIC",/^([A-Z0-9\-_?\.]+)/in), t6 = Token.new("TEXTSNIPPET",/^(\(([^\)\\]|\\[\)\\]?)+\))/n), t7 = Token.new("TJSNIPPET",/^(\((\\\(|\([^\(\)]*\)|[^\)\\]|\\[\)\\]?)*\))/n), t8 = Token.new("IDENTIFIER",/^\/[\w:+\#\-\.]*(, ?[\w:+\#\-\.]*)*/n), t9 = Token.new("WORD",/^([a-z\.]{2,})/in), t10 = StringToken.new("StrToken4464918","BT"), t11 = StringToken.new("StrToken4667865","ET"), t12 = StringToken.new("StrToken93","["), t13 = RegexpToken.new("RegexpToken-2048187092",/\]\s*TJ/n), t14 = StringToken.new("StrToken5682625","Tm"), t15 = StringToken.new("StrToken5682583","TD"), t16 = StringToken.new("StrToken5682616","Td"), t17 = StringToken.new("StrToken5682615","Tc"), t18 = StringToken.new("StrToken5682636","Tw"), t19 = StringToken.new("StrToken48","/"), t20 = StringToken.new("StrToken5682618","Tf"), t21 = StringToken.new("StrToken5682591","TL"), t22 = StringToken.new("StrToken5682622","Tj"), t23 = StringToken.new("StrToken61","<"), t24 = StringToken.new("StrToken63",">"), t25 = StringToken.new("StrToken343560731","())"), t26 = StringToken.new("StrToken5682631","Ts"), t27 = StringToken.new("StrToken5682556","T*"), t28 = StringToken.new("StrToken5682639","Tz"), t29 = StringToken.new("StrToken7712088","rg"), t30 = StringToken.new("StrToken5682630","Tr"), t31 = StringToken.new("StrToken40","'"), t32 = StringToken.new("StrToken35","\""), t33 = StringToken.new("StrToken122","w"), t34 = RegexpToken.new("RegexpToken3560658",/^BT$/n), t35 = RegexpToken.new("RegexpToken3564027",/^ET$/n), t36 = StringToken.new("StrToken4059000","<<"), t37 = StringToken.new("StrToken4194300",">>"), t38 = StringToken.new("StrToken110","k"), t39 = RegexpToken.new("RegexpToken155581294",/[gc]s/in), t40 = RegexpToken.new("RegexpToken-2147147720",/BDC|BMC/), t41 = StringToken.new("StrToken593066754","EMC"), t42 = RegexpToken.new("RegexpToken5599873",/scn?/in), t43 = RegexpToken.new("RegexpToken-265279295",/[gijJMG]/n), t44 = StringToken.new("StrToken5547288","RG"), t45 = StringToken.new("StrToken6156152","[]"), t46 = StringToken.new("StrToken103","d") ] productions = [ p1 = Production.new("Target'".intern,[:Target],SyntaxTreeBuilder.new("Target'",["target"],[])), p2 = Production.new(:Target,[t10, :Exprs, t11],SyntaxTreeBuilder.new("Target",["_", "values", "_"],[])), p3 = Production.new(:Exprs,[:Plus70010106411320],LiftingSyntaxTreeBuilder.new(["values"],[])), p4 = Production.new(:Plus70010106411320,[:Plus70010106411320, :Expr],ArrayNodeBuilder.new([1],0,nil,nil,[],true)), p5 = Production.new(:Plus70010106411320,[:Expr],ArrayNodeBuilder.new([0],nil,nil,nil,[],true)), p6 = Production.new(:Expr,[:TmElement],LiftingSyntaxTreeBuilder.new(["val"],[])), p7 = Production.new(:Expr,[:Array],LiftingSyntaxTreeBuilder.new(["val"],[])), p8 = Production.new(:Expr,[:TDElement],LiftingSyntaxTreeBuilder.new(["val"],[])), p9 = Production.new(:Expr,[:TdElement],LiftingSyntaxTreeBuilder.new(["val"],[])), p10 = Production.new(:Expr,[:TcElement],LiftingSyntaxTreeBuilder.new(["val"],[])), p11 = Production.new(:Expr,[:TWElement],LiftingSyntaxTreeBuilder.new(["val"],[])), p12 = Production.new(:Expr,[:TfElement],LiftingSyntaxTreeBuilder.new(["val"],[])), p13 = Production.new(:Expr,[:TjElement],LiftingSyntaxTreeBuilder.new(["val"],[])), p14 = Production.new(:Expr,[:TrElement],LiftingSyntaxTreeBuilder.new(["val"],[])), p15 = Production.new(:Expr,[:TjHex],LiftingSyntaxTreeBuilder.new(["val"],[])), p16 = Production.new(:Expr,[:TStarElement],LiftingSyntaxTreeBuilder.new(["val"],[])), p17 = Production.new(:Expr,[:TSElement],LiftingSyntaxTreeBuilder.new(["val"],[])), p18 = Production.new(:Expr,[:TLElement],LiftingSyntaxTreeBuilder.new(["val"],[])), p19 = Production.new(:Expr,[:TZElement],LiftingSyntaxTreeBuilder.new(["val"],[])), p20 = Production.new(:Expr,[:RgElement],LiftingSyntaxTreeBuilder.new(["val"],[])), p21 = Production.new(:Expr,[:Apostroph],LiftingSyntaxTreeBuilder.new(["val"],[])), p22 = Production.new(:Expr,[:Quotes],LiftingSyntaxTreeBuilder.new(["val"],[])), p23 = Production.new(:Expr,[:LineWidth],LiftingSyntaxTreeBuilder.new(["val"],[])), p24 = Production.new(:Expr,[:UElement],LiftingSyntaxTreeBuilder.new(["val"],[])), p25 = Production.new(:Array,[t12, :TJArrayElements, t13],SyntaxTreeBuilder.new("Array",["_", "values", "_"],[])), p26 = Production.new(:TmElement,[t2, t2, t2, t2, t2, t2, t14],SyntaxTreeBuilder.new("Tm",["xscale", "alpha", "beta", "yscale", "tmx", "tmy", "_"],[])), p27 = Production.new(:TDElement,[t2, t2, t15],SyntaxTreeBuilder.new("TD",["tdleadx", "tdleady", "_"],[])), p28 = Production.new(:TdElement,[t2, t2, t16],SyntaxTreeBuilder.new("Td",["xpos", "ypos", "_"],[])), p29 = Production.new(:TcElement,[t2, t17],SyntaxTreeBuilder.new("Tc",["charspace", "_"],[])), p30 = Production.new(:TWElement,[t2, t18],SyntaxTreeBuilder.new("TW",["wordspace", "_"],[])), p31 = Production.new(:TfElement,[t19, t5, t2, t20],SyntaxTreeBuilder.new("Tf",["_", "fontname", "fontsize", "_"],[])), p32 = Production.new(:TLElement,[t2, t21],SyntaxTreeBuilder.new("TL",["lead", "_"],[])), p33 = Production.new(:TjElement,[t7, t22],SyntaxTreeBuilder.new("Tj",["snippet", "_"],[])), p34 = Production.new(:HexElement,[t23, t4, t24],LiftingSyntaxTreeBuilder.new(["_", "hex", "_"],[])), p35 = Production.new(:HexElement,[t23, t24],LiftingSyntaxTreeBuilder.new(["_", "_"],[])), p36 = Production.new(:TjHex,[:HexElement, t22],SyntaxTreeBuilder.new("Tjhex",["hexsnippet", "_"],[])), p37 = Production.new(:TJArrayElements,[:Plus70010106266620],LiftingSyntaxTreeBuilder.new(["values"],[])), p38 = Production.new(:Plus70010106266620,[:Plus70010106266620, :TJSingleElement],ArrayNodeBuilder.new([1],0,nil,nil,[],true)), p39 = Production.new(:Plus70010106266620,[:TJSingleElement],ArrayNodeBuilder.new([0],nil,nil,nil,[],true)), p40 = Production.new(:TJSingleElement,[t7],SyntaxTreeBuilder.new("TJSingleElement",["snippet"],[])), p41 = Production.new(:TJSingleElement,[t2],SyntaxTreeBuilder.new("TJSingleElement",["kerning"],[])), p42 = Production.new(:TJSingleElement,[:HexElement],SyntaxTreeBuilder.new("TJSingleElement",["hexsnippet"],[])), p43 = Production.new(:TJSingleElement,[t25],SyntaxTreeBuilder.new("TJSingleElement",["c1"],[])), p44 = Production.new(:TSElement,[t2, t26],SyntaxTreeBuilder.new("Ts",["textrise"],[])), p45 = Production.new(:TStarElement,[t27],SyntaxTreeBuilder.new("TStar",["linebreak"],[])), p46 = Production.new(:TZElement,[t2, t28],SyntaxTreeBuilder.new("Tz",["hscaling"],[])), p47 = Production.new(:RgElement,[t2, t2, t2, t29],SyntaxTreeBuilder.new("Rg",["_", "_", "_", "_"],[])), p48 = Production.new(:TrElement,[t2, t30],SyntaxTreeBuilder.new("Tr",["render"],[])), p49 = Production.new(:Apostroph,[t7, t31],SyntaxTreeBuilder.new("Apo",["aposnippet", "_"],[])), p50 = Production.new(:Quotes,[t2, t2, t7, t32],SyntaxTreeBuilder.new("Quo",["wordspace", "charspace", "aposnippet", "_"],[])), p51 = Production.new(:LineWidth,[t2, t33],SyntaxTreeBuilder.new("Width",["width", "_"],[])), p52 = Production.new(:BTElement,[t34],SyntaxTreeBuilder.new("BT",["_"],[])), p53 = Production.new(:ETElement,[t35],SyntaxTreeBuilder.new("ET",["_"],[])), p54 = Production.new(:Hash,[t36, :Mult70010106193040, t37],SyntaxTreeBuilder.new("Hash",["_", "pairs", "_"],[])), p55 = Production.new(:Hash,[t36, t37],ArrayNodeBuilder.new([],nil,SyntaxTreeBuilder.new("Hash",["_", "pairs", "_"],[]),1,[],true)), p56 = Production.new(:Mult70010106193040,[:Mult70010106193040, t8, :HashExpr],ArrayNodeBuilder.new([1, 2],0,nil,nil,[],true)), p57 = Production.new(:Mult70010106193040,[t8, :HashExpr],ArrayNodeBuilder.new([0, 1],nil,nil,nil,[],true)), p58 = Production.new(:HashExpr,[t8],LiftingSyntaxTreeBuilder.new(["val"],[])), p59 = Production.new(:HashExpr,[t2],LiftingSyntaxTreeBuilder.new(["val"],[])), p60 = Production.new(:HashExpr,[t9],LiftingSyntaxTreeBuilder.new(["val"],[])), p61 = Production.new(:UElement,[t2, t2, t2, t2, t38],SyntaxTreeBuilder.new("UElement",["c1", "numeric2", "numeric3", "numeric4", "c5"],[])), p62 = Production.new(:UElement,[t19, t5, t39],SyntaxTreeBuilder.new("UElement",["c1", "alphanumeric", "regexptoken155581294"],[])), p63 = Production.new(:UElement,[t19, t5, :Hash, t40],SyntaxTreeBuilder.new("UElement",["c1", "alphanumeric", "hash", "regexptoken-2147147720"],[])), p64 = Production.new(:UElement,[t41],SyntaxTreeBuilder.new("UElement",["c1"],[])), p65 = Production.new(:UElement,[:CNElements, t42],SyntaxTreeBuilder.new("UElement",["cnelements", "regexptoken5599873"],[])), p66 = Production.new(:UElement,[t2, t43],SyntaxTreeBuilder.new("UElement",["c1", "regexptoken-265279295"],[])), p67 = Production.new(:UElement,[t2, t2, t2, t44],SyntaxTreeBuilder.new("UElement",["c1", "numeric2", "numeric3", "c4"],[])), p68 = Production.new(:UElement,[t45, t2, t46],SyntaxTreeBuilder.new("UElement",["c1", "numeric", "c3"],[])), p69 = Production.new(:CNElements,[:Plus70010106149180],SyntaxTreeBuilder.new("CNElements",["plus"],[])), p70 = Production.new(:Plus70010106149180,[:Plus70010106149180, :CNElement],ArrayNodeBuilder.new([1],0,nil,nil,[],true)), p71 = Production.new(:Plus70010106149180,[:CNElement],ArrayNodeBuilder.new([0],nil,nil,nil,[],true)), p72 = Production.new(:CNElement,[t5],SyntaxTreeBuilder.new("CNElement",["c1"],[])), p73 = Production.new(:CNElement,[t19, t5, t5],SyntaxTreeBuilder.new("CNElement",["c1", "alphanumeric", "maybe"],[])), p74 = Production.new(:CNElement,[t19, t5],SyntaxTreeBuilder.new("CNElement",["c1", "alphanumeric", "maybe"],[2])) ] relations = [ ] priorities = ProductionPriorities.new(relations) action_table = [[5, 512], [13, 4194304, 33, 17592186044416, 41, 262144, 65, 2, 85, 16, 113, 1099511627776, 125, 64, 137, 67108864, 141, 2048], [2, 1], [153, 8388608, 157, 8], [88, 70342974373338], [80, 70342974373338], [72, 70342974373338], [60, 70342974373338], [161, 2], [165, 2097152], [169, 16], [84, 70342974373338], [52, 70342974373338], [28, 70342974373338], [173, 2199023255552], [36, 70342974373338], [177, 131072, 181, 2, 185, 4294967296, 189, 33554432, 193, 65536, 197, 4398046511104, 201, 536870912, 205, 134217728, 209, 1048576], [24, 70342974373338], [16, 70342974373338], [32, 70342974373338], [13, 4194304, 33, 17592186044416, 41, 262144, 65, 2, 85, 16, 113, 1099511627776, 125, 64, 137, 67108864, 141, 2048, 8, 1024], [284, 2199023517712], [217, 262144, 85, 16, 272, 2199023255552], [92, 70342974373338], [76, 70342974373338], [64, 70342974373338], [40, 70342974373338], [20, 70342974373338], [252, 70342974373338], [68, 70342974373338], [225, 1024], [229, 2097152, 233, 1073741824], [56, 70342974373338], [280, 2199023517712], [176, 70342974373338], [13, 4194304, 241, 16777216, 249, 2, 261, 64], [48, 70342974373338], [44, 70342974373338], [136, 31461450], [265, 8388608], [269, 35184372088832], [140, 70342974373338], [273, 34359738368, 281, 2, 285, 16, 289, 274877906944, 292, 2199023517712], [256, 70342974373338], [116, 70342974373338], [293, 16384, 297, 2, 301, 32768, 305, 64], [200, 70342974373338], [172, 70342974373338], [112, 70342974373338], [260, 70342974373338], [188, 70342974373338], [180, 70342974373338], [124, 70342974373338], [12, 70342974373338], [309, 16], [276, 2199023517712], [4, 1], [128, 70342974373338], [192, 70342974373338], [13, 4194304, 241, 16777216, 249, 2, 261, 64, 144, 4096], [168, 29364298], [164, 29364298], [160, 29364298], [152, 29364298], [317, 4096], [156, 29364298], [132, 31461450], [268, 70342974373338], [325, 68719476736, 329, 128], [333, 549755813888], [337, 524288], [288, 2199023517712], [244, 70342974373338], [104, 70342974373338], [341, 268435456, 345, 8796093022208, 349, 2], [108, 70342974373338], [353, 2147483648], [285, 16, 292, 2199023517712], [148, 29364298], [96, 70342974373338], [357, 68719476736, 361, 128], [216, 549755813888], [365, 256, 369, 2, 377, 128], [248, 70342974373338], [120, 70342974373338], [184, 70342974373338], [264, 70342974373338], [381, 137438953472, 385, 2], [196, 70342974373338], [212, 549755813888], [365, 256, 369, 2, 377, 128], [236, 68719476864], [232, 68719476864], [224, 68719476864], [228, 68719476864], [240, 70342974373338], [393, 2], [220, 68719476864], [397, 8192], [100, 70342974373338]] goto_hash = {82 => {31 => 93}, 22 => {35 => 55}, 0 => {1 => 2}, 1 => {5 => 17, 11 => 37, 22 => 24, 33 => 14, 6 => 27, 12 => 29, 34 => 22, 23 => 12, 7 => 13, 13 => 36, 35 => 33, 2 => 30, 24 => 5, 19 => 25, 8 => 19, 3 => 20, 25 => 11, 14 => 9, 9 => 15, 20 => 7, 15 => 32, 4 => 18, 26 => 4, 10 => 26, 32 => 23, 21 => 6}, 90 => {31 => 97}, 68 => {30 => 80}, 35 => {16 => 64, 17 => 59, 18 => 63, 14 => 61}, 42 => {29 => 69}, 20 => {5 => 17, 11 => 37, 22 => 24, 33 => 14, 6 => 27, 12 => 29, 34 => 22, 23 => 12, 7 => 13, 13 => 36, 35 => 33, 24 => 5, 19 => 25, 8 => 19, 25 => 11, 14 => 9, 9 => 15, 20 => 7, 15 => 32, 4 => 53, 26 => 4, 10 => 26, 32 => 23, 21 => 6}, 59 => {18 => 78, 14 => 61}} @@parse_table70010113257400 = ParseTable.new(productions,tokens,priorities,action_table,goto_hash,2,[ :REDUCE, :SHIFT, :ACCEPT ]) def Rpdf2txt._text_parser GeneralizedLrParser.new(@@parse_table70010113257400) end end