require 'rpdf2txt-rockit/rockit' module Rpdf2txt # Parser for CMap # created by Rockit version 0.3.8 on Tue Dec 14 18:03:10 +0100 2010 # 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",/^(¤~~¤¤~^^~4158671330)/), 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,[:"Plus-611119798"],LiftingSyntaxTreeBuilder.new(["values"],[])), p3 = Production.new(:"Plus-611119798",[:"Plus-611119798", :RangeDef],ArrayNodeBuilder.new([1],0,nil,nil,[],true)), p4 = Production.new(:"Plus-611119798",[: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 = [[9, 8], [2, 1], [25, 4], [9, 8], [9, 8, 4, 1], [12, 29], [37, 16], [16, 29], [8, 29], [20, 29]] goto_hash = {0 => {1 => 1, 2 => 4, 3 => 5, 4 => 3}, 3 => {4 => 7}, 4 => {3 => 8, 4 => 3}} @@parse_table_611168728 = ParseTable.new(productions,tokens,priorities,action_table,goto_hash,2,[ :REDUCE, :SHIFT, :ACCEPT ]) def Rpdf2txt._cmap_parser GeneralizedLrParser.new(@@parse_table_611168728) end end