bibtex-ruby 1.3.5 → 1.3.6
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.
Potentially problematic release.
This version of bibtex-ruby might be problematic. Click here for more details.
- data/Gemfile.lock +4 -2
 - data/History.txt +5 -0
 - data/Manifest +4 -0
 - data/README.md +9 -12
 - data/bibtex-ruby.gemspec +1 -0
 - data/features/issues/braced_strings.feature +48 -0
 - data/features/issues/trailing_comma.feature +21 -0
 - data/features/step_definitions/bibtex_steps.rb +9 -1
 - data/features/strings.feature +1 -0
 - data/lib/bibtex/bibliography.rb +25 -22
 - data/lib/bibtex/bibtex.y +11 -23
 - data/lib/bibtex/elements.rb +11 -13
 - data/lib/bibtex/entry.rb +4 -2
 - data/lib/bibtex/lexer.rb +142 -163
 - data/lib/bibtex/names.rb +10 -10
 - data/lib/bibtex/parser.output +135 -132
 - data/lib/bibtex/parser.rb +69 -81
 - data/lib/bibtex/utilities.rb +1 -1
 - data/lib/bibtex/version.rb +1 -1
 - data/test/bibtex/test_lexer.rb +11 -0
 - data/test/fixtures/benchmark.bib +1 -1
 - data/test/profile.dot +129 -74
 - data/test/profile.rb +4 -2
 - metadata +18 -3
 
    
        data/lib/bibtex/parser.rb
    CHANGED
    
    | 
         @@ -13,43 +13,31 @@ module BibTeX 
     | 
|
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
            module_eval(<<'...end bibtex.y/module_eval...', 'bibtex.y', 90)
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
     | 
    
         
            -
              attr_reader :lexer
         
     | 
| 
      
 16 
     | 
    
         
            +
              attr_reader :lexer, :options
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
      
 18 
     | 
    
         
            +
            	DEFAULTS = { :include => [:errors], :debug => ENV['DEBUG'] == true }.freeze
         
     | 
| 
      
 19 
     | 
    
         
            +
            	
         
     | 
| 
       18 
20 
     | 
    
         
             
              def initialize(options = {})
         
     | 
| 
       19 
     | 
    
         
            -
            		 
     | 
| 
      
 21 
     | 
    
         
            +
            		@options = DEFAULTS.merge(options)
         
     | 
| 
       20 
22 
     | 
    
         
             
                @lexer = Lexer.new(@options)
         
     | 
| 
       21 
23 
     | 
    
         
             
              end
         
     | 
| 
       22 
24 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
            	def options
         
     | 
| 
       24 
     | 
    
         
            -
            		@options ||= { :include => [:errors], :debug => ENV['DEBUG'] == true }
         
     | 
| 
       25 
     | 
    
         
            -
            	end
         
     | 
| 
       26 
     | 
    
         
            -
            	
         
     | 
| 
       27 
25 
     | 
    
         
             
              def parse(input)
         
     | 
| 
       28 
     | 
    
         
            -
                @yydebug = debug?
         
     | 
| 
       29 
     | 
    
         
            -
                
         
     | 
| 
       30 
     | 
    
         
            -
                @lexer.data = input
         
     | 
| 
       31 
     | 
    
         
            -
                @lexer.analyse
         
     | 
| 
      
 26 
     | 
    
         
            +
                @yydebug = debug?   
         
     | 
| 
      
 27 
     | 
    
         
            +
                @lexer.analyse(input)
         
     | 
| 
       32 
28 
     | 
    
         | 
| 
       33 
29 
     | 
    
         
             
                do_parse
         
     | 
| 
      
 30 
     | 
    
         
            +
            		#yyparse(@lexer,:each)
         
     | 
| 
       34 
31 
     | 
    
         
             
              end
         
     | 
| 
       35 
32 
     | 
    
         | 
| 
       36 
33 
     | 
    
         
             
              def next_token
         
     | 
| 
       37 
     | 
    
         
            -
                 
     | 
| 
       38 
     | 
    
         
            -
                if token[0] == :ERROR
         
     | 
| 
       39 
     | 
    
         
            -
                  include_errors? ? token : next_token
         
     | 
| 
       40 
     | 
    
         
            -
                else
         
     | 
| 
       41 
     | 
    
         
            -
                  [token[0],token[1][0]]
         
     | 
| 
       42 
     | 
    
         
            -
                end
         
     | 
| 
      
 34 
     | 
    
         
            +
                @lexer.next_token
         
     | 
| 
       43 
35 
     | 
    
         
             
              end
         
     | 
| 
       44 
36 
     | 
    
         | 
| 
       45 
37 
     | 
    
         
             
              def debug?
         
     | 
| 
       46 
38 
     | 
    
         
             
                @options[:debug] == true
         
     | 
| 
       47 
39 
     | 
    
         
             
              end
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
              def include_errors?
         
     | 
| 
       50 
     | 
    
         
            -
                @options[:include].include?(:errors)
         
     | 
| 
       51 
     | 
    
         
            -
              end
         
     | 
| 
       52 
     | 
    
         
            -
              
         
     | 
| 
      
 40 
     | 
    
         
            +
                
         
     | 
| 
       53 
41 
     | 
    
         
             
              def on_error(tid, val, vstack)
         
     | 
| 
       54 
42 
     | 
    
         
             
                Log.error("Failed to parse BibTeX on value %s (%s) %s" % [val.inspect, token_to_str(tid) || '?', vstack.inspect])
         
     | 
| 
       55 
43 
     | 
    
         
             
                #raise(ParseError, "Failed to parse BibTeX on value %s (%s) %s" % [val.inspect, token_to_str(tid) || '?', vstack.inspect])
         
     | 
| 
         @@ -60,50 +48,50 @@ module_eval(<<'...end bibtex.y/module_eval...', 'bibtex.y', 90) 
     | 
|
| 
       60 
48 
     | 
    
         
             
            ##### State transition tables begin ###
         
     | 
| 
       61 
49 
     | 
    
         | 
| 
       62 
