Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
tustep:loesungen:neue_konventionen [2018/07/25 13:18] Daniel Zang ↷ Links angepasst weil Seiten im Wiki verschoben wurden |
tustep:loesungen:neue_konventionen [2021/03/16 05:34] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ---- | ||
- | [[start|Zurück zum Inhaltsverzeichnis - Lösungen und Tipps]] | ||
- | ---- | ||
- | ====== Konventionen zum pattern matching ====== | ||
- | \\ Seit der **TUSTEP-Version 2012** gelten neue Konventionen zum **pattern matching**. Sie sind systematischer aufgebaut, leichter zu merken und zu lesen als die bisher allein gültigen. Darüber hinaus können sie auch problemlos in Prozeduren genutzt werden, die mit **XML**-Editoren geschrieben werden.\\ \\ Eine **Liste der (neuen vs. alte) Konventionen zum Download** finden Sie [[/ | ||
- | # | ||
- | # | ||
- | (!! gleichbedeutend: | ||
- | ¤ Die Voreinstellung {} **gilt für neue Sitzungen**, | ||
- | Übersicht: | ||
- | linke Spalte: Codierung bei #parameter, modus={} | ||
- | rechte Spalte: Codierung bei #parameter, modus=<> | ||
- | |||
- | Vordefinierte Zeichengruppen | ||
- | {!} ASCII-Zeichen | ||
- | {;} TUSTEP-Zeichen außer ASCII-Zeichen | ||
- | {@} Zeichen außer Buchstaben und Ziffern | ||
- | {%} Zeichen hinter % zur Akzentcodierung | ||
- | {\a} | ||
- | {\A} | ||
- | {& | ||
- | {\0} | ||
- | {& | ||
- | |||
- | Zeichen- und Stringgruppen | ||
- | ? ein beliebiges Zeichen | ||
- | * null bis beliebig viele beliebige Zeichen | ||
- | [...] lokale Zeichengruppe, | ||
- | {Z:xy} selbstdefinierte Zeichengruppe xy >[xy] | ||
- | {C:xy} alternative Schreibweise für {Z:xy} | ||
- | {S:xy} selbstdefinierte Stringgruppe xy < | ||
- | | ||
- | | ||
- | Bezug auf eine Zeichen- oder Stringgruppe | ||
- | {–} nachfolgende Zeichen aus der Gruppe entfernen | ||
- | {+} nachfolgende Zeichen in die Gruppe aufnehmen | ||
- | |||
- | Häufigkeitsbedingungen in Suchzeichenfolgen | ||
- | {n} genau n Elemente | ||
- | {n-m} n bis m Elemente, möglichst wenige | ||
- | {n––m} n bis m Elemente, möglichst viele <> | ||
- | {0} 0 oder 1 Element = {0–1} | ||
- | {00} 1 bis unendlich viele Elemente = {1–0} | ||
- | |||
- | Zahlenwertbedingungen in Suchzeichenfolgen | ||
- | {#} Zahl mit beliebigem Wert | ||
- | {#n} Zahl mit Wert n > | ||
- | {!n} Zahl mit Wert ungleich n < | ||
- | {#n-m} Zahl mit Wert von n bis m > | ||
- | {!n-m} Zahl mit Wert kleiner n oder größer m <{n-m} | ||
- | |||
- | Verweise in Suchzeichenfolgen | ||
- | {+n=} n-tes Element von links gezählt a != A > | ||
- | {-n=} n-tes Element von rechts gezählt a != A <=nn | ||
- | {+n:} n-tes Element von links gezählt a == A >: | ||
- | {-n:} n-tes Element von rechts gezählt a == A <:nn | ||
- | |||
- | Elementbereiche in Suchzeichenfolgen | ||
- | {|} Begrenzungszeichen zwischen Elementbereichen | ||
- | |||
- | Verweise in Ersatzzeichenfolgen | ||
- | {+n=} n-tes Element von links gezählt | ||
- | {-n=} n-tes Element von rechts gezählt | ||
- | {+0=} alle Elemente der Kernzeichenfolge | ||
- | {–0=} | ||
- | {+n-m=} n-tes bis m-tes Element von li. gezählt | ||
- | {+n–0=} n-tes bis letztes Element von li. gezählt | ||
- | {-n-m=} n-tes bis m-tes Element von re. gezählt | ||
- | {–0-m=} erstes bis m-tes Element von re. gezählt | ||
- | {=n=} Alle Elemente des n-ten Elementbereichs | ||
- | {=0=} Alle Elemente der Kernzeichenfolge | ||
- | {=n-m=} Alle Elemente des n-ten bis m-ten Elementbereichs | ||
- | {...+} | ||
- | {...–} | ||
- | {...; | ||
- | {...!} | ||
- | |||
- | Einzelzeichen | ||
- | \? | ||
- | \* | ||
- | \[ | ||
- | \] | ||
- | \{ | ||
- | \} | ||
- | \a | ||
- | \A | ||
- | \\ | ||
- | < spitze Klammer auf << | ||
- | > spitze Klammer zu >> | ||
- | |||
- | Sonstiges | ||
- | {[} linker Rand <| | ||
- | {]} rechter Rand >| | ||
- | {|} in Sortieralphabet-Tabellen: | ||
- | | ||
- | ==== Eingabeerleichterung im Editor ==== | ||
- | CTRL+K + erstes Zeichen, das in den Klammern vorgesehen ist | ||
- | erleichtert die Eingabe von {...} | ||
- | |||
- | CTRL+K + Blank zeigt eine Übersicht über die nach #pa,{} geltenden Konventionen | ||
- | zum Schreiben der Parameter und der Editor-Anweisungen. | ||
- | ==== Ausführen " | ||
- | Will man Programme, deren Parameter **noch nach den <> | ||
- | PAR <> | ||
- | gilt der Parameter-Modus <> | ||
- | Dasselbe gilt auch im umgekehrten Fall: | ||
- | PAR | ||
- | gilt der Parameter-Modus {} | ||
- | **Beispiel: | ||
- | # | ||
- | par {} | ||
- | ea |< | ||
- | ee |</ | ||
- | ssl 20 | ||
- | *eof | ||
- | |||
- | oder: | ||
- | |||
- | # | ||
- | par <> | ||
- | ea |<< | ||
- | ee |<</ | ||
- | ssl 20 | ||
- | *eof | ||
- | \\ | ||
- | ====== Prozedur zur Konvertierung alt nach neu ====== | ||
- | - [[http:// | ||
- | |||
- | * [[/ | ||
- | * [[/ | ||
- | * 20 KB | ||
- | \\ \\ Eine **Beschreibung der Prozedur und ihre Voraussetzungen** finden sich am Anfang der Datei.\\ \\ \\ | ||
- | ---- | ||
- | [[/ |