slightly looser a.c. / p.c. parsing
[scpubgit/stemmatology.git] / base / script / group_vars.pl
1 #!/usr/bin/env perl
2
3 use lib 'lib';
4 use strict;
5 use warnings;
6 use JSON;
7 use Text::Tradition;
8 use Text::Tradition::Analysis qw/ group_variants /;
9 use Text::Tradition::Stemma;
10
11 binmode STDERR, ":utf8";
12 binmode STDOUT, ":utf8";
13 eval { no warnings; binmode $DB::OUT, ":utf8"; };
14
15 # Parse the tradition data
16 my $informat = 'Self';
17
18 my %args = ( 'input' => $informat,
19              'file'  => $ARGV[0] );
20 my $tradition = Text::Tradition->new( %args );
21
22 # Parse the stemma data
23 my $stemma = Text::Tradition::Stemma->new( 'dot' => $ARGV[1] );
24
25 my $wits = {};
26 map { $wits->{$_} = 1 } $stemma->witnesses;
27
28 my $variant_groups = group_variants( $tradition->collation, $wits );
29
30 print encode_json( $variant_groups );