From e6b83569eb352058eef1f0250e6629d47f425f12 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Wed, 23 Aug 2023 06:43:28 +0200 Subject: [PATCH] extract-tex.pl: Informativere Variablennamen. --- skripte/wortliste/extract-tex.pl | 98 ++++++++++++++++++++-------------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/skripte/wortliste/extract-tex.pl b/skripte/wortliste/extract-tex.pl index d571bce..7a4c2a8 100644 --- a/skripte/wortliste/extract-tex.pl +++ b/skripte/wortliste/extract-tex.pl @@ -475,16 +475,16 @@ while (<<>>) { # ^ my $g; - my $m; - my ($r, $r_vorher); - my ($w, $w_vorher); + my $marker; + my ($rang, $rang_vorher); + my ($wichtung, $wichtung_vorher); # Wir zerlegen mit `split' unter Beibehaltung der Begrenzer. my @zerlegung = split /([<>=-]+)/, $zeile; # Wir speichern Wichtung und Rang als Felder. - my @wichtung = (-2) x ($#zerlegung + 1); - my @rang = (0) x ($#zerlegung + 1); + my @wichtungen = (-2) x ($#zerlegung + 1); + my @ränge = (0) x ($#zerlegung + 1); # Erster Durchgang: Ermittle Wichtungswerte. @@ -493,36 +493,36 @@ while (<<>>) { # Ignoriere Nicht-Marker. next if not $i % 2; - $m = $zerlegung[$i]; + $marker = $zerlegung[$i]; - if ($m =~ /^-$/) { - $w = -1; + if ($marker =~ /^-$/) { + $wichtung = -1; } - elsif ($m =~ /^--$/) { - $w = 0; + elsif ($marker =~ /^--$/) { + $wichtung = 0; } - elsif ($m =~ /^[<>]$/) { - $w = 1; + elsif ($marker =~ /^[<>]$/) { + $wichtung = 1; } - elsif ($m =~ /^=$/) { - $w = 2; + elsif ($marker =~ /^=$/) { + $wichtung = 2; } - elsif ($m =~ /( ==*>? | ? | «. # Behandle »<« von rechts nach links gehend. - $w_vorher = -2; + $wichtung_vorher = -2; foreach my $i (reverse(1 .. ($#zerlegung - 1))) { # Ignoriere Nicht-Marker. next if not $i % 2; @@ -530,23 +530,23 @@ while (<<>>) { if (index ($zerlegung[$i], "<") >= 0) { # Hat der rechte Marker in einer Kette von »<« eine höhere # Wichtung, wird diese übernommen. - $w = $wichtung[$i]; + $wichtung = $wichtungen[$i]; - if ($w_vorher >= $w) { - $wichtung[$i] = $w_vorher; + if ($wichtung_vorher >= $wichtung) { + $wichtungen[$i] = $wichtung_vorher; } else { - $w_vorher = $w; + $wichtung_vorher = $wichtung; } } # »-«-Marker zwischen zwei »<« ändert nicht deren Wichtung. elsif ($zerlegung[$i] ne "-") { - $w_vorher = -2; + $wichtung_vorher = -2; } } # Behandle »>« von links nach rechts gehend. - $w_vorher = -2; + $wichtung_vorher = -2; foreach my $i (1 .. ($#zerlegung - 1)) { # Ignoriere Nicht-Marker. next if not $i % 2; @@ -554,50 +554,50 @@ while (<<>>) { if (index ($zerlegung[$i], ">") >= 0) { # Hat der linke Marker in einer Kette von »>« eine höhere # Wichtung, wird diese übernommen. - $w = $wichtung[$i]; + $wichtung = $wichtungen[$i]; - if ($w_vorher >= $w) { - $wichtung[$i] = $w_vorher; + if ($wichtung_vorher >= $wichtung) { + $wichtungen[$i] = $wichtung_vorher; } else { - $w_vorher = $w; + $wichtung_vorher = $wichtung; } } # »-«-Marker zwischen zwei »>« ändert nicht deren Wichtung. elsif ($zerlegung[$i] ne "-") { - $w_vorher = -2; + $wichtung_vorher = -2; } } # Dritter Durchgang: Ermittle Rang von »<« und »>«. # Behandle »<« von links nach rechts gehend. - $r = 0; + $rang = 0; foreach my $i (1 .. ($#zerlegung - 1)) { # Ignoriere Nicht-Marker. next if not $i % 2; if (index ($zerlegung[$i], "<") >= 0) { - $rang[$i] = $r--; + $ränge[$i] = $rang--; } # »-«-Marker zwischen zwei »<« ändert nicht den Rang. elsif ($zerlegung[$i] ne "-") { - $r = 0; + $rang = 0; } } # Behandle »>« von rechts nach links gehend. - $r = 0; + $rang = 0; foreach my $i (reverse(1 .. ($#zerlegung - 1))) { # Ignoriere Nicht-Marker. next if not $i % 2; if (index ($zerlegung[$i], ">") >= 0) { - $rang[$i] = $r--; + $ränge[$i] = $rang--; } # »-«-Marker zwischen zwei »>« ändert nicht den Rang. elsif ($zerlegung[$i] ne "-") { - $r = 0; + $rang = 0; } } @@ -605,40 +605,40 @@ while (<<>>) { my @wichtungsindices = sort { # Benutze Rang für Sekundärsortierung. - if ($wichtung[$a] == $wichtung[$b]) { - -($rang[$a] <=> $rang[$b]); + if ($wichtungen[$a] == $wichtungen[$b]) { + -($ränge[$a] <=> $ränge[$b]); } else { - -($wichtung[$a] <=> $wichtung[$b]); + -($wichtungen[$a] <=> $wichtungen[$b]); } } (0 .. $#zerlegung); # Entferne Trennstellen unter Berücksichtigung des Arguments von # »-g«. $g = 0; - $w_vorher = -2; - $r_vorher = 0; + $wichtung_vorher = -2; + $rang_vorher = 0; foreach my $i (@wichtungsindices) { # Alle Wortteile haben einen geraden Index und sind stets am # Schluß von @wichtungsindices. last if not $i % 2; - $w = $wichtung[$i]; - $r = $rang[$i]; + $wichtung = $wichtungen[$i]; + $rang = $ränge[$i]; - if ($w_vorher == $w) { - $g++ if $r_vorher != $r; + if ($wichtung_vorher == $wichtung) { + $g++ if $rang_vorher != $rang; } else { $g++; } - $w_vorher = $w; - $r_vorher = $r; + $wichtung_vorher = $wichtung; + $rang_vorher = $rang; # Entferne Trennung mit zu geringer Wichtung. - $zerlegung[$i] = "" if $g > $opt_g || $w < 0; + $zerlegung[$i] = "" if $g > $opt_g || $wichtung < 0; } $zeile = join '', @zerlegung; -- 2.11.4.GIT