Zum Inhalt springen

Blog ·

Das Verb vier Wörter weiter

Ein Pronomen im Niederländischen ändert Verben, die es nie berührt. Eine Tabelle aus 84 Wörtern, die bei Unbekanntem abbricht, und Kongruenz auf Distanz.

Von Provibr

Das Niederländische hat zwei Arten, einen Leser anzusprechen. u ist förmlich und je ist vertraut, und die Wahl ist nicht bloß eine Frage der Höflichkeit: Sie verändert das Verb, und anders als bei der französischen oder deutschen Entsprechung hängt die Form, die dabei herauskommt, davon ab, wo das Verb steht. Diese Seite war dahin abgedriftet, beide zu benutzen, also haben wir uns für je entschieden und alles umgestellt. Das sind zwei Umstellungen, denn der niederländische Text lebt an zwei Orten, die nichts gemeinsam haben: 102 Markdown-Artikel und ein Nachrichtenkatalog mit 18841 Schlüsseln. Die Messung vor der ersten Umstellung: 445 förmliche Pronomen in 44 der 102 Artikel, davon 362 einfache, 82 besitzanzeigende und eines reflexiv. Die übrigen 58 waren bereits vertraut.

Wäre das eine Sprache, in der ein Pronomen nur ein Pronomen ist, wäre die ganze Sache ein einziger Ersetzungsbefehl. Sie ist es nicht, und die interessanten Fehlschläge liegen alle stromabwärts davon.

Die Tabelle, die still Dinge übersprang

Das Niederländische stellt Subjekt und Verb in einer Frage oder nach einem vorangestellten Element um, und dabei fällt die Verbendung weg. Aus kunt u wird kun je, nicht kunt je. Ob die Endung wegfällt, hängt vom Stamm ab: zet u bleibt zet je, aber aus schrijft u wird schrijf je.

Das Skript muss also für jedes Wort, das vor dem Pronomen stehen kann, wissen, was mit diesem Wort geschieht. Die erste Fassung hatte eine Tabelle der Verben, die ich in einer Stichprobe gesehen hatte, und ließ alles Übrige unangetastet. So wurde aus Duwt u creditnota's ein Duwt je creditnota's und aus Verlaagt u een tijdstempel ein Verlaagt je een tijdstempel. Beides falsch, beides grammatisch aussehend und beides vollkommen still. Das Skript meldete Erfolg.

Das ist derselbe Fehlschlag, von dem diese Codebasis schon einmal in einem völlig anderen Bereich getroffen wurde: Eine Wache, die den Syntaxbaum unserer eigenen Quelle durchlief, band eine Art von Variablendeklaration und übersprang jede andere, meldete also Tausende abgedeckter Übersetzungsschlüssel, während sie für das Muster blind war, das das ganze Panel benutzt. Eine Tabelle, die eine unbekannte Form still überspringt, sieht vollständig aus und ist es nicht.

Die Tabelle enthält jetzt alle 84 Wörter, die wirklich vor einem förmlichen Pronomen stehen, aus dem Korpus gezählt statt aus dem Gedächtnis, und ein unbekanntes Wort ist Exit-Code 1. Von den 84 ändern 51 nichts: Konjunktionen, Relativpronomen und Präpositionen, vor denen das Pronomen schlicht Subjekt oder Objekt ist. Zwei Drittel der Tabelle existieren allein dafür, dass sich das Drittel, auf das es ankommt, nicht hinter einem Standardfall verstecken kann.

Drei Fehler, die nur das Lesen fand

Als die Tabelle vollständig war, waren nach dem Durchlauf immer noch drei Sätze falsch, und keiner davon ist ein Tabellenproblem. Aus tegen u kan liegen war tegen je kan liegen geworden, wo tegen jou kunt liegen stehen müsste: Das Pronomen ist dort Objekt einer Präposition und wird zur betonten Form. Aus van u uw war van je uw geworden, weil der erste Durchgang die Position verbraucht hatte, die ein späterer brauchte. Und aus u zich war je zich geworden, wo das Reflexivum des vertrauten niederländischen Pronomens je je lautet.

Jeder dieser Fälle verlangt, einen ganzen Teilsatz im Kopf zu behalten. Kein Durchgang über ein Fenster von zwei oder drei Wörtern kann sie erzeugen, und kein Test, der Wortzahlen vergleicht, würde etwas bemerken.

Kongruenz auf Distanz