50 
     | 
    
         
             
            racc_action_table = [
         
     | 
| 
       63 
     | 
    
         
            -
                14,     
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
       65 
     | 
    
         
            -
             
     | 
| 
       66 
     | 
    
         
            -
                 
     | 
| 
       67 
     | 
    
         
            -
                 
     | 
| 
      
 51 
     | 
    
         
            +
                14,    33,    38,    32,    36,    33,    18,    32,    15,    34,
         
     | 
| 
      
 52 
     | 
    
         
            +
                29,    16,    37,    34,    33,    33,    32,    32,    53,    39,
         
     | 
| 
      
 53 
     | 
    
         
            +
                 4,     4,    34,    34,     6,     6,    26,     5,     5,    24,
         
     | 
| 
      
 54 
     | 
    
         
            +
                26,    44,    45,    49,    41,    42,    27,    43,    22,    29,
         
     | 
| 
      
 55 
     | 
    
         
            +
                47,    48,    21,    20,    54,    55,    19,    57,     7,    45,
         
     | 
| 
      
 56 
     | 
    
         
            +
                45 ]
         
     | 
| 
       68 
57 
     | 
    
         | 
| 
       69 
58 
     | 
    
         
             
            racc_action_check = [
         
     | 
| 
       70 
     | 
    
         
            -
                 4,     
     | 
| 
       71 
     | 
    
         
            -
             
     | 
| 
       72 
     | 
    
         
            -
                 
     | 
| 
       73 
     | 
    
         
            -
                 
     | 
| 
       74 
     | 
    
         
            -
                 
     | 
| 
      
 59 
     | 
    
         
            +
                 4,    21,    23,    21,    22,    48,     4,    48,     4,    21,
         
     | 
| 
      
 60 
     | 
    
         
            +
                20,     4,    23,    48,    45,    39,    45,    39,    39,    26,
         
     | 
| 
      
 61 
     | 
    
         
            +
                 0,     2,    45,    39,     0,     2,    17,     0,     2,    17,
         
     | 
| 
      
 62 
     | 
    
         
            +
                38,    30,    30,    38,    27,    27,    18,    28,    16,    33,
         
     | 
| 
      
 63 
     | 
    
         
            +
                35,    36,    15,    14,    40,    42,     7,    46,     1,    51,
         
     | 
| 
      
 64 
     | 
    
         
            +
                58 ]
         
     | 
| 
       75 
65 
     | 
    
         | 
| 
       76 
66 
     | 
    
         
             
            racc_action_pointer = [
         
     | 
| 
       77 
     | 
    
         
            -
                 
     | 
| 
       78 
     | 
    
         
            -
               nil,   nil,   nil,   nil,     
     | 
| 
       79 
     | 
    
         
            -
             
     | 
| 
       80 
     | 
    
         
            -
                18,   nil,   nil,   nil,     
     | 
| 
       81 
     | 
    
         
            -
               nil,     
     | 
| 
       82 
     | 
    
         
            -
               nil,   nil, 
     | 
| 
      
 67 
     | 
    
         
            +
                18,    48,    19,   nil,    -4,   nil,   nil,    46,   nil,   nil,
         
     | 
| 
      
 68 
     | 
    
         
            +
               nil,   nil,   nil,   nil,    35,    34,    30,    16,    28,   nil,
         
     | 
| 
      
 69 
     | 
    
         
            +
                 5,    -7,    -6,    -1,   nil,   nil,    12,    24,    24,   nil,
         
     | 
| 
      
 70 
     | 
    
         
            +
                18,   nil,   nil,    34,   nil,    27,    34,   nil,    20,     7,
         
     | 
| 
      
 71 
     | 
    
         
            +
                41,   nil,    35,   nil,   nil,     6,    34,   nil,    -3,   nil,
         
     | 
| 
      
 72 
     | 
    
         
            +
               nil,    35,   nil,   nil,   nil,   nil,   nil,   nil,    36 ]
         
     | 
| 
       83 
73 
     | 
    
         | 
| 
       84 
74 
     | 
    
         
             
            racc_action_default = [
         
     | 
| 
       85 
75 
     | 
    
         
             
                -1,   -35,    -2,    -3,   -35,    -6,    -7,   -35,    -4,    -5,
         
     | 
| 
       86 
76 
     | 
    
         
             
                -8,    -9,   -10,   -11,   -35,   -35,   -35,   -35,   -35,    59,
         
     | 
| 
       87 
     | 
    
         
            -
               -13,   -35,   -35,   -35,   - 
     | 
| 
       88 
     | 
    
         
            -
               -35,   -18,   -20,   - 
     | 
| 
       89 
     | 
    
         
            -
               - 
     | 
| 
       90 
     | 
    
         
            -
               -31,   -33,   - 
     | 
| 
      
 77 
     | 
    
         
            +
               -13,   -35,   -35,   -35,   -25,   -30,   -35,   -35,   -35,   -14,
         
     | 
| 
      
 78 
     | 
    
         
            +
               -35,   -18,   -20,   -13,   -22,   -35,   -35,   -23,   -35,   -35,
         
     | 
| 
      
 79 
     | 
    
         
            +
               -35,   -27,   -28,   -12,   -15,   -35,   -35,   -16,   -35,   -24,
         
     | 
| 
      
 80 
     | 
    
         
            +
               -31,   -33,   -32,   -34,   -26,   -29,   -19,   -21,   -17 ]
         
     | 
| 
       91 
81 
     | 
    
         | 
| 
       92 
82 
     | 
    
         
             
            racc_goto_table = [
         
     | 
| 
       93 
     | 
    
         
            -
                 
     | 
| 
       94 
     | 
    
         
            -
                 9,     
     | 
| 
       95 
     | 
    
         
            -
               nil,   nil,     
     | 
| 
       96 
     | 
    
         
            -
               nil,   nil,    57 ]
         
     | 
| 
      
 83 
     | 
    
         
            +
                30,    25,    28,     3,     1,     8,    11,    12,    13,    10,
         
     | 
| 
      
 84 
     | 
    
         
            +
                 9,    35,    56,    17,    23,    46,    40,     2,    51,    52,
         
     | 
| 
      
 85 
     | 
    
         
            +
               nil,   nil,    50,   nil,   nil,   nil,   nil,    58 ]
         
     | 
| 
       97 
86 
     | 
    
         | 
| 
       98 
87 
     | 
    
         
             
            racc_goto_check = [
         
     | 
| 
       99 
     | 
    
         
            -
             
     | 
| 
       100 
     | 
    
         
            -
                 4,    11,    12,    13,    14,    15,     2,     
     | 
| 
       101 
     | 
    
         
            -
               nil,   nil,    16,   nil,   nil,   nil, 
     | 
| 
       102 
     | 
    
         
            -
               nil,   nil,     9 ]
         
     | 
