Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Zeichenfolgen

&pagelevel(4)&pagelevel

In diesem Abschnitt werden Zeichenfolgen definiert, die in EDT-Anweisungen mit unterschiedlicher Semantik benutzt werden, etwa in Suchanweisungen, als Kommentar oder als Sonderzeichen.

Zeichenfolgen ohne definierten Begrenzer (z.B. Hochkomma) werden bei der Syntax-Analyse zunächst ohne Berücksichtigung ihrer semantischen Einschränkungen extrahiert. Dabei werden (wenn beim Operandentyp nicht anders beschrieben) alle Zeichen ab dem ersten Nichtleerzeichen bis zu einem intern definierten Begrenzerzeichen oder dem Anwei-sungs-Ende benutzt. Als Begrenzer verwendet der EDT normalerweise das Leerzeichen, das Komma, das Gleichheitszeichen und die runden Klammern. Erst nach dieser Extraktion des Operanden erfolgt die Prüfung auf Länge, Zeichenvorrat und erlaubte Syntax.

Operand

Definition

chars

char | chars char

Zeichenfolge.

Operand

Definition

chars*

char* | chars* char*

Zeichenfolge, in der neben Zeichen aus dem jeweiligen Zeichensatz auch Ersatzdarstellungen für Unicode-Zeichen vorkommen dürfen. Die Ersatzdarstellung escseq (siehe char*) für Unicode-Zeichen kann verwendet werden, wenn ein Zeichen nicht direkt über die Tastatur eingeben werden kann oder wenn Unicode-Zeichen über Dateien eingegeben werden sollen, die selbst nicht in Unicode codiert sind (siehe auch Abschnitt „Unicode-Ersatzdarstellung“).

Wenn als escsymb mit @PAR ESCAPE-CHARACTER=‘%‘ etwa das Zeichen % definiert ist, wäre 'Hast du mal nen %U20ac?' ein gültiger Operand vom Typ chars*.

Operand

Definition

comment

chars

Beliebiger Kommentar.

Operand

Definition

message

chars

Beliebiger Text ( bis Anweisungs-Ende inclusive Leerzeichen), der bei Aufruf des EDT als Unterprogramm mit @RETURN oder @HALT an das rufende Programm übergeben wird. Die Zeichenfolge darf maximal 80 Zeichen enthalten und nur aus abdruckbaren Zeichen aus dem Zeichenvorrat von EDF03IRV bestehen.

Operand

Definition

name

chars

Zeichenfolge mit maximaler Länge von 8 Zeichen, die dem SDF-Datentyp <alphanum-name 1..8> entspricht.

Operand

Definition

str

’ [chars*] ’ [*int] | B ’ binary ’ [*int] | X ’ hex ’ [*int]

Folge von in Hochkommas eingeschlossenen Zeichen, die entweder durch Zeichen aus dem jeweiligen Zeichensatz oder in ihrer binären- bzw. hexadezimalen Codierung angegeben werden. Bei der Zeichendarstellung ist auch die Unicode-Ersatzdarstellung escseq erlaubt. Ob in der Zeichendarstellung die leere Zeichenfolge erlaubt ist, hängt von der jeweiligen Anweisung ab und wird dort beschrieben.

Wird B oder X verwendet, so erfolgt die Interpretation der Binär- oder Hexadezimalzahl immer im Zeichensatz der aktuellen Arbeitsdatei (oder in EDF041 wenn die aktuelle Arbeitsdatei keinen Zeichensatz hat), unabhängig davon, was mit der Zeichenfolge durch das verwendete Kommando dann geschieht.
Soll die Zeichenfolge ein Hochkomma enthalten, so müssen hierfür zwei Hochkommas geschrieben werden. Das gültige Zeichen für Hochkomma kann über die Anweisung @QUOTE verändert werden.

Die wahlfreie Angabe von *int ist dafür vorgesehen, eine Zeichenfolge zu wiederholen, z.B. ist 'ab'*3 gleichwertig mit 'ababab'. Da die max. Länge einer Zeichenfolge 32768 ist, darf int diesen Wert nicht überschreiten. Hat int den Wert 0 oder die zu wiederholende Zeichenfolge die Länge 0, so hat die daraus resultierende Zeichenfolge die Länge 0.

Beispiele

  • Die Angabe 'A''BC''D' erzeugt die Zeichenfolge A'BC'D.

  • Die Angabe 'ABC'*5 erzeugt die Zeichenfolge ABCABCABCABCABC.

  • Die Angabe X'C1F2'*4 erzeugt die Zeichenfolge A2A2A2A2, falls der Zeichensatz EDF041 eingestellt ist.

  • Die Angabe B'11110000'*3 erzeugt die Zeichenfolge 000, falls der Zeichensatz EDF041 eingestellt ist.

  • Die Angabe 'Das ist das %U0391 und %U03a9' erzeugt die Zeichenfolge 'Das ist das Α und Ω', falls ein Unicode-Zeichensatz eingestellt ist und für @PAR ESCAPE-CHARACTER das Zeichen % vereinbart wurde.