Der Fund der Runde ist ein Satz, der mit dem förmlichen Pronomen richtig und mit dem vertrauten falsch ist, und die beiden beteiligten Wörter liegen vier Wörter auseinander.

als u die heeft ingesteld ist richtig. als je die heeft ingesteld ist falsch; dort muss hebt stehen. Pronomen und Verb kongruieren, und die sitzt zwischen ihnen, also sieht ein Durchgang, der verlangt, dass das Verb unmittelbar auf das Pronomen folgt, überhaupt nichts. Der Durchgang, der hier gefeuert hat, war der, der das Pronomen ändert, und er hat keinen Anlass, weiter in den Teilsatz hineinzuschauen.

Die Prüfung, die das schließt, ist ein regulärer Ausdruck über den fertigen Text: das vertraute niederländische Pronomen, bis zu vier dazwischenliegende Wörter, dann eines von genau drei Verben. Jeder Treffer muss von einem Menschen gelesen werden, und was gelesen und freigegeben wurde, wird mit seiner Begründung festgehalten; ein neuer Treffer ist Exit-Code 1.

Genau drei Verben, denn nur bei ihnen unterscheidet sich die Form der zweiten Person zwischen den beiden Registern. Die fünf naheliegenden Nachbarn sind in beiden identisch, und sie mitzunehmen erzeugte vier Treffer, die nie ein Defekt sein konnten. Eine Prüfung, die Zeilen erzeugt, auf die niemand reagieren muss, ist eine Prüfung, die man irgendwann nicht mehr liest.

Bis zu vier Wörter, denn das ist es, was das Korpus enthält, und weil ein unbegrenzter Abstand über Teilsatzgrenzen hinweggeht. Sechs der zehn Treffer im fertigen Katalog waren genau deshalb richtig, weil das Verb ein anderes Subjekt hatte.

Zwei Wachen, weil sich die Maskierung nicht teilen lässt

Beide Textbestände haben jetzt eine dauerhafte Prüfung, und es sind getrennte Dateien.

Der Grund ist, dass den Fließtext zu finden in beiden ein anderes Problem ist. In Markdown maskiert man Codeblöcke, Inline-Code und Linkziele. In einem Nachrichtenkatalog maskiert man den Argumentnamen, das Stilwort, die Zweigbezeichnungen und die Rich-Text-Tags der Platzhaltersyntax, behält aber den Text innerhalb eines Zweigs, denn dieser Text ist niederländisch und ein Pronomen darin zählt. Diese Maskierung ist ein Klammerläufer und kein regulärer Ausdruck, aus demselben Grund, aus dem die Platzhalterwache nebenan einer ist: Ein Zweig, dessen Text aus einem Wort besteht, sieht genau aus wie ein Argument.

Was die beiden Wachen sehr wohl teilen, ist eine Regel, und sie lebt in einer Datei, damit sie nicht auseinanderdriften können: ein großgeschriebenes Pronomen zählt nur am Satzanfang.

Diese Regel ist eine Messung und keine Bequemlichkeit. In den Artikeln überleben zehn nackte Treffer die Umstellung, und alle zehn stehen mitten im Satz: fünfmal Höheneinheiten aus dem Rechenzentrumskapitel, fünfmal der Buchstabe selbst, aus einem Alphabet, das ihn absichtlich auslässt. Im Katalog sind es 61, davon 54 mitten im Satz, sechs als Beschriftung und einer als Einheit in einem Feldnamen. Alle 61 wurden gelesen, und keiner ist ein Pronomen. Das als Liste von Dateinamen aufzuschreiben hätte die zweite Schreibweise desselben Gedankens verfehlt; es als Form aufzuschreiben fängt beide.

Das Kennzeichen, das an diesem Muster Groß- und Kleinschreibung ignoriert, wurde einmal vergessen, was ein großgeschriebenes Pronomen am Satzanfang unsichtbar machte: genau die Form, die in einer Überschrift oder nach einem Punkt auftritt. Ein Sondentest mit bekannten Fällen fing es sofort. Eine Wache ohne Sonde ist eine Wache, der Sie vertrauen, statt sie zu prüfen.

Zwei Arten, leer grün zu sein

Die Umstellung des Katalogs im Browser zu verifizieren erzeugte zwei falsche Grüns, und die sind die übertragbare Hälfte dieser Runde.

