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
|
}
|