download PDF (41MB) - Mike Schilli
download PDF (41MB) - Mike Schilli
download PDF (41MB) - Mike Schilli
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
...UND NOCH EIN LEXFILE:<br />
BASICLEX<br />
von Michael Fiedler<br />
Wie in meinem letzten Artikel zu STRUC2<br />
angekiindigt, mochte ich heute den File<br />
BASICLEX vorstellen. Dabei handelt es<br />
sich um eine neue Mbglichkeit, BASIC-<br />
Programme zu listen, sodaB sie wesent<br />
lich ubersichtlicher als bisher dargestellt<br />
werden. Hauptsachlich im Zusammenhang<br />
mit Strukturbefehlen des HP-71 B<br />
(FOR...NEXT, DEFFN...ENDDEF),aber<br />
auch mit den neu hinzukommenden aus<br />
dem Lexfile STRUC2, zeigt sich die Star<br />
ke dieses Lexfiles, da es auf Wunsch<br />
automatisch Einriickungen entsprechend<br />
den Blockstrukturen vornimmt und damit<br />
die Obersichtlichkeit wesentlich erhoht.<br />
Der File stammt von den Autoren Pierre<br />
David und Janick Taillan hier nach einer<br />
Idee von Jean-Pierre Bondu, alles Mit<br />
glieder des PPC Paris. Eine erste Ver<br />
sion wurde in JPC 38 veroffentlicht, diese<br />
vorliegende in JPC 53. Die FilegroBe ist<br />
1838 Bytes (1819 laut CAT), es sind 4<br />
Schliisselwbrter vorhanden:<br />
BASICLEX ID=E1 SIZE=1838 Bytes<br />
5ADBLIST Stmt 225090<br />
5BPBLIST Stmt 225091<br />
5C RENUMREM Stmt 225092<br />
BASICLEX ID=E1 (see:ID=E1)<br />
*<br />
C8 INDENT Word 225200<br />
Die korrekte Syntax lautet:<br />
DBLIST [file][,start][,end] [INDENT x] [TO file]<br />
Der Befehl gleicht also im ersten Teil<br />
genau dem normalen LIST-Befehl. Neu<br />
hinzu gekommen ist die optionale Angabe<br />
INDENT x<br />
wobei mit x angegeben wird, umwieviele<br />
Stellen ein Block eingeriickt werden soil.<br />
Bei hierarchisch ineinander verschachtelten<br />
Blocken addiert sich naturlich die<br />
Einriickungstiefe entsprechend auf, daher<br />
sollte der Wert bei komplexen Programmen<br />
nicht zugroB gewahlt werden. Sonst<br />
bleibt unter Umstanden nicht mehrgeniigend<br />
Platz fur langere Zeilen.<br />
TO file<br />
bedeutet, daB man (optional) das Listing<br />
auch direkt in ein Textfile ubertragen<br />
lassen kann, statt es an das Display zu<br />
schicken. Das ist immer dann niitzlich,<br />
wenn man das Listing anschlieBend etwa<br />
mit einem Texteditor weiterbearbeiten will,<br />
oder per Modem verschicken will, oder<br />
ahnliches.<br />
Die Syntax des Befehls PBLIST ist identisch<br />
mit der von DBLIST. Hierwird ledig<br />
lich die gerade aktuelle PRINTER IS..<br />
Einheit angesprochen, wahrend bei<br />
DBLIST das aktuelle Display angespro<br />
chen wird. Bei Verwendung der "TO file"<br />
Option besteht zwischen den Befehlen<br />
kein Unterschied.<br />
Hier nun eine Auflistung, was bei Ver<br />
wendung der DBLIST/PBLIST-Befehlen<br />
im Listing anders gemacht wird als beim<br />
LIST-Befehl:<br />
1.) Sofern INDENT und ein Wert ange<br />
geben ist: Einriickung von Block<br />
strukturen.<br />
2.) Blbcke mit DATA-Zeilen erhalten<br />
jeweils eine Leerzeile vor und nach<br />
dem Block.<br />
3.) VorjedemLABELwird eine Leerzei<br />
le eingefugt.<br />
4.) REM-Zeilen werden ohne Zeilennummern<br />
angezeigt. Die erste REM-<br />
Zeile wird jeweils mit einem Bindestrich"-"<br />
markiert.<br />
5.) Unterprogramme (SUBs, also sol<br />
che die mit CALL aufgerufen wer<br />
den) stehen in einem mit einem waagrechten<br />
Strich abgetrennten Bereich<br />
am Ende des Listings.<br />
Der Befehl RENUMREM wirkt im Prinzip<br />
wie der RENUMBER-Befehl, nur daB er<br />
bei der Neunumerierung alle Zeilen ausnimmt,<br />
die mit! oder REM beginnen, also<br />
reine REM-Zeilen sind. Diese werden<br />
unabhangig von der angegebenen Schrittweite<br />
immer nur in 1-er Schritten neu<br />
numeriert. Der Sinn liegt darin, daB REM<br />
Zeilen unter DBLIST und PBLIST ohne<br />
Zeilennummern angezeigt werden. Da<br />
durch bleibt die Kontinuitat der restlichen<br />
Zeilennummern erhalten.<br />
Als Beispiel fiir einen PBLIST-Ausdruck<br />
mochte ich gleich noch ein BASIC-Programm<br />
vorstellen, das auch fiir sich ganz<br />
niitzlich sein kann. Es handelt sich um<br />
ein Basis-Umwandlungsprogramm, das<br />
Zahlen beliebiger Basis (zw. 2 und 16)<br />
ineinander umwandelt.<br />
Das Programm BASUM wird einfach<br />
SERIE 70<br />
gestartet und befindet sich danach in<br />
einer Endlosschleife, die immer am Eingabebefehl<br />
INPUT anhalt. Dabei wird links<br />
im Display immer das Ergebnis der letz<br />
ten Berechnung oder Eingabe angezeigt<br />
und rechts kann eine neue Eingabe<br />
gemacht werden. Als Eingaben sind zu<br />
lassig:<br />
1.) eine Zahl (wird als Dezimalzahl interpretiert).<br />
Sie wird gespeichert.<br />
2.) eine Basis in der Form Bxx, also<br />
z.B. B16 fiir hexadezimal, B6 fiir<br />
Basis6,etc.Zusatzlichverstehtdas<br />
Programm die Kiirzel B fur binar, O<br />
fiir oktal, D fiir dezimal (normaler<br />
weise nicht notig, da Default Ein- u.<br />
Ausgabe ohnehin dezimal) und H<br />
fiir hexadezimal. Nach Eingabe einer<br />
Basis wird die vorhin gespeicherte<br />
Zahl in dieser Basis ausgegeben.<br />
3.) eine Zahl mit Angabe der Basis dahinter.<br />
Diese Zahl wird nach dezimal<br />
umgewandelt, gespeichert und an<br />
gezeigt.<br />
4.) nichts (nur ENDLINE): die gespei<br />
cherte Zahl wird dezimal angezeigt.<br />
Beispiele:<br />
Umwandeln der Zahl 23 dez. nach hexa<br />
dezimal:<br />
23 (ENDLINE) H (ENDLINE)<br />
Umwandeln der Binarzahl 10101 nach<br />
oktal:<br />
10101B (ENDLINE) O (ENDLINE)<br />
Umwandeln der Zahl 363A der Basis 12<br />
nach dezimal:<br />
363AB12 (ENDLINE)<br />
Als Beispiel fiir PBLIST lege ich zwei<br />
Listings des Programms BASUM bei, eines<br />
herkommlich mit PUSTerstellt, das andere<br />
mit PBLIST INDENT 2.<br />
Beide Programme, BASICLEX und<br />
BASUM sind auch bei unserer Programm<br />
bibliothek auf magnetischen Medien<br />
erhaltlich. Ebenso gibt es dort jetzt eine<br />
neue, verbesserte Version von MAKEFI<br />
LE, die etwas mehr Komfort bietet als die<br />
aus PRISMA 7/86. U.a. sind die Tasten<br />
rechts neben dem Ziffernblock mit den<br />
Buchstaben A-F belegt, und auch ein<br />
Unterbrechen des Eintippens ist jetzt<br />
moglich, mit Fortfahren zu einem beliebi<br />
gen spateren Zeitpunkt.<br />
Computerclub Deutschland e.V PRISMA 6/89 17