[ Weiter ] [ Zurück ] [ Zurück (Seitenende) ] [ Seitenende ] [ Überkapitel ] [ Bitte Skript-Fehler melden ]
Compile-Replace-Befehl
Das XFST-Werkzeug erlaubt es, Ausdrücke der Form "^[" RA "^]" auf einer Seite eines
Transduktors sekundär zu kompilieren und den Ausdruck durch sein Kompilat im Transduktor zu
ersetzen.
Fragen
Wieviele Wörter erkennen die beiden Transduktoren?
Compile-Replace für unbegrenzte Reduplikation
Reduplikation zur Pluralbildung im Malayischen
Stamm | Reduplikation | Bedeutung |
buku | buku-buku | Buch |
pelabuhan | pelabuhan-pelabuhan | Hafen |
Abstrakte Pluralbildung für compile-replace-Einsatz ▸▸▸
Idee
Im Plural wird der Stamm 2-fach konkateniert auf der unteren Sprache:
{buku}^2
Alignierung
Upper: 0 0 b u k u +Plural 0
| | | | | | | |
Lower: ^[ { b u k u }^2 ^]
define NRoots {buku}|{pelabuhan};
define RDPrefix "^[" "{"; define RDSuffix "}^2" "^]"; define Num [ "+Unmarked":0 | "+Plural":RDSuffix ]; define AbsNoun [ ( 0:RDPrefix ) NRoots Num ]; |
Problem
Die untere Sprache erlaubt Wörter, welche keine kompilierbaren RA ergeben. Welche? buku}^2^]
Untere Sprache kompilierbar machen und kompilieren
Ungrammatisches Herausfiltern
define BracketFilter [ ~ [ ! Niemals:
[ ?* RDPrefix ~$[RDSuffix] ] ! Ein Prefix ohne nachfolgenden Suffix | [ ~$[RDPrefix] RDSuffix ?* ] ! oder ein Suffix ohne vorangehendes Prefix ]]; |
Alles zusammensetzen
read regex AbsNoun .o. BracketFilter;
compile-replace lower apply up bukubuku apply up buku |
Vollreduplikation mit Marking und compile-replace ▸▸▸
define NRoots {buku}|{pelabuhan};
define Pluralize [ NRoots -> "^[" "{" ... "}^2" "^]" ]; read regex [ NRoots "+Unmarked":0 | [ NRoots "+Plural":0 .o. Pluralize ] ]; compile-replace lower |
[ Weiter ] [ Zurück ] [ Zurück (Seitenende) ] [ Seitenbeginn ] [ Überkapitel ] [ Bitte Skript-Fehler melden ]