bibtex-ruby 1.3.5 → 1.3.6
Sign up to get free protection for your applications and to get access to all the features.
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
|
}
|