Hinweise

  • Wird bei hexadezimaler Angabe eine ungerade Anzahl von Zeichen verwendet, so wird linksbündig mit Nullen aufgefüllt. So ist etwa X'F' gleichwertig mit X'0F' oder X'A'*4 gleichwertig mit X'0A'*4.

  • Analoges gilt bei Binärdarstellung, wenn die Anzahl der Binärzeichen nicht ein Vielfaches von 8 ist. Auch hier wird linksbündig mit Nullen aufgefüllt, bis die Anzahl der Binärzeichen ein Vielfaches von 8 ist. So ist etwa B'1' gleichwertig mit B'00000001' oder B'1111'*2 gleichwertig mit B'00001111'*2.

Operand

Definition

strchar

str | U’unicode’

Einzelnes Zeichen in Hochkomma oder in binärer- bzw. hexadezimaler Codierung oder Direktangabe der UTF16-Codierung. Die resultierende Zeichenfolge muss genau die Länge 1 haben.

Operand

Definition

strspec

str

Einzelnes Zeichen in Hochkomma oder in binärer- bzw. hexadezimaler Codierung. Die resultierende Zeichenfolge muss genau die Länge 1 haben und aus dem Zeichenvorrat spec stammen.

Operand

Definition

string

str | line[:cols[,...] [:]] | svarex[:cols[,...] [:]]

Eine direkt oder indirekt angegebene Zeichenfolge.

Wird string indirekt über eine Zeichenfolgevariable oder eine Zeilennummer angegeben, so verwendet der EDT als string den Inhalt der Zeichenfolgevariablen bzw. den Inhalt der entsprechenden Zeile. Falls eine solche Zeile nicht existiert, wird eine Fehlermeldung ausgegeben und die Anweisung abgelehnt.

Ist als string lediglich ein Teil einer Zeile oder Zeichenfolgevariablen gewünscht, so kann dies über entsprechende Spaltenangaben zum Ausdruck gebracht werden. Werden Spaltenwerte angegeben, die die Zeilenlänge überschreiten, so wird dafür die entsprechende Anzahl von Leerzeichen eingesetzt.
Enthält z.B. die Zeile 6 die Zeichenfolge AB3CD6EF9 und ist string angegeben als
6:1-3,9,8,9,8-9,5-7,30,1,30-32,1:, so ist die hierüber ausgedrückte Zeichenfolge AB39F9F9D6E'BLANK'A'BLANK''BLANK''BLANK'A.

Wird in einer Anweisung als string eine Zeilennummer angegeben, die selbst durch diese EDT-Anweisung verändert wird, so wird als Operand der ursprüngliche Inhalt der Zeile genommen. Es habe etwa Zeile 1 den Inhalt ABC und die EDT-Anweisung lautet
@CREATE1:1,'D'*3,1, dann hat die Zeile 1 nach Durchführung dieser Anweisung den Inhalt ABCDDDABC.

Operand

Definition

search

string

Analog zum Operandentyp string, kann jedoch innerhalb der Alternative str anstelle eines apostrophe (') auch ein quotation mark (") verwendet werden. Beide Zeichen können mit der Anweisung @QUOTE umdefiniert werden.

Der Operandentyp search wird lediglich in der @ON-Anweisung zur Bezeichnung des Suchbegriffs verwendet.
Zur Bedeutung der Zeichen apostrophe und quotation mark bei der Suchanweisung siehe Abschnitt „Suchen mit @ON“.

Operand

Definition

text

chars*

Folgeeingabe bei einigen L-Modus-Anweisungen.

Der Text wird wie eine Eingabe im L-Modus behandelt, d.h. er wird entweder als Anweisung betrachtet und sofort ausgeführt oder als Dateneingabe betrachtet und an der Position der aktuellen Zeilennummer in die aktuelle Arbeitsdatei eingefügt. Die Unterscheidung erfolgt, je nachdem ob die ersten vom Leerzeichen verschiedenen Zeichen des Textes aus einem, zwei oder keinem EDT-Anweisungssymbol bzw. Benutzeranweisungssymbol bestehen (siehe Abschnitt „Eingabe im L-Modus“).

Stellt der Text eine Dateneingabe dar und enthält Unicode-Ersatzdarstellungen escseq, werden diese nur dann als Unicode-Zeichen interpretiert, wenn sowohl das verwendete Fluchtsymbol mit @PAR ESCAPE-CHARACTER definiert ist als auch @PAR DATA-REPLACEMENT=ON gesetzt ist. Stellt der Text eine Anweisung dar, werden Unicode-Ersatzdarstellungen nur innerhalb von Literalen als Unicode-Zeichen interpretiert, dann aber unabhängig von der Einstellung bei @PAR DATA-REPLACEMENT.