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/names.rb
CHANGED
@@ -124,13 +124,13 @@ module BibTeX
|
|
124
124
|
[prefix, last, first, suffix].compact.join(' ')
|
125
125
|
end
|
126
126
|
|
127
|
-
alias
|
127
|
+
alias display display_order
|
128
128
|
|
129
129
|
def sort_order
|
130
130
|
[[prefix,last].compact.join(' '), suffix, first].compact.join(', ')
|
131
131
|
end
|
132
132
|
|
133
|
-
alias
|
133
|
+
alias to_s sort_order
|
134
134
|
|
135
135
|
def <=>(other)
|
136
136
|
other.is_a?(Name) ? [last, prefix, first, suffix].compact.join(' ') <=> [other.last, other.prefix, other.first, other.suffix].compact.join(' ') : super
|
@@ -158,14 +158,14 @@ module BibTeX
|
|
158
158
|
hash
|
159
159
|
end
|
160
160
|
|
161
|
-
alias
|
162
|
-
alias
|
163
|
-
alias
|
164
|
-
alias
|
165
|
-
alias
|
166
|
-
alias
|
167
|
-
alias
|
168
|
-
alias
|
161
|
+
alias family last
|
162
|
+
alias family= last=
|
163
|
+
alias given first
|
164
|
+
alias given= first=
|
165
|
+
alias jr suffix
|
166
|
+
alias jr= suffix=
|
167
|
+
alias von prefix
|
168
|
+
alias von= prefix=
|
169
169
|
|
170
170
|
end
|
171
171
|
end
|
data/lib/bibtex/parser.output
CHANGED
@@ -22,20 +22,20 @@ rule 17 string_assignment: NAME EQ string_value
|
|
22
22
|
rule 18 string_value: string_literal
|
23
23
|
rule 19 string_value: string_value SHARP string_literal
|
24
24
|
rule 20 string_literal: NAME
|
25
|
-
rule 21 string_literal:
|
26
|
-
rule 22
|
27
|
-
rule 23 entry: entry_head assignments
|
28
|
-
rule 24 entry: entry_head RBRACE
|
29
|
-
rule 25
|
30
|
-
rule 26
|
31
|
-
rule 27 key:
|
32
|
-
rule 28 key: NUMBER
|
33
|
-
rule 29
|
34
|
-
rule 30 assignments:
|
35
|
-
rule 31
|
36
|
-
rule 32
|
37
|
-
rule 33 value:
|
38
|
-
rule 34 value:
|
25
|
+
rule 21 string_literal: LBRACE content RBRACE
|
26
|
+
rule 22 string_literal: STRING_LITERAL
|
27
|
+
rule 23 entry: entry_head assignments RBRACE
|
28
|
+
rule 24 entry: entry_head assignments COMMA RBRACE
|
29
|
+
rule 25 entry: entry_head RBRACE
|
30
|
+
rule 26 entry_head: NAME LBRACE key COMMA
|
31
|
+
rule 27 key: NAME
|
32
|
+
rule 28 key: NUMBER
|
33
|
+
rule 29 key: NUMBER NAME
|
34
|
+
rule 30 assignments: assignment
|
35
|
+
rule 31 assignments: assignments COMMA assignment
|
36
|
+
rule 32 assignment: NAME EQ value
|
37
|
+
rule 33 value: string_value
|
38
|
+
rule 34 value: NUMBER
|
39
39
|
|
40
40
|
------- Symbols -------
|
41
41
|
|
@@ -67,54 +67,54 @@ rule 34 value: LBRACE content RBRACE
|
|
67
67
|
on left : 15
|
68
68
|
entry (25)
|
69
69
|
on right: 11
|
70
|
-
on left :
|
70
|
+
on left : 23 24 25
|
71
71
|
content (26)
|
72
|
-
on right: 12
|
72
|
+
on right: 12 21
|
73
73
|
on left : 13 14
|
74
74
|
string_value (27)
|
75
|
-
on right: 15 17 19
|
75
|
+
on right: 15 17 19 33
|
76
76
|
on left : 18 19
|
77
77
|
string_assignment (28)
|
78
78
|
on right: 16
|
79
79
|
on left : 17
|
80
80
|
string_literal (29)
|
81
81
|
on right: 18 19
|
82
|
-
on left : 20 21
|
82
|
+
on left : 20 21 22
|
83
83
|
entry_head (30)
|
84
|
-
on right:
|
85
|
-
on left :
|
84
|
+
on right: 23 24 25
|
85
|
+
on left : 26
|
86
86
|
assignments (31)
|
87
|
-
on right:
|
88
|
-
on left :
|
87
|
+
on right: 23 24 31
|
88
|
+
on left : 30 31
|
89
89
|
key (32)
|
90
|
-
on right:
|
91
|
-
on left :
|
90
|
+
on right: 26
|
91
|
+
on left : 27 28 29
|
92
92
|
assignment (33)
|
93
|
-
on right:
|
94
|
-
on left :
|
93
|
+
on right: 30 31
|
94
|
+
on left : 32
|
95
95
|
value (34)
|
96
|
-
on right:
|
97
|
-
on left :
|
96
|
+
on right: 32
|
97
|
+
on left : 33 34
|
98
98
|
|
99
99
|
**Terminals, with rules where they appear
|
100
100
|
|
101
101
|
$end (0)
|
102
102
|
error (1)
|
103
103
|
AT (2) 5
|
104
|
-
COMMA (3)
|
104
|
+
COMMA (3) 24 26 31
|
105
105
|
COMMENT (4) 12
|
106
106
|
CONTENT (5) 14
|
107
107
|
ERROR (6) 7
|
108
|
-
EQ (7) 17
|
109
|
-
LBRACE (8) 12 15 16
|
108
|
+
EQ (7) 17 32
|
109
|
+
LBRACE (8) 12 15 16 21 26
|
110
110
|
META_CONTENT (9) 6
|
111
|
-
NAME (10) 17 20
|
112
|
-
NUMBER (11)
|
111
|
+
NAME (10) 17 20 26 27 29 32
|
112
|
+
NUMBER (11) 28 29 34
|
113
113
|
PREAMBLE (12) 15
|
114
|
-
RBRACE (13) 12 15 16
|
114
|
+
RBRACE (13) 12 15 16 21 23 24 25
|
115
115
|
SHARP (14) 19
|
116
116
|
STRING (15) 16
|
117
|
-
STRING_LITERAL (16)
|
117
|
+
STRING_LITERAL (16) 22
|
118
118
|
|
119
119
|
--------- State ---------
|
120
120
|
|
@@ -256,9 +256,9 @@ state 16
|
|
256
256
|
|
257
257
|
state 17
|
258
258
|
|
259
|
-
|
260
|
-
|
261
|
-
|
259
|
+
23) entry : entry_head _ assignments RBRACE
|
260
|
+
24) entry : entry_head _ assignments COMMA RBRACE
|
261
|
+
25) entry : entry_head _ RBRACE
|
262
262
|
|
263
263
|
NAME shift, and go to state 26
|
264
264
|
RBRACE shift, and go to state 24
|
@@ -268,7 +268,7 @@ state 17
|
|
268
268
|
|
269
269
|
state 18
|
270
270
|
|
271
|
-
|
271
|
+
26) entry_head : NAME _ LBRACE key COMMA
|
272
272
|
|
273
273
|
LBRACE shift, and go to state 27
|
274
274
|
|
@@ -292,8 +292,9 @@ state 21
|
|
292
292
|
|
293
293
|
15) preamble : PREAMBLE LBRACE _ string_value RBRACE
|
294
294
|
|
295
|
+
LBRACE shift, and go to state 33
|
295
296
|
NAME shift, and go to state 32
|
296
|
-
STRING_LITERAL shift, and go to state
|
297
|
+
STRING_LITERAL shift, and go to state 34
|
297
298
|
|
298
299
|
string_value go to state 30
|
299
300
|
string_literal go to state 31
|
@@ -302,55 +303,55 @@ state 22
|
|
302
303
|
|
303
304
|
16) string : STRING LBRACE _ string_assignment RBRACE
|
304
305
|
|
305
|
-
NAME shift, and go to state
|
306
|
+
NAME shift, and go to state 36
|
306
307
|
|
307
|
-
string_assignment go to state
|
308
|
+
string_assignment go to state 35
|
308
309
|
|
309
310
|
state 23
|
310
311
|
|
311
|
-
|
312
|
-
|
313
|
-
|
312
|
+
23) entry : entry_head assignments _ RBRACE
|
313
|
+
24) entry : entry_head assignments _ COMMA RBRACE
|
314
|
+
31) assignments : assignments _ COMMA assignment
|
314
315
|
|
315
|
-
COMMA shift, and go to state
|
316
|
-
RBRACE shift, and go to state
|
316
|
+
COMMA shift, and go to state 38
|
317
|
+
RBRACE shift, and go to state 37
|
317
318
|
|
318
319
|
|
319
320
|
state 24
|
320
321
|
|
321
|
-
|
322
|
+
25) entry : entry_head RBRACE _
|
322
323
|
|
323
|
-
$default reduce using rule
|
324
|
+
$default reduce using rule 25 (entry)
|
324
325
|
|
325
326
|
|
326
327
|
state 25
|
327
328
|
|
328
|
-
|
329
|
+
30) assignments : assignment _
|
329
330
|
|
330
|
-
$default reduce using rule
|
331
|
+
$default reduce using rule 30 (assignments)
|
331
332
|
|
332
333
|
|
333
334
|
state 26
|
334
335
|
|
335
|
-
|
336
|
+
32) assignment : NAME _ EQ value
|
336
337
|
|
337
|
-
EQ shift, and go to state
|
338
|
+
EQ shift, and go to state 39
|
338
339
|
|
339
340
|
|
340
341
|
state 27
|
341
342
|
|
342
|
-
|
343
|
+
26) entry_head : NAME LBRACE _ key COMMA
|
343
344
|
|
344
|
-
NAME shift, and go to state
|
345
|
-
NUMBER shift, and go to state
|
345
|
+
NAME shift, and go to state 41
|
346
|
+
NUMBER shift, and go to state 42
|
346
347
|
|
347
|
-
key go to state
|
348
|
+
key go to state 40
|
348
349
|
|
349
350
|
state 28
|
350
351
|
|
351
352
|
12) comment : COMMENT LBRACE content _ RBRACE
|
352
353
|
|
353
|
-
RBRACE shift, and go to state
|
354
|
+
RBRACE shift, and go to state 43
|
354
355
|
|
355
356
|
|
356
357
|
state 29
|
@@ -365,8 +366,8 @@ state 30
|
|
365
366
|
15) preamble : PREAMBLE LBRACE string_value _ RBRACE
|
366
367
|
19) string_value : string_value _ SHARP string_literal
|
367
368
|
|
368
|
-
RBRACE shift, and go to state
|
369
|
-
SHARP shift, and go to state
|
369
|
+
RBRACE shift, and go to state 44
|
370
|
+
SHARP shift, and go to state 45
|
370
371
|
|
371
372
|
|
372
373
|
state 31
|
@@ -385,204 +386,206 @@ state 32
|
|
385
386
|
|
386
387
|
state 33
|
387
388
|
|
388
|
-
21) string_literal :
|
389
|
+
21) string_literal : LBRACE _ content RBRACE
|
389
390
|
|
390
|
-
|
391
|
+
CONTENT shift, and go to state 29
|
392
|
+
$default reduce using rule 13 (content)
|
391
393
|
|
394
|
+
content go to state 46
|
392
395
|
|
393
396
|
state 34
|
394
397
|
|
395
|
-
|
398
|
+
22) string_literal : STRING_LITERAL _
|
396
399
|
|
397
|
-
|
400
|
+
$default reduce using rule 22 (string_literal)
|
398
401
|
|
399
402
|
|
400
403
|
state 35
|
401
404
|
|
402
|
-
|
405
|
+
16) string : STRING LBRACE string_assignment _ RBRACE
|
403
406
|
|
404
|
-
|
407
|
+
RBRACE shift, and go to state 47
|
405
408
|
|
406
409
|
|
407
410
|
state 36
|
408
411
|
|
409
|
-
|
412
|
+
17) string_assignment : NAME _ EQ string_value
|
410
413
|
|
411
|
-
|
414
|
+
EQ shift, and go to state 48
|
412
415
|
|
413
416
|
|
414
417
|
state 37
|
415
418
|
|
416
|
-
23) entry : entry_head assignments
|
417
|
-
30) assignments : assignments COMMA _ assignment
|
419
|
+
23) entry : entry_head assignments RBRACE _
|
418
420
|
|
419
|
-
|
420
|
-
RBRACE shift, and go to state 47
|
421
|
+
$default reduce using rule 23 (entry)
|
421
422
|
|
422
|
-
assignment go to state 48
|
423
423
|
|
424
424
|
state 38
|
425
425
|
|
426
|
-
|
426
|
+
24) entry : entry_head assignments COMMA _ RBRACE
|
427
|
+
31) assignments : assignments COMMA _ assignment
|
427
428
|
|
428
|
-
|
429
|
-
|
430
|
-
NUMBER shift, and go to state 51
|
431
|
-
STRING_LITERAL shift, and go to state 33
|
429
|
+
NAME shift, and go to state 26
|
430
|
+
RBRACE shift, and go to state 49
|
432
431
|
|
433
|
-
|
434
|
-
string_value go to state 49
|
435
|
-
value go to state 50
|
432
|
+
assignment go to state 50
|
436
433
|
|
437
434
|
state 39
|
438
435
|
|
439
|
-
|
436
|
+
32) assignment : NAME EQ _ value
|
440
437
|
|
441
|
-
|
438
|
+
LBRACE shift, and go to state 33
|
439
|
+
NAME shift, and go to state 32
|
440
|
+
NUMBER shift, and go to state 53
|
441
|
+
STRING_LITERAL shift, and go to state 34
|
442
442
|
|
443
|
+
string_literal go to state 31
|
444
|
+
string_value go to state 51
|
445
|
+
value go to state 52
|
443
446
|
|
444
447
|
state 40
|
445
448
|
|
446
|
-
26)
|
449
|
+
26) entry_head : NAME LBRACE key _ COMMA
|
447
450
|
|
448
|
-
|
451
|
+
COMMA shift, and go to state 54
|
449
452
|
|
450
453
|
|
451
454
|
state 41
|
452
455
|
|
453
|
-
27) key :
|
454
|
-
28) key : NUMBER _ NAME
|
456
|
+
27) key : NAME _
|
455
457
|
|
456
|
-
NAME shift, and go to state 54
|
457
458
|
$default reduce using rule 27 (key)
|
458
459
|
|
459
460
|
|
460
461
|
state 42
|
461
462
|
|
462
|
-
|
463
|
+
28) key : NUMBER _
|
464
|
+
29) key : NUMBER _ NAME
|
463
465
|
|
464
|
-
|
466
|
+
NAME shift, and go to state 55
|
467
|
+
$default reduce using rule 28 (key)
|
465
468
|
|
466
469
|
|
467
470
|
state 43
|
468
471
|
|
469
|
-
|
472
|
+
12) comment : COMMENT LBRACE content RBRACE _
|
470
473
|
|
471
|
-
$default reduce using rule
|
474
|
+
$default reduce using rule 12 (comment)
|
472
475
|
|
473
476
|
|
474
477
|
state 44
|
475
478
|
|
476
|
-
|
479
|
+
15) preamble : PREAMBLE LBRACE string_value RBRACE _
|
477
480
|
|
478
|
-
|
479
|
-
STRING_LITERAL shift, and go to state 33
|
481
|
+
$default reduce using rule 15 (preamble)
|
480
482
|
|
481
|
-
string_literal go to state 55
|
482
483
|
|
483
484
|
state 45
|
484
485
|
|
485
|
-
|
486
|
+
19) string_value : string_value SHARP _ string_literal
|
486
487
|
|
487
|
-
|
488
|
+
LBRACE shift, and go to state 33
|
489
|
+
NAME shift, and go to state 32
|
490
|
+
STRING_LITERAL shift, and go to state 34
|
488
491
|
|
492
|
+
string_literal go to state 56
|
489
493
|
|
490
494
|
state 46
|
491
495
|
|
492
|
-
|
496
|
+
21) string_literal : LBRACE content _ RBRACE
|
493
497
|
|
494
|
-
|
495
|
-
STRING_LITERAL shift, and go to state 33
|
498
|
+
RBRACE shift, and go to state 57
|
496
499
|
|
497
|
-
string_value go to state 56
|
498
|
-
string_literal go to state 31
|
499
500
|
|
500
501
|
state 47
|
501
502
|
|
502
|
-
|
503
|
+
16) string : STRING LBRACE string_assignment RBRACE _
|
503
504
|
|
504
|
-
$default reduce using rule
|
505
|
+
$default reduce using rule 16 (string)
|
505
506
|
|
506
507
|
|
507
508
|
state 48
|
508
509
|
|
509
|
-
|
510
|
+
17) string_assignment : NAME EQ _ string_value
|
510
511
|
|
511
|
-
|
512
|
+
LBRACE shift, and go to state 33
|
513
|
+
NAME shift, and go to state 32
|
514
|
+
STRING_LITERAL shift, and go to state 34
|
512
515
|
|
516
|
+
string_value go to state 58
|
517
|
+
string_literal go to state 31
|
513
518
|
|
514
519
|
state 49
|
515
520
|
|
516
|
-
|
517
|
-
32) value : string_value _
|
521
|
+
24) entry : entry_head assignments COMMA RBRACE _
|
518
522
|
|
519
|
-
|
520
|
-
$default reduce using rule 32 (value)
|
523
|
+
$default reduce using rule 24 (entry)
|
521
524
|
|
522
525
|
|
523
526
|
state 50
|
524
527
|
|
525
|
-
31)
|
528
|
+
31) assignments : assignments COMMA assignment _
|
526
529
|
|
527
|
-
$default reduce using rule 31 (
|
530
|
+
$default reduce using rule 31 (assignments)
|
528
531
|
|
529
532
|
|
530
533
|
state 51
|
531
534
|
|
532
|
-
|
535
|
+
19) string_value : string_value _ SHARP string_literal
|
536
|
+
33) value : string_value _
|
533
537
|
|
538
|
+
SHARP shift, and go to state 45
|
534
539
|
$default reduce using rule 33 (value)
|
535
540
|
|
536
541
|
|
537
542
|
state 52
|
538
543
|
|
539
|
-
|
544
|
+
32) assignment : NAME EQ value _
|
540
545
|
|
541
|
-
|
542
|
-
$default reduce using rule 13 (content)
|
546
|
+
$default reduce using rule 32 (assignment)
|
543
547
|
|
544
|
-
content go to state 57
|
545
548
|
|
546
549
|
state 53
|
547
550
|
|
548
|
-
|
551
|
+
34) value : NUMBER _
|
549
552
|
|
550
|
-
$default reduce using rule
|
553
|
+
$default reduce using rule 34 (value)
|
551
554
|
|
552
555
|
|
553
556
|
state 54
|
554
557
|
|
555
|
-
|
558
|
+
26) entry_head : NAME LBRACE key COMMA _
|
556
559
|
|
557
|
-
$default reduce using rule
|
560
|
+
$default reduce using rule 26 (entry_head)
|
558
561
|
|
559
562
|
|
560
563
|
state 55
|
561
564
|
|
562
|
-
|
565
|
+
29) key : NUMBER NAME _
|
563
566
|
|
564
|
-
$default reduce using rule
|
567
|
+
$default reduce using rule 29 (key)
|
565
568
|
|
566
569
|
|
567
570
|
state 56
|
568
571
|
|
569
|
-
|
570
|
-
19) string_value : string_value _ SHARP string_literal
|
572
|
+
19) string_value : string_value SHARP string_literal _
|
571
573
|
|
572
|
-
|
573
|
-
$default reduce using rule 17 (string_assignment)
|
574
|
+
$default reduce using rule 19 (string_value)
|
574
575
|
|
575
576
|
|
576
577
|
state 57
|
577
578
|
|
578
|
-
|
579
|
+
21) string_literal : LBRACE content RBRACE _
|
579
580
|
|
580
|
-
|
581
|
+
$default reduce using rule 21 (string_literal)
|
581
582
|
|
582
583
|
|
583
584
|
state 58
|
584
585
|
|
585
|
-
|
586
|
+
17) string_assignment : NAME EQ string_value _
|
587
|
+
19) string_value : string_value _ SHARP string_literal
|
586
588
|
|
587
|
-
|
589
|
+
SHARP shift, and go to state 45
|
590
|
+
$default reduce using rule 17 (string_assignment)
|
588
591
|
|