From c8e84d87c1ac9397709b4abc285279d99e2b4455 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 14 Jan 2019 01:30:35 +0000 Subject: [PATCH] resolves --- input-graph | 15 +++++++-------- parse-input-graph | 16 ++++++++++------ 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/input-graph b/input-graph index 4663a63..0fa8919 100644 --- a/input-graph +++ b/input-graph @@ -5,14 +5,14 @@ purple Fryslan Fryslan NZ + - N. + N.t Drenthe Vollenhove Noordoostpolder + ZZ Noordoostpolder [2] ZZ - F. + + Fr. + Vollenhove + Ijsseldelta + Flevoland @@ -50,19 +50,18 @@ high yellow Vollenhove + D. Twente Rijn en Ijssel ++ Ijsseldelta N. F. - D. - Twente Ijsseldelta Rijn en Ijssel + Veluwe F. N. - V. + Vo. high Veluwe @@ -114,7 +113,7 @@ yellow K.R. + U.H. G.V. - V. + Ve. Vijfherenlanden B. + Land van Altena + @@ -163,7 +162,7 @@ green Hoekse Waard + L.v.A. + L.v.H. - O. + O-B. Hoekse Waard W-B. + Goeree-Overflakkee @@ -201,7 +200,7 @@ red Zuid-Beveland S-D. + De Zoom - Zeeuw-Vlaanderen + + Zeeuws-Vlaanderen + Walcheren + Zeeuws-Vlaanderen Z-B. + diff --git a/parse-input-graph b/parse-input-graph index 7181002..8d0c8c6 100755 --- a/parse-input-graph +++ b/parse-input-graph @@ -67,15 +67,19 @@ sub unique_aref ($$) { next unless defined $adjbn; #print STDERR "?? $ra -> $re $rb ?? $adjbn\n"; next unless $adjbn eq $ra; - push @cands, $rb; + push @cands, [ $rb, "$region{$rb}{L},$adjb->{L}" ]; } } - my @found = grep { m{^$re$} } @cands; - local $" = ' / '; - confess "$adja->{L} $adja->{Pattern} /$re/ | @cands | @found | ?" + my @found = grep { $_->[0] =~ m{^$re$} } @cands; + my $pr = sub { + join ' / ', map { "$_->[0] ($_->[1])" } @_; + }; + confess "$adja->{L} $adja->{Pattern} /$re/ | ".$pr->(@cands) + ." | ".$pr->(@found)." | ?" unless @found==1; - print "resolve $ra -> $adja->{Pattern} = @found\n"; - return $found[1]; + my $r = $found[0][0]; + print "resolve $ra -> $adja->{Pattern} = $r\n"; + return $r; } sub resolve_arefs () { -- 2.30.2