Eine Seite hinter einem Rollout-Schalter antwortet mit einer Fehlerseite, und eine Fehlerseite enthält keine förmlichen Pronomen. Zwei Panel-Bildschirme liegen so hinter einem Tor, und der Scan meldete auf beiden null Befunde, was sich genauso liest wie eine saubere Seite. Sichtbar wurde es durch eine Untergrenze für die Zahl der Zeichen: Die abgeriegelte Antwort hatte 173 Zeichen, und mit eingeschalteten Schaltern waren dieselben zwei Bildschirme 1335 und 557. Ein Scan einer leeren Seite und ein Scan einer sauberen Seite sind dieselbe Zahl.

Und der Entwicklungsserver hält den Katalog im Cache. Der erste absichtlich kaputte Durchlauf, der rot werden soll, damit man weiß, dass die Prüfung funktioniert, war grün, weil die ausgetauschte Datei erst nach einem Neustart ausgeliefert wurde. Ein Rotbeweis, der aus einem sachfremden Grund grün ist, ist schlimmer als gar kein Rotbeweis: Er beglaubigt die Prüfung.

Was wir aufschreiben würden

  1. Ein Pronomen in einer flektierenden Sprache ist keine Zeichenkette. Es zu ändern schreibt Wörter um, die es nicht berührt.
  2. Eine vollständige Tabelle schlägt eine aus einer Stichprobe, und der Unterschied wird erst sichtbar, wenn sie bei Unbekanntem abbricht.
  3. Zwei Drittel einer guten Tabelle dürfen nichts tun. Sie existieren, damit sich der Rest nicht hinter einem Standardfall verstecken kann.
  4. Ein Fenster von zwei Wörtern kann keinen Teilsatz sehen. Manche Fehler brauchen einen Leser, und daran führt kein Weg vorbei.
  5. Kongruenz kann auf Distanz wirken. Unsere reichte vier Wörter weit, und kein Durchgang in der Kette schaute so weit.
  6. Beschränken Sie eine Prüfung auf die Formen, die sich wirklich unterscheiden können. Fünf zusätzliche Verben bedeuteten vier Zeilen, auf die niemand reagieren konnte.
  7. Eine Prüfung, die folgenlose Zeilen liefert, wird übersprungen, und das ist schlimmer, als sie nicht zu haben.
  8. Halten Sie die freigegebenen Treffer mit ihrer Begründung fest und scheitern Sie an einem neuen. Schweigen ist kein Ergebnis.
  9. Eine abgeriegelte Seite scannt sauber. Setzen Sie eine Untergrenze auf die Größe dessen, was Sie gescannt haben.
  10. Beweisen Sie den Rotbeweis. Ein Entwicklungs-Cache machte unseren grün und hätte gar nichts beglaubigt.

Zur Klarheit: Die Umstellung der Artikel nahm 491 Ersetzungen über 44 Dateien vor, mit einem Diff von genau 306 Zeilen hinein und 306 heraus und nichts berührt außerhalb des niederländischen Quellbaums; die Umstellung des Katalogs nahm 169 Ersetzungen über 115 Schlüssel vor, bei unveränderter Schlüsselzahl von 18841 und in derselben Reihenfolge, und die Zeichendifferenz der ganzen Datei wurde Buchstabe für Buchstabe aufgelöst. Beide Bestände messen jetzt null förmliche Pronomen, und die Wortinvariante, die jedes Wortpaar vergleicht, das nicht die Anredeform ist, meldete null Unterschiede und wurde dreimal rot bewiesen. Nicht bewiesen: ein Leser, kein zweiter Muttersprachler, keine Messung der Barrierefreiheit, und der Fehlerpfadtext von drei abgeriegelten Bildschirmen wurde nie in einem Browser gerendert.

Aus der Plattformarbeit an Provibr. Was neun Kataloge mit einem Satz fester Bedienelemente anstellen, steht in Sechzehntausend Schlüssel, neun Sprachen, ein Umwandlungsskript, das drei Artikel beschädigte, auf die es nie angesetzt war, steht in Ein Umwandlungsskript, das zu weit lief, und eine weitere Wache, die nicht sehen konnte, wofür sie geschrieben war, steht in Ein vager Plural ist keine Zahl.

Fangen Sie mit einem Host und einem Agenten an

Konto erstellen, den Agenten mit einem einzigen Befehl installieren und Ihren ersten Proxmox-Host verbinden. Die Testphase läuft 14 Tage und fragt nicht nach Zahlungsdaten.