| 
      
 88 
     | 
    
         
            +
                10,    16,     9,     3,     1,     3,     6,     7,     8,     5,
         
     | 
| 
      
 89 
     | 
    
         
            +
                 4,    11,    12,    13,    14,     9,    15,     2,    10,    17,
         
     | 
| 
      
 90 
     | 
    
         
            +
               nil,   nil,    16,   nil,   nil,   nil,   nil,    10 ]
         
     | 
| 
       103 
91 
     | 
    
         | 
| 
       104 
92 
     | 
    
         
             
            racc_goto_pointer = [
         
     | 
| 
       105 
     | 
    
         
            -
               nil,     4,     
     | 
| 
       106 
     | 
    
         
            -
               - 
     | 
| 
      
 93 
     | 
    
         
            +
               nil,     4,    17,     3,     6,     5,     2,     3,     4,   -18,
         
     | 
| 
      
 94 
     | 
    
         
            +
               -21,   -11,   -33,     9,    -3,   -11,   -16,   -20 ]
         
     | 
| 
       107 
95 
     | 
    
         | 
| 
       108 
96 
     | 
    
         
             
            racc_goto_default = [
         
     | 
| 
       109 
97 
     | 
    
         
             
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
         @@ -131,20 +119,20 @@ racc_reduce_table = [ 
     | 
|
| 
       131 
119 
     | 
    
         
             
              1, 27, :_reduce_18,
         
     | 
| 
       132 
120 
     | 
    
         
             
              3, 27, :_reduce_19,
         
     | 
| 
       133 
121 
     | 
    
         
             
              1, 29, :_reduce_20,
         
     | 
| 
       134 
     | 
    
         
            -
               
     | 
| 
       135 
     | 
    
         
            -
               
     | 
| 
       136 
     | 
    
         
            -
               
     | 
| 
       137 
     | 
    
         
            -
               
     | 
| 
       138 
     | 
    
         
            -
               
     | 
| 
       139 
     | 
    
         
            -
               
     | 
| 
      
 122 
     | 
    
         
            +
              3, 29, :_reduce_21,
         
     | 
| 
      
 123 
     | 
    
         
            +
              1, 29, :_reduce_22,
         
     | 
| 
      
 124 
     | 
    
         
            +
              3, 25, :_reduce_23,
         
     | 
| 
      
 125 
     | 
    
         
            +
              4, 25, :_reduce_24,
         
     | 
| 
      
 126 
     | 
    
         
            +
              2, 25, :_reduce_25,
         
     | 
| 
      
 127 
     | 
    
         
            +
              4, 30, :_reduce_26,
         
     | 
| 
       140 
128 
     | 
    
         
             
              1, 32, :_reduce_27,
         
     | 
| 
       141 
     | 
    
         
            -
               
     | 
| 
       142 
     | 
    
         
            -
               
     | 
| 
       143 
     | 
    
         
            -
               
     | 
| 
       144 
     | 
    
         
            -
              3,  
     | 
| 
       145 
     | 
    
         
            -
               
     | 
| 
      
 129 
     | 
    
         
            +
              1, 32, :_reduce_28,
         
     | 
| 
      
 130 
     | 
    
         
            +
              2, 32, :_reduce_29,
         
     | 
| 
      
 131 
     | 
    
         
            +
              1, 31, :_reduce_30,
         
     | 
| 
      
 132 
     | 
    
         
            +
              3, 31, :_reduce_31,
         
     | 
| 
      
 133 
     | 
    
         
            +
              3, 33, :_reduce_32,
         
     | 
| 
       146 
134 
     | 
    
         
             
              1, 34, :_reduce_33,
         
     | 
| 
       147 
     | 
    
         
            -
               
     | 
| 
      
 135 
     | 
    
         
            +
              1, 34, :_reduce_34 ]
         
     | 
| 
       148 
136 
     | 
    
         | 
| 
       149 
137 
     | 
    
         
             
            racc_reduce_n = 35
         
     | 
| 
       150 
138 
     | 
    
         | 
| 
         @@ -234,7 +222,7 @@ Racc_debug_parser = false 
     | 
|
| 
       234 
222 
     | 
    
         | 
| 
       235 
223 
     | 
    
         
             
            module_eval(<<'.,.,', 'bibtex.y', 32)
         
     | 
| 
       236 
224 
     | 
    
         
             
              def _reduce_1(val, _values, result)
         
     | 
| 
       237 
     | 
    
         
            -
                 result = BibTeX::Bibliography.new 
         
     | 
| 
      
 225 
     | 
    
         
            +
                 result = BibTeX::Bibliography.new(@options) 
         
     | 
| 
       238 
226 
     | 
    
         
             
                result
         
     | 
| 
       239 
227 
     | 
    
         
             
              end
         
     | 
| 
       240 
228 
     | 
    
         
             
            .,.,
         
     | 
| 
         @@ -374,14 +362,14 @@ module_eval(<<'.,.,', 'bibtex.y', 61) 
     | 
|
| 
       374 
362 
     | 
    
         | 
| 
       375 
363 
     | 
    
         
             
            module_eval(<<'.,.,', 'bibtex.y', 62)
         
     | 
| 
       376 
364 
     | 
    
         
             
              def _reduce_21(val, _values, result)
         
     | 
| 
       377 
     | 
    
         
            -
                 result = val[ 
     | 
| 
      
 365 
     | 
    
         
            +
                 result = val[1] 
         
     | 
| 
       378 
366 
     | 
    
         
             
                result
         
     | 
| 
       379 
367 
     | 
    
         
             
              end
         
     | 
| 
       380 
368 
     | 
    
         
             
            .,.,
         
     | 
| 
       381 
369 
     | 
    
         | 
| 
       382 
     | 
    
         
            -
            module_eval(<<'.,.,', 'bibtex.y',  
     | 
| 
      
 370 
     | 
    
         
            +
            module_eval(<<'.,.,', 'bibtex.y', 63)
         
     | 
| 
       383 
371 
     | 
    
         
             
              def _reduce_22(val, _values, result)
         
     | 
| 
       384 
     | 
    
         
            -
                 result = val[0]  
     | 
| 
      
 372 
     | 
    
         
            +
                 result = val[0] 
         
     | 
| 
       385 
373 
     | 
    
         
             
                result
         
     | 
| 
       386 
374 
     | 
    
         
             
              end
         
     | 
| 
       387 
375 
     | 
    
         
             
            .,.,
         
     | 
| 
         @@ -395,21 +383,21 @@ module_eval(<<'.,.,', 'bibtex.y', 65) 
     | 
|
| 
       395 
383 
     | 
    
         | 
| 
       396 
384 
     | 
    
         
             
            module_eval(<<'.,.,', 'bibtex.y', 66)
         
     | 
| 
       397 
385 
     | 
    
         
             
              def _reduce_24(val, _values, result)
         
     | 
| 
       398 
     | 
    
         
            -
                 result = val[0] 
         
     | 
| 
      
 386 
     | 
    
         
            +
                 result = val[0] << val[1] 
         
     | 
| 
       399 
387 
     | 
    
         
             
                result
         
     | 
| 
       400 
388 
     | 
    
         
             
              end
         
     | 
| 
       401 
389 
     | 
    
         
             
            .,.,
         
     | 
| 
       402 
390 
     | 
    
         | 
| 
       403 
     | 
    
         
            -
            module_eval(<<'.,.,', 'bibtex.y',  
     | 
| 
      
 391 
     | 
    
         
            +
            module_eval(<<'.,.,', 'bibtex.y', 67)
         
     | 
| 
       404 
392 
     | 
    
         
             
              def _reduce_25(val, _values, result)
         
     | 
| 
       405 
     | 
    
         
            -
                 result =  
     | 
| 
      
 393 
     | 
    
         
            +
                 result = val[0] 
         
     | 
| 
       406 
394 
     | 
    
         
             
                result
         
     | 
| 
       407 
395 
     | 
    
         
             
              end
         
     | 
| 
       408 
396 
     | 
    
         
             
            .,.,
         
     | 
| 
       409 
397 
     | 
    
         | 
| 
       410 
     | 
    
         
            -
            module_eval(<<'.,.,', 'bibtex.y',  
     | 
| 
      
 398 
     | 
    
         
            +
            module_eval(<<'.,.,', 'bibtex.y', 69)
         
     | 
| 
       411 
399 
     | 
    
         
             
              def _reduce_26(val, _values, result)
         
     | 
| 
       412 
     | 
    
         
            -
                 result = val[0] 
         
     | 
| 
      
 400 
     | 
    
         
            +
                 result = BibTeX::Entry.new(:type => val[0].downcase.to_sym, :key => val[2]) 
         
     | 
| 
       413 
401 
     | 
    
         
             
                result
         
     | 
| 
       414 
402 
     | 
    
         
             
              end
         
     | 
| 
       415 
403 
     | 
    
         
             
            .,.,
         
     | 
| 
         @@ -423,35 +411,35 @@ module_eval(<<'.,.,', 'bibtex.y', 71) 
     | 
|
| 
       423 
411 
     | 
    
         | 
| 
       424 
412 
     | 
    
         
             
            module_eval(<<'.,.,', 'bibtex.y', 72)
         
     | 
| 
       425 
413 
     | 
    
         
             
              def _reduce_28(val, _values, result)
         
     | 
| 
       426 
     | 
    
         
            -
                 result = val[0 
     | 
| 
      
 414 
     | 
    
         
            +
                 result = val[0] 
         
     | 
| 
       427 
415 
     | 
    
         
             
                result
         
     | 
| 
       428 
416 
     | 
    
         
             
              end
         
     | 
| 
       429 
417 
     | 
    
         
             
            .,.,
         
     | 
| 
       430 
418 
     | 
    
         | 
| 
       431 
     | 
    
         
            -
            module_eval(<<'.,.,', 'bibtex.y',  
     | 
| 
      
 419 
     | 
    
         
            +
            module_eval(<<'.,.,', 'bibtex.y', 73)
         
     | 
| 
       432 
420 
     | 
    
         
             
              def _reduce_29(val, _values, result)
         
     | 
| 
       433 
     | 
    
         
            -
                 result = val[0] 
         
     | 
| 
      
 421 
     | 
    
         
            +
                 result = val[0,2].join 
         
     | 
| 
       434 
422 
     | 
    
         
             
                result
         
     | 
| 
       435 
423 
     | 
    
         
             
              end
         
     | 
| 
       436 
424 
     | 
    
         
             
            .,.,
         
     | 
| 
       437 
425 
     | 
    
         | 
| 
       438 
426 
     | 
    
         
             
            module_eval(<<'.,.,', 'bibtex.y', 75)
         
     | 
| 
       439 
427 
     | 
    
         
             
              def _reduce_30(val, _values, result)
         
     | 
| 
       440 
     | 
    
         
            -
                 result 
     | 
| 
      
 428 
     | 
    
         
            +
                 result = val[0] 
         
     | 
| 
       441 
429 
     | 
    
         
             
                result
         
     | 
| 
       442 
430 
     | 
    
         
             
              end
         
     | 
| 
       443 
431 
     | 
    
         
             
            .,.,
         
     | 
| 
       444 
432 
     | 
    
         | 
| 
       445 
     | 
    
         
            -
            module_eval(<<'.,.,', 'bibtex.y',  
     | 
| 
      
 433 
     | 
    
         
            +
            module_eval(<<'.,.,', 'bibtex.y', 76)
         
     | 
| 
       446 
434 
     | 
    
         
             
              def _reduce_31(val, _values, result)
         
     | 
| 
       447 
     | 
    
         
            -
                 result 
     | 
| 
      
 435 
     | 
    
         
            +
                 result.merge!(val[2]) 
         
     | 
| 
       448 
436 
     | 
    
         
             
                result
         
     | 
| 
       449 
437 
     | 
    
         
             
              end
         
     | 
| 
       450 
438 
     | 
    
         
             
            .,.,
         
     | 
| 
       451 
439 
     | 
    
         | 
| 
       452 
     | 
    
         
            -
            module_eval(<<'.,.,', 'bibtex.y',  
     | 
| 
      
 440 
     | 
    
         
            +
            module_eval(<<'.,.,', 'bibtex.y', 78)
         
     | 
| 
       453 
441 
     | 
    
         
             
              def _reduce_32(val, _values, result)
         
     | 
| 
       454 
     | 
    
         
            -
                 result = val[0] 
         
     | 
| 
      
 442 
     | 
    
         
            +
                 result = { val[0].downcase.to_sym => val[2] } 
         
     | 
| 
       455 
443 
     | 
    
         
             
                result
         
     | 
| 
       456 
444 
     | 
    
         
             
              end
         
     | 
| 
       457 
445 
     | 
    
         
             
            .,.,
         
     | 
| 
         @@ -465,7 +453,7 @@ module_eval(<<'.,.,', 'bibtex.y', 80) 
     | 
|
| 
       465 
453 
     | 
    
         | 
| 
       466 
454 
     | 
    
         
             
            module_eval(<<'.,.,', 'bibtex.y', 81)
         
     | 
| 
       467 
455 
     | 
    
         
             
              def _reduce_34(val, _values, result)
         
     | 
| 
       468 
     | 
    
         
            -
                 result = val[ 
     | 
| 
      
 456 
     | 
    
         
            +
                 result = val[0] 
         
     | 
| 
       469 
457 
     | 
    
         
             
                result
         
     | 
| 
       470 
458 
     | 
    
         
             
              end
         
     | 
| 
       471 
459 
     | 
    
         
             
            .,.,
         
     | 
    
        data/lib/bibtex/utilities.rb
    CHANGED
    
    | 
         @@ -31,7 +31,7 @@ module BibTeX 
     | 
|
| 
       31 
31 
     | 
    
         
             
                # Delegates to BibTeX.open if the string is a filename or URI.
         
     | 
| 
       32 
32 
     | 
    
         
             
                def parse(string, options = {}, &block)
         
     | 
| 
       33 
33 
     | 
    
         
             
                  if File.exists?(string) || string =~ /^[a-z]+:\/\//i
         
     | 
| 
       34 
     | 
    
         
            -
                    open(string, options, &block)
         
     | 
| 
      
 34 
     | 
    
         
            +
                    Bibliography.open(string, options, &block)
         
     | 
| 
       35 
35 
     | 
    
         
             
                  else
         
     | 
| 
       36 
36 
     | 
    
         
             
                    Bibliography.parse(string, options)
         
     | 
| 
       37 
37 
     | 
    
         
             
                  end
         
     | 
    
        data/lib/bibtex/version.rb
    CHANGED
    
    
| 
         @@ -0,0 +1,11 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'helper.rb'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module BibTeX
         
     | 
| 
      
 4 
     | 
    
         
            +
              class LexerTest < MiniTest::Spec
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                should 'correctly scan a string literal' do
         
     | 
| 
      
 7 
     | 
    
         
            +
                  assert_equal Lexer.new.analyse(%q(@string{ x = "foo" })).symbols, [:AT,:STRING,:LBRACE,:NAME,:EQ,:STRING_LITERAL,:RBRACE,false]
         
     | 
| 
      
 8 
     | 
    
         
            +
                end
         
     | 
| 
      
 9 
     | 
    
         
            +
             
         
     | 
| 
      
 10 
     | 
    
         
            +
              end
         
     | 
| 
      
 11 
     | 
    
         
            +
            end
         
     | 
    
        data/test/fixtures/benchmark.bib
    CHANGED
    
    | 
         @@ -1677,7 +1677,7 @@ 
     | 
|
| 
       1677 
1677 
     | 
    
         
             
            	Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAaQAAAAAAaQAAgAABEhvbWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMmnj7lIKwAAABLivBt2ZWVybWFuMjAwM2NvbnN0cnVjdGl2ZS5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhrmygQQWwAAAAAAAAAAAAIAAwAACQAAAAAAAAAAAAAAAAAAAAAHQmliZGVzawAAEAAIAADJpx85AAAAEQAIAADKA5/bAAAAAQAMABLivAAAAF8AAABXAAIAOEhvbWU6c3RpYW46RG9jdW1lbnRzOkJpYmRlc2s6dmVlcm1hbjIwMDNjb25zdHJ1Y3RpdmUucGRmAA4AOAAbAHYAZQBlAHIAbQBhAG4AMgAwADAAMwBjAG8AbgBzAHQAcgB1AGMAdABpAHYAZQAuAHAAZABmAA8ACgAEAEgAbwBtAGUAEgA0L3N0aWFuL0RvY3VtZW50cy9CaWJkZXNrL3ZlZXJtYW4yMDAzY29uc3RydWN0aXZlLnBkZgATAA0vVm9sdW1lcy9Ib21lAAAVAAIAE///AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxAzLi4vLi4vRG9jdW1lbnRzL0JpYmRlc2svdmVlcm1hbjIwMDNjb25zdHJ1Y3RpdmUucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAkgCSgJPAlgCYwJnAnUCfAKFArsCwALDAtAC1QAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALn}}
         
     | 
| 
       1678 
1678 
     | 
    
         | 
| 
       1679 
1679 
     | 
    
         
             
            @article{van2006affordance,
         
     | 
| 
       1680 
     | 
    
         
            -
            	Author = { 
     | 
| 
      
 1680 
     | 
    
         
            +
            	Author = {van der Pol, J. and Admiraal, W. and Simons, P.R.J.},
         
     | 
| 
       1681 
1681 
     | 
    
         
             
            	Date-Added = {2011-05-26 14:12:15 +0800},
         
     | 
| 
       1682 
1682 
     | 
    
         
             
            	Date-Modified = {2011-05-26 14:12:15 +0800},
         
     | 
| 
       1683 
1683 
     | 
    
         
             
            	Journal = {International Journal of Computer-Supported Collaborative Learning},
         
     | 
    
        data/test/profile.dot
    CHANGED
    
    | 
         @@ -1,130 +1,185 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            digraph "Profile" {
         
     | 
| 
       2 
     | 
    
         
            -
            label="PROCESS_TIME >=5%\nTotal:  
     | 
| 
      
 2 
     | 
    
         
            +
            label="PROCESS_TIME >=5%\nTotal: 3.974209";
         
     | 
| 
       3 
3 
     | 
    
         
             
            labelloc=t;
         
     | 
| 
       4 
4 
     | 
    
         
             
            labeljust=l;
         
     | 
| 
       5 
5 
     | 
    
         
             
            subgraph "Thread 2151955260" {
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
      
 6 
     | 
    
         
            +
            2155389020 [label="_reduce_4\n(23%)"];
         
     | 
| 
      
 7 
     | 
    
         
            +
            2155389020 -> 2155397920 [label="588/589" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 8 
     | 
    
         
            +
            2155393440 [label="do_scan\n(8%)"];
         
     | 
| 
      
 9 
     | 
    
         
            +
            2155393440 -> 2155405760 [label="29398/172657" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 10 
     | 
    
         
            +
            2155393540 [label="scan\n(8%)"];
         
     | 
| 
      
 11 
     | 
    
         
            +
            2155393540 -> 2155393440 [label="617/617" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 12 
     | 
    
         
            +
            2155393540 -> 2155411660 [label="617/8839" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 13 
     | 
    
         
            +
            2155393620 [label="parse\n(18%)"];
         
     | 
| 
      
 14 
     | 
    
         
            +
            2155393620 -> 2155393540 [label="617/617" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 15 
     | 
    
         
            +
            2155393620 -> 2155404840 [label="617/618" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 16 
     | 
    
         
            +
            2155394120 [label="parse\n(19%)"];
         
     | 
| 
      
 17 
     | 
    
         
            +
            2155394120 -> 2155393620 [label="617/617" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 18 
     | 
    
         
            +
            2155394120 -> 2155411660 [label="1234/8839" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 19 
     | 
    
         
            +
            2155394700 [label="to_name\n(20%)"];
         
     | 
| 
      
 20 
     | 
    
         
            +
            2155394700 -> 2155394120 [label="617/617" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 21 
     | 
    
         
            +
            2155395460 [label="parse_names\n(21%)"];
         
     | 
| 
      
 22 
     | 
    
         
            +
            2155395460 -> 2155399260 [label="589/9424" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 23 
     | 
    
         
            +
            2155395920 [label="added_to_bibliography\n(21%)"];
         
     | 
| 
      
 24 
     | 
    
         
            +
            2155395920 -> 2155395460 [label="589/589" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 25 
     | 
    
         
            +
            2155397920 [label="add\n(23%)"];
         
     | 
| 
      
 26 
     | 
    
         
            +
            2155397920 -> 2155399260 [label="589/9424" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 27 
     | 
    
         
            +
            2155399260 [label="each\n(24%)"];
         
     | 
| 
      
 28 
     | 
    
         
            +
            2155399260 -> 2155395920 [label="589/589" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 29 
     | 
    
         
            +
            2155399260 -> 2155394700 [label="617/617" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 30 
     | 
    
         
            +
            2155399760 [label="_reduce_23\n(7%)"];
         
     | 
| 
      
 31 
     | 
    
         
            +
            2155399760 -> 2155401700 [label="589/1178" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 32 
     | 
    
         
            +
            2155401160 [label="each_pair\n(7%)"];
         
     | 
| 
      
 33 
     | 
    
         
            +
            2155401160 -> 2155411660 [label="6365/8839" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 34 
     | 
    
         
            +
            2155401700 [label="add\n(8%)"];
         
     | 
| 
      
 35 
     | 
    
         
            +
            2155401700 -> 2155401160 [label="1178/1178" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 36 
     | 
    
         
            +
            2155403920 [label="next_token\n(5%)"];
         
     | 
| 
      
 37 
     | 
    
         
            +
            2155404060 [label="next_token\n(9%)"];
         
     | 
| 
      
 38 
     | 
    
         
            +
            2155404060 -> 2155403920 [label="41066/41066" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 39 
     | 
    
         
            +
            2155404160 [label="_racc_do_parse_c\n(51%)"];
         
     | 
| 
      
 40 
     | 
    
         
            +
            2155404160 -> 2155389020 [label="588/588" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 41 
     | 
    
         
            +
            2155404160 -> 2155404060 [label="41066/41066" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 42 
     | 
    
         
            +
            2155404160 -> 2155399760 [label="589/589" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 43 
     | 
    
         
            +
            2155404840 [label="do_parse\n(51%)"];
         
     | 
| 
      
 44 
     | 
    
         
            +
            2155404840 -> 2155404160 [label="618/618" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 45 
     | 
    
         
            +
            2155405440 [label="parse_content\n(10%)"];
         
     | 
| 
      
 46 
     | 
    
         
            +
            2155405440 -> 2155406220 [label="13486/42482" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 47 
     | 
    
         
            +
            2155405620 [label="parse_bibtex\n(24%)"];
         
     | 
| 
      
 48 
     | 
    
         
            +
            2155405620 -> 2155405760 [label="140903/172657" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 49 
     | 
    
         
            +
            2155405620 -> 2155406220 [label="27227/42482" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 50 
     | 
    
         
            +
            2155405760 [label="scan\n(8%)"];
         
     | 
| 
      
 51 
     | 
    
         
            +
            2155406220 [label="push\n(10%)"];
         
     | 
| 
      
 52 
     | 
    
         
            +
            2155408480 [label="analyse\n(48%)"];
         
     | 
| 
      
 53 
     | 
    
         
            +
            2155408480 -> 2155405620 [label="46322/46322" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 54 
     | 
    
         
            +
            2155408480 -> 2155405440 [label="7156/7156" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 55 
     | 
    
         
            +
            2155408480 -> 2155406220 [label="1/42482" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 56 
     | 
    
         
            +
            2155408760 [label="parse\n(99%)"];
         
     | 
| 
      
 57 
     | 
    
         
            +
            2155408760 -> 2155404840 [label="1/618" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 58 
     | 
    
         
            +
            2155408760 -> 2155408480 [label="1/1" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 59 
     | 
    
         
            +
            2155411660 [label="new\n(8%)"];
         
     | 
| 
      
 60 
     | 
    
         
            +
            2155411980 [label="parse\n(99%)"];
         
     | 
| 
      
 61 
     | 
    
         
            +
            2155411980 -> 2155408760 [label="1/1" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 62 
     | 
    
         
            +
            2155411980 -> 2155411660 [label="1/8839" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 63 
     | 
    
         
            +
            2155412280 [label="parse\n(100%)"];
         
     | 
| 
      
 64 
     | 
    
         
            +
            2155412280 -> 2155411980 [label="1/1" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 65 
     | 
    
         
            +
            2155412380 [label="[No method]\n(100%)"];
         
     | 
| 
      
 66 
     | 
    
         
            +
            2155412380 -> 2155412280 [label="1/1" fontsize=10 fontcolor="#666666"];
         
     | 
| 
      
 67 
     | 
    
         
            +
            }
         
     | 
| 
      
 68 
     | 
    
         
            +
            subgraph cluster_2154778300 {
         
     | 
| 
       47 
69 
     | 
    
         
             
            label = "Global";
         
     | 
| 
       48 
70 
     | 
    
         
             
            fontcolor = "#666666";
         
     | 
| 
       49 
71 
     | 
    
         
             
            fontsize = 16;
         
     | 
| 
       50 
72 
     | 
    
         
             
            color = "#666666";
         
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
      
 73 
     | 
    
         
            +
            2155412380;
         
     | 
| 
       52 
74 
     | 
    
         
             
            }
         
     | 
| 
       53 
     | 
    
         
            -
            subgraph  
     | 
| 
      
 75 
     | 
    
         
            +
            subgraph cluster_2154778020 {
         
     | 
| 
       54 
76 
     | 
    
         
             
            label = "<Module::BibTeX>";
         
     | 
| 
       55 
77 
     | 
    
         
             
            fontcolor = "#666666";
         
     | 
| 
       56 
78 
     | 
    
         
             
            fontsize = 16;
         
     | 
| 
       57 
79 
     | 
    
         
             
            color = "#666666";
         
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
      
 80 
     | 
    
         
            +
            2155412280;
         
     | 
| 
       59 
81 
     | 
    
         
             
            }
         
     | 
| 
       60 
     | 
    
         
            -
            subgraph  
     | 
| 
      
 82 
     | 
    
         
            +
            subgraph cluster_2154777440 {
         
     | 
| 
       61 
83 
     | 
    
         
             
            label = "<Class::BibTeX::Bibliography>";
         
     | 
| 
       62 
84 
     | 
    
         
             
            fontcolor = "#666666";
         
     | 
| 
       63 
85 
     | 
    
         
             
            fontsize = 16;
         
     | 
| 
       64 
86 
     | 
    
         
             
            color = "#666666";
         
     | 
| 
       65 
     | 
    
         
            -
             
     | 
| 
      
 87 
     | 
    
         
            +
            2155411980;
         
     | 
| 
      
 88 
     | 
    
         
            +
            }
         
     | 
| 
      
 89 
     | 
    
         
            +
            subgraph cluster_2154777220 {
         
     | 
| 
      
 90 
     | 
    
         
            +
            label = "Class";
         
     | 
| 
      
 91 
     | 
    
         
            +
            fontcolor = "#666666";
         
     | 
| 
      
 92 
     | 
    
         
            +
            fontsize = 16;
         
     | 
| 
      
 93 
     | 
    
         
            +
            color = "#666666";
         
     | 
| 
      
 94 
     | 
    
         
            +
            2155411660;
         
     | 
| 
       66 
95 
     | 
    
         
             
            }
         
     | 
| 
       67 
     | 
    
         
            -
            subgraph  
     | 
| 
      
 96 
     | 
    
         
            +
            subgraph cluster_2154776500 {
         
     | 
| 
       68 
97 
     | 
    
         
             
            label = "BibTeX::Parser";
         
     | 
| 
       69 
98 
     | 
    
         
             
            fontcolor = "#666666";
         
     | 
| 
       70 
99 
     | 
    
         
             
            fontsize = 16;
         
     | 
| 
       71 
100 
     | 
    
         
             
            color = "#666666";
         
     | 
| 
       72 
     | 
    
         
            -
             
     | 
| 
      
 101 
     | 
    
         
            +
            2155408760;
         
     | 
| 
      
 102 
     | 
    
         
            +
            2155404060;
         
     | 
| 
      
 103 
     | 
    
         
            +
            2155399760;
         
     | 
| 
      
 104 
     | 
    
         
            +
            2155389020;
         
     | 
| 
       73 
105 
     | 
    
         
             
            }
         
     | 
| 
       74 
     | 
    
         
            -
            subgraph  
     | 
| 
      
 106 
     | 
    
         
            +
            subgraph cluster_2154776340 {
         
     | 
| 
      
 107 
     | 
    
         
            +
            label = "Hash";
         
     | 
| 
      
 108 
     | 
    
         
            +
            fontcolor = "#666666";
         
     | 
| 
      
 109 
     | 
    
         
            +
            fontsize = 16;
         
     | 
| 
      
 110 
     | 
    
         
            +
            color = "#666666";
         
     | 
| 
      
 111 
     | 
    
         
            +
            2155401160;
         
     | 
| 
      
 112 
     | 
    
         
            +
            }
         
     | 
| 
      
 113 
     | 
    
         
            +
            subgraph cluster_2154775500 {
         
     | 
| 
       75 
114 
     | 
    
         
             
            label = "BibTeX::Lexer";
         
     | 
| 
       76 
115 
     | 
    
         
             
            fontcolor = "#666666";
         
     | 
| 
       77 
116 
     | 
    
         
             
            fontsize = 16;
         
     | 
| 
       78 
117 
     | 
    
         
             
            color = "#666666";
         
     | 
| 
       79 
     | 
    
         
            -
             
     | 
| 
       80 
     | 
    
         
            -
             
     | 
| 
       81 
     | 
    
         
            -
             
     | 
| 
       82 
     | 
    
         
            -
             
     | 
| 
       83 
     | 
    
         
            -
             
     | 
| 
      
 118 
     | 
    
         
            +
            2155408480;
         
     | 
| 
      
 119 
     | 
    
         
            +
            2155406220;
         
     | 
| 
      
 120 
     | 
    
         
            +
            2155405620;
         
     | 
| 
      
 121 
     | 
    
         
            +
            2155405440;
         
     | 
| 
      
 122 
     | 
    
         
            +
            2155403920;
         
     | 
| 
       84 
123 
     | 
    
         
             
            }
         
     | 
| 
       85 
     | 
    
         
            -
            subgraph  
     | 
| 
      
 124 
     | 
    
         
            +
            subgraph cluster_2154775200 {
         
     | 
| 
       86 
125 
     | 
    
         
             
            label = "Array";
         
     | 
| 
       87 
126 
     | 
    
         
             
            fontcolor = "#666666";
         
     | 
| 
       88 
127 
     | 
    
         
             
            fontsize = 16;
         
     | 
| 
       89 
128 
     | 
    
         
             
            color = "#666666";
         
     | 
| 
       90 
     | 
    
         
            -
             
     | 
| 
       91 
     | 
    
         
            -
            2157643080;
         
     | 
| 
      
 129 
     | 
    
         
            +
            2155399260;
         
     | 
| 
       92 
130 
     | 
    
         
             
            }
         
     | 
| 
       93 
     | 
    
         
            -
            subgraph  
     | 
| 
      
 131 
     | 
    
         
            +
            subgraph cluster_2154774140 {
         
     | 
| 
      
 132 
     | 
    
         
            +
            label = "StringScanner";
         
     | 
| 
      
 133 
     | 
    
         
            +
            fontcolor = "#666666";
         
     | 
| 
      
 134 
     | 
    
         
            +
            fontsize = 16;
         
     | 
| 
      
 135 
     | 
    
         
            +
            color = "#666666";
         
     | 
| 
      
 136 
     | 
    
         
            +
            2155405760;
         
     | 
| 
      
 137 
     | 
    
         
            +
            }
         
     | 
| 
      
 138 
     | 
    
         
            +
            subgraph cluster_2154770220 {
         
     | 
| 
      
 139 
     | 
    
         
            +
            label = "Racc::Parser";
         
     | 
| 
      
 140 
     | 
    
         
            +
            fontcolor = "#666666";
         
     | 
| 
      
 141 
     | 
    
         
            +
            fontsize = 16;
         
     | 
| 
      
 142 
     | 
    
         
            +
            color = "#666666";
         
     | 
| 
      
 143 
     | 
    
         
            +
            2155404840;
         
     | 
| 
      
 144 
     | 
    
         
            +
            2155404160;
         
     | 
| 
      
 145 
     | 
    
         
            +
            }
         
     | 
| 
      
 146 
     | 
    
         
            +
            subgraph cluster_2154769000 {
         
     | 
| 
       94 
147 
     | 
    
         
             
            label = "BibTeX::Entry";
         
     | 
| 
       95 
148 
     | 
    
         
             
            fontcolor = "#666666";
         
     | 
| 
       96 
149 
     | 
    
         
             
            fontsize = 16;
         
     | 
| 
       97 
150 
     | 
    
         
             
            color = "#666666";
         
     | 
| 
       98 
     | 
    
         
            -
             
     | 
| 
      
 151 
     | 
    
         
            +
            2155401700;
         
     | 
| 
      
 152 
     | 
    
         
            +
            2155395920;
         
     | 
| 
      
 153 
     | 
    
         
            +
            2155395460;
         
     | 
| 
       99 
154 
     | 
    
         
             
            }
         
     | 
| 
       100 
     | 
    
         
            -
            subgraph  
     | 
| 
       101 
     | 
    
         
            -
            label = "BibTeX:: 
     | 
| 
      
 155 
     | 
    
         
            +
            subgraph cluster_2154766400 {
         
     | 
| 
      
 156 
     | 
    
         
            +
            label = "BibTeX::Value";
         
     | 
| 
       102 
157 
     | 
    
         
             
            fontcolor = "#666666";
         
     | 
| 
       103 
158 
     | 
    
         
             
            fontsize = 16;
         
     | 
| 
       104 
159 
     | 
    
         
             
            color = "#666666";
         
     | 
| 
       105 
     | 
    
         
            -
             
     | 
| 
       106 
     | 
    
         
            -
            2157652320;
         
     | 
| 
       107 
     | 
    
         
            -
            2157656220;
         
     | 
| 
      
 160 
     | 
    
         
            +
            2155394700;
         
     | 
| 
       108 
161 
     | 
    
         
             
            }
         
     | 
| 
       109 
     | 
    
         
            -
            subgraph  
     | 
| 
       110 
     | 
    
         
            -
            label = "BibTeX:: 
     | 
| 
      
 162 
     | 
    
         
            +
            subgraph cluster_2154764700 {
         
     | 
| 
      
 163 
     | 
    
         
            +
            label = "BibTeX::Bibliography";
         
     | 
| 
       111 
164 
     | 
    
         
             
            fontcolor = "#666666";
         
     | 
| 
       112 
165 
     | 
    
         
             
            fontsize = 16;
         
     | 
| 
       113 
166 
     | 
    
         
             
            color = "#666666";
         
     | 
| 
       114 
     | 
    
         
            -
             
     | 
| 
      
 167 
     | 
    
         
            +
            2155397920;
         
     | 
| 
       115 
168 
     | 
    
         
             
            }
         
     | 
| 
       116 
     | 
    
         
            -
            subgraph  
     | 
| 
       117 
     | 
    
         
            -
            label = " 
     | 
| 
      
 169 
     | 
    
         
            +
            subgraph cluster_2154758200 {
         
     | 
| 
      
 170 
     | 
    
         
            +
            label = "<Class::BibTeX::Names>";
         
     | 
| 
       118 
171 
     | 
    
         
             
            fontcolor = "#666666";
         
     | 
| 
       119 
172 
     | 
    
         
             
            fontsize = 16;
         
     | 
| 
       120 
173 
     | 
    
         
             
            color = "#666666";
         
     | 
| 
       121 
     | 
    
         
            -
             
     | 
| 
      
 174 
     | 
    
         
            +
            2155394120;
         
     | 
| 
       122 
175 
     | 
    
         
             
            }
         
     | 
| 
       123 
     | 
    
         
            -
            subgraph  
     | 
| 
       124 
     | 
    
         
            -
            label = " 
     | 
| 
      
 176 
     | 
    
         
            +
            subgraph cluster_2154757920 {
         
     | 
| 
      
 177 
     | 
    
         
            +
            label = "BibTeX::NameParser";
         
     | 
| 
       125 
178 
     | 
    
         
             
            fontcolor = "#666666";
         
     | 
| 
       126 
179 
     | 
    
         
             
            fontsize = 16;
         
     | 
| 
       127 
180 
     | 
    
         
             
            color = "#666666";
         
     | 
| 
       128 
     | 
    
         
            -
             
     | 
| 
      
 181 
     | 
    
         
            +
            2155393620;
         
     | 
| 
      
 182 
     | 
    
         
            +
            2155393540;
         
     | 
| 
      
 183 
     | 
    
         
            +
            2155393440;
         
     | 
| 
       129 
184 
     | 
    
         
             
            }
         
     | 
| 
       130 
185 
     | 
    
         
             
            }
         
     |