! TokList.obas (c) Andre Koppel Software GmbH 2012
!
! Ein kleines Programm, mit dem sämtliche Tokens
! des OBAS-Interpreters angezeigt werden.
! Wir verwenden dafür die TOKENINFO$-Funktion.
! Diese Funktion liefert uns für jedes gefundene
! Token eine Liste mit Eigenschaften des Tokens.
! Nicht für alle Tokennummern sind tatsächlich
! Tokens definiert. Bei undefinierten Tokens liefert
! uns die Funktion die Zeichenkette "unused". Wenn ein
! Token mit einer Nummer größer der Maximalnummer der
! Liste angefragt wird, liefert uns die Funktion "N/A"
DISPLAY IS MESSAGE WINDOW
CLRSCR
TokensFound=0
FOR i=1 TO 10000
tok$=TOKENINFO$(i)
IF tok$=="N/A" THEN BREAK
IF tok$=="unused" THEN CONTINUE
TokensFound=TokensFound+1
DISP RPT$("-" ; 40) "\n"
! Das erste Element der Liste ist immer der Name
n$=LIST GET$(tok$;1)
DISP "Token " i ", Name: " n$ "\n"
l=LIST LEN(tok$)
! Jedes Attribut des Tokens ist ein Element in der Liste
! Wir fangen mit dem zweiten Element an, da das erste ja
! der bereits verarbeitete Name ist
FOR pos=2 TO l
e$=LIST GET$(tok$;pos)
n$=LIST GET NAME$(tok$;pos)
DISP USING "20A': 'KL" : n$ e$
NEXT
NEXT
DISP RPT$("=" ; 40) "\n"
DISP USING "DDDXKL" : TokensFound "Schlüsselwörter gefunden"
Das ist interessant
Dieses Programm zeigt nicht nur, wie man sich sämtliche Schlüsselwörter des OBAS-Programmes anzeigen lassen kann, sondern es demonstriert auch die in OBAS enthaltene Listenverwaltung.
Die Anweisung TOKENINFO$ liefert die Detailinformationen zu einem Schlüsselwort in Form einer Ergebnisliste. Die Elemente dieser Liste sind abhängig vom Schlüsselwort selbst. Die einzig konstante Komponente einer jeden gelieferten Liste ist das erste Element, denn es enthält den tatsächlichen Namen des Schlüsselwortes. Das OBAS-Programm zeigt also den Namen immer an und ermittelt danach, wie viele Elemente jede Ergebnisliste enthält. In einer Schleife werden dann formatiert die Bezeichnungen der jeweiligen Elemente mit darauf folgendem Inhalt ausgegeben. Das Element Parameter kann selbst wiederum eine Liste sein.
Beispiel in INVEP laden
Sie können dieses Beispielprogramm in den INVEP-OBAS-Interpreter laden, indem Sie im Interpreter über den Button "Neu/laden" die Option OBAS-Web auswählen. Geben Sie als Nummer für das Beispiel die 1 ein.


