chiark / gitweb /
wip
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 14 Jan 2019 01:44:05 +0000 (01:44 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 14 Jan 2019 01:44:05 +0000 (01:44 +0000)
input-graph
parse-input-graph

index b95f51d1633319a5b905543d55dba0c073f19ed5..bc0e92aca47046131333855fda13bd82e893aecc 100644 (file)
@@ -9,7 +9,7 @@ purple
                Drenthe
                Vollenhove
                Noordoostpolder +
-               ZZ
+               ZZ +
        Noordoostpolder [2]
                ZZ
                Fr. +
@@ -54,13 +54,13 @@ yellow
                Twente
                Rijn en Ijssel ++
                Ijsseldelta
-               N.
+               N.r +
                F.
        Ijsseldelta
                Rijn en Ijssel +
                Veluwe
-               F.
-               N.
+               F. +
+               N.r +
                Vo.
 
 high           
@@ -75,7 +75,7 @@ yellow
        Gelderse Vallei
                Betuwe
                Utrechtse Heuvelrug
-               F.
+               F. +
 
 high
        Utrechtse Heuvelrug
@@ -154,7 +154,7 @@ green
                Hoekse Waard +
                V. +
                B.
-               L.v.H.
+               L.v.H. +
        West-Brabant
                De Zoom
                Schouwen-Duiveland +
index c44c56c39e5cdc1624edccf6393bf9e41a857472..7892ab2e83aab51799ffc441ecfcf3095d8a26ec 100755 (executable)
@@ -40,7 +40,7 @@ sub read_in () {
       next;
     }
     if (my ($aref, $adikes) = m{^\t\t(\S.*[A-Za-z.])(?: (\+\+?))?$}) {
-      my $adj = { Dikes => length $adikes, L => $. };
+      my $adj = { Dikes => (length $adikes // 0), L => $. };
       if ($aref =~ m{\.}) {
        $adj->{Pattern} = $aref;
        $aref =~ s{\-}{[^- ]*-}g;
@@ -116,10 +116,17 @@ sub edges () {
       push @{ $edges{$r0}{$r1}{L} }, $adja->{L};
       my $e = $edges{$r0}{$r1};
       $e->{Dikes} //= $adja->{Dikes};
-      confess "$r0 $r1 $e->{L} $e->{Dikes} $adja->{Dikes} ?"
+      confess "$r0 - $r1 | @{ $e->{L} } | $e->{Dikes} $adja->{Dikes} ?"
          unless $e->{Dikes} == $adja->{Dikes};
     }
   }
+  my $ndikes = 0;
+  foreach my $r0 (sort keys %edges) {
+    foreach my $r1 (sort keys %{ $edges{$r0} }) {
+      $ndikes += $edges{$r0}{$r1}{Dikes};
+    }
+  }
+  print "total $ndikes dikes\n";
 }
 
 read_in();