# encoding: ascii-8bit require 'rpdf2txt-rockit/rockit' module Rpdf2txt # Parser for CMap # created by Rockit version 0.3.8 on Tue Jan 18 11:22:39 +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",/^(¤~~¤¤~^^~195355369)/), t2 = Token.new("SPACE",/^(\s+)/n,:Skip), t3 = Token.new("HEXSNIPPET",/^([0-9A-F]+)/in), t4 = StringToken.new("StrToken61","<"), t5 = StringToken.new("StrToken63",">") ] productions = [ p1 = Production.new("HexArray'".intern,[:HexArray],SyntaxTreeBuilder.new("HexArray'",["hexarray"],[])), p2 = Production.new(:HexArray,[:Plus69966636668160],LiftingSyntaxTreeBuilder.new(["values"],[])), p3 = Production.new(:Plus69966636668160,[:Plus69966636668160, :RangeDef],ArrayNodeBuilder.new([1],0,nil,nil,[],true)), p4 = Production.new(:Plus69966636668160,[:RangeDef],ArrayNodeBuilder.new([0],nil,nil,nil,[],true)), p5 = Production.new(:RangeDef,[:HexElement, :HexElement],SyntaxTreeBuilder.new("RangeDef",["source", "target"],[])), p6 = Production.new(:HexElement,[t4, t3, t5],LiftingSyntaxTreeBuilder.new(["_", "hexsnip", "_"],[])) ] relations = [ ] priorities = ProductionPriorities.new(relations) action_table = [[17, 8], [17, 8], [12, 29], [2, 1], [29, 4], [17, 8, 4, 1], [16, 29], [37, 16], [8, 29], [20, 29]] goto_hash = {5 => {3 => 8, 4 => 1}, 0 => {1 => 3, 2 => 5, 3 => 2, 4 => 1}, 1 => {4 => 6}} @@parse_table69966636607980 = ParseTable.new(productions,tokens,priorities,action_table,goto_hash,2,[ :REDUCE, :SHIFT, :ACCEPT ]) def Rpdf2txt._cmap_parser GeneralizedLrParser.new(@@parse_table69966636607980) end end