diff -u -r bigforth/docu.orig/assem486.tex bigforth/docu/assem486.tex --- bigforth/docu.orig/assem486.tex Thu Aug 10 18:14:00 1995 +++ bigforth/docu/assem486.tex Wed Dec 1 16:43:47 1999 @@ -551,7 +551,7 @@ \word 0$>$= {( $--$ c )} Größer oder gleich 0. Negative clear. \word PS {( $--$ c )} Parity even. Parity set. \word PC {( $--$ c )} Parity odd. Parity clear. -\word $<$ {( $--$ c )} Kleiner. $\overline{Z}\land(V\not =N)$. +\word $<$ {( $--$ c )} Kleiner. $\overline{Z}\land(V\not =N)$. \word $>$= {( $--$ c )} Größer oder gleich. $Z\lor(V=N)$. \word $<$= {( $--$ c )} Kleiner oder gleich. $Z\land(V\not =N)$. \word $>$ {( $--$ c )} Größer. $\overline{Z}\land(V=N)$. diff -u -r bigforth/docu.orig/bfpc120.tex bigforth/docu/bfpc120.tex --- bigforth/docu.orig/bfpc120.tex Mon Jul 31 19:59:44 1995 +++ bigforth/docu/bfpc120.tex Wed Dec 1 16:50:55 1999 @@ -1,18 +1,21 @@ %format latex2e % Deutsches LaTeX -\documentstyle[12pt,german3,t1enc,bigforth]{book} +\documentclass[12pt]{book} +\usepackage[latin1]{inputenc} +\usepackage[dvips]{graphics} +\usepackage{bigforth} +\usepackage[german]{babel} \hyphenation{ pro-zes-sor pro-zes-so-ren in-ter-pre-ter in-sen-si-tiv -im-ple-men-ta-tions-ab-hän-gig } %\fontfamily{dcr}\selectfont -\font\HUGE=dcbx12 scaled 2986 +\font\HUGE=ecbx1200 scaled 2986 \def\tm{\raise 1ex\hbox{\tiny TM}} @@ -52,7 +55,7 @@ \chapter{Glossar} \printindex -\begin{thebibliography}{9}\frenchspacing +\begin{thebibliography}{9} %\frenchspacing \bibitem{Pou87} Dick Pountain; ``Object--Oriented Forth''; Academic Press 1987 \bibitem{Intel} Intel; ``i486 Microprocessor Programmer's Reference diff -u -r bigforth/docu.orig/bigforth.sty bigforth/docu/bigforth.sty --- bigforth/docu.orig/bigforth.sty Sat Aug 8 18:23:52 1998 +++ bigforth/docu/bigforth.sty Wed Dec 1 16:55:28 1999 @@ -71,27 +71,27 @@ % as Helmut Kopka defined in ``LaTeX Erweiterungsm\"oglichkeiten'' \ifcase \@ptsize\relax - \font\@nb=dcssbx10 scaled 1000 \def\normalbold{\@nb\baselineskip 12pt} - \font\@lb=dcssbx10 scaled 1200 \def\largebold{\@lb\baselineskip 14.5pt} - \font\@Lb=dcssbx10 scaled 1440 \def\Largebold{\@Lb\baselineskip 18pt} - \font\@hb=dcssbx10 scaled 2074 \def\hugebold{\@hb\baselineskip 25pt} - \font\@Hb=dcssbx10 scaled 2448 \def\Hugebold{\@Hb\baselineskip 30pt} - \font\@HB=dcssbx10 scaled 2986 \def\HUGEbold{\@HB\baselineskip 36pt} - \font\@bxi=dcbxti10 \def\bi{\@bxi\baselineskip 12pt} + \font\@nb=ecsx1000 scaled 1000 \def\normalbold{\@nb\baselineskip 12pt} + \font\@lb=ecsx1000 scaled 1200 \def\largebold{\@lb\baselineskip 14.5pt} + \font\@Lb=ecsx1000 scaled 1440 \def\Largebold{\@Lb\baselineskip 18pt} + \font\@hb=ecsx1000 scaled 2074 \def\hugebold{\@hb\baselineskip 25pt} + \font\@Hb=ecsx1000 scaled 2448 \def\Hugebold{\@Hb\baselineskip 30pt} + \font\@HB=ecsx1000 scaled 2986 \def\HUGEbold{\@HB\baselineskip 36pt} + \font\@bxi=ecbi1000 \def\bi{\@bxi\baselineskip 12pt} \or - \font\@nb=dcssbx10 scaled 1096 \def\normalbold{\@nb\baselineskip 13.6pt} - \font\@lb=dcssbx10 scaled 1200 \def\largebold{\@lb\baselineskip 14.5pt} - \font\@Lb=dcssbx10 scaled 1440 \def\Largebold{\@Lb\baselineskip 18pt} - \font\@hb=dcssbx10 scaled 2074 \def\hugebold{\@hb\baselineskip 25pt} - \font\@Hb=dcssbx10 scaled 2448 \def\Hugebold{\@Hb\baselineskip 30pt} - \font\@bxi=dcbxti10 scaled 1096 \def\bi{\@bxi\baselineskip 13.6pt} + \font\@nb=ecsx1000 scaled 1096 \def\normalbold{\@nb\baselineskip 13.6pt} + \font\@lb=ecsx1000 scaled 1200 \def\largebold{\@lb\baselineskip 14.5pt} + \font\@Lb=ecsx1000 scaled 1440 \def\Largebold{\@Lb\baselineskip 18pt} + \font\@hb=ecsx1000 scaled 2074 \def\hugebold{\@hb\baselineskip 25pt} + \font\@Hb=ecsx1000 scaled 2448 \def\Hugebold{\@Hb\baselineskip 30pt} + \font\@bxi=ecbi1000 scaled 1096 \def\bi{\@bxi\baselineskip 13.6pt} \or - \font\@nb=dcssbx10 scaled 1200 \def\normalbold{\@nb\baselineskip 14.5pt} - \font\@lb=dcssbx10 scaled 1440 \def\largebold{\@lb\baselineskip 18pt} - \font\@Lb=dcssbx10 scaled 1728 \def\Largebold{\@Lb\baselineskip 22pt} - \font\@hb=dcssbx10 scaled 2448 \def\hugebold{\@hb\baselineskip 30pt} - \font\@Hb=dcssbx10 scaled 2986 \def\Hugebold{\@Hb\baselineskip 36pt} - \font\@bxi=dcbxti12 \def\bi{\@bxi\baselineskip 14.5pt} + \font\@nb=ecsx1000 scaled 1200 \def\normalbold{\@nb\baselineskip 14.5pt} + \font\@lb=ecsx1000 scaled 1440 \def\largebold{\@lb\baselineskip 18pt} + \font\@Lb=ecsx1000 scaled 1728 \def\Largebold{\@Lb\baselineskip 22pt} + \font\@hb=ecsx1000 scaled 2448 \def\hugebold{\@hb\baselineskip 30pt} + \font\@Hb=ecsx1000 scaled 2986 \def\Hugebold{\@Hb\baselineskip 36pt} + \font\@bxi=ecbi1200 \def\bi{\@bxi\baselineskip 14.5pt} \fi % Eigener Kopfzeilenstil @@ -289,35 +289,35 @@ \@input{\jobname.ind}\par \end{index1}}} -\renewenvironment{thebibliography}[1] - {\section{\refname%\@mkboth{\uppercase{\refname}}{\uppercase{\refname}} - }% - \list{\@biblabel{\arabic{enumiv}}}% - {\settowidth\labelwidth{\@biblabel{#1}}% - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \if@openbib - \advance\leftmargin\bibindent - \itemindent -\bibindent - \listparindent \itemindent - \parsep \z@ - \fi - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{\arabic{enumiv}}}% - \if@openbib - \renewcommand\newblock{\par} - \else - \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% - \fi - \sloppy\clubpenalty4000\widowpenalty4000% - \sfcode`\.=\@m} - {\def\@noitemerr - {\@latex@warning{Empty `thebibliography' environment}}% - \endlist} +%\renewenvironment{thebibliography}[1] +% {\section{\refname%\@mkboth{\uppercase{\refname}}{\uppercase{\refname}} +% }% +% \list{\@biblabel{\arabic{enumiv}}}% +% {\settowidth\labelwidth{\@biblabel{#1}}% +% \leftmargin\labelwidth +% \advance\leftmargin\labelsep +% \if@openbib +% \advance\leftmargin\bibindent +% \itemindent -\bibindent +% \listparindent \itemindent +% \parsep \z@ +% \fi +% \usecounter{enumiv}% +% \let\p@enumiv\@empty +% \renewcommand\theenumiv{\arabic{enumiv}}}% +% \if@openbib +% \renewcommand\newblock{\par} +% \else +% \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% +% \fi +% \sloppy\clubpenalty4000\widowpenalty4000% +% \sfcode`\.=\@m} +% {\def\@noitemerr +% {\@latex@warning{Empty `thebibliography' environment}}% +% \endlist} -\font\@inifont=dcr17 scaled 2986 \def\inifont{\@inifont\baselineskip 50pt} +\font\@inifont=ecrm1728 scaled 2986 \def\inifont{\@inifont\baselineskip 50pt} \def\initial#1{\par \setbox0\hbox{\lower2\baselineskip\hbox{\inifont #1}}% \hangindent\wd0\hangafter-3\dp0=0pt\noindent\hbox to 0pt{\hss\box0}} diff -u -r bigforth/docu.orig/bigforth.tex bigforth/docu/bigforth.tex --- bigforth/docu.orig/bigforth.tex Sun Nov 21 21:26:39 1999 +++ bigforth/docu/bigforth.tex Wed Dec 1 15:59:12 1999 @@ -1,9 +1,10 @@ %latex -\documentstyle[10pt,german3,t1enc,bigforth,graphics]{book} -%\usepackage[latin1]{inputenc} -%\usepackage{a4wide} -%\usepackage[dvips]{graphics} +\documentclass{book} +\usepackage[latin1]{inputenc} +\usepackage[dvips]{graphics} +\usepackage{bigforth} +\usepackage[german]{babel} \makeindex \begin{document} diff -u -r bigforth/docu.orig/fileint.tex bigforth/docu/fileint.tex --- bigforth/docu.orig/fileint.tex Mon Aug 10 22:59:43 1998 +++ bigforth/docu/fileint.tex Wed Dec 1 16:29:49 1999 @@ -365,7 +365,7 @@ {\bf fcb} die Länge der Datei in Blöcken (KBytes). Es wird aufgerundet. - \word $>$PATH.FILE {( C\$ $--$ path$\backslash$C\$ )} Deferred Word. + \word $>$PATH.FILE {( C\$ $--$ path$\protect\backslash$C\$ )} Deferred Word. Sucht die Datei {\bf C\$} erst im aktuellen Directory, dann in allen in PATHES angegebenen. Der komplette Pfad, unter dem die Datei gefunden wurde, wird zurückgegeben. diff -u -r bigforth/docu.orig/install.tex bigforth/docu/install.tex --- bigforth/docu.orig/install.tex Sat Aug 8 18:55:14 1998 +++ bigforth/docu/install.tex Wed Dec 1 16:58:06 1999 @@ -83,7 +83,7 @@ Befehl ``DIR A:$\backslash$GEM'', daß man es auch weglassen kann, dann bewirkt DIR aber etwas anderes (gibt das aktuelle Directory aus). -Mehrere Möglichkeiten werden durch einen senkrechten Strich ``|'' +Mehrere Möglichkeiten werden durch einen senkrechten Strich ``$|$'' abgetrennt. Teile in geschweiften Klammern können beliebig oft wiederholt (oder @@ -95,7 +95,7 @@ {$\langle Out\rangle$})} {$\langle Inputstring\rangle$[$\langle Begrenzer\rangle$]}[ immediate][ restrict][:$\langle Befehl\rangle$] -Stackname::=RS|VS|FS|\$S +Stackname::=RS$|$VS$|$FS$|$\$S In::= {$\langle Parameter\rangle$ }{/ {$\langle Parameter\rangle$ }} @@ -190,8 +190,7 @@ Ziffern oder am Ende höchstens ein Zeichen (Punkt oder Komma) stehen. Format in BNF: \\ -Zahl::= [-][\%|\&|\$]$\langle Ziffer\rangle$[,|.]{$\langle - Ziffer\rangle$[,|.]} +Zahl::= [-][\%$|$\&$|$\$]\scan{Ziffer}[,$|$.]{\scan{Ziffer}[,$|$.]} Da gültige Ziffern von der Basis abhängen, können sie nicht einfach mit BNF dargestellt werden. diff -u -r bigforth/docu.orig/kernel.tex bigforth/docu/kernel.tex --- bigforth/docu.orig/kernel.tex Sun Nov 21 21:36:05 1999 +++ bigforth/docu/kernel.tex Wed Dec 1 16:48:03 1999 @@ -49,7 +49,7 @@ {$\langle Out\rangle$})} {$\langle Inputstring\rangle$[$\langle Begrenzer\rangle$]}[ immediate][ restrict][:$\langle Befehl\rangle$] -Stackname::=RS|VS|FS|\$S +Stackname::=RS$|$VS$|$FS$|$\$S In::= {$\langle Parameter\rangle$ }{/ {$\langle Parameter\rangle$ }} @@ -83,13 +83,13 @@ \word RP! {( addr $--$ )} Setzt {\bf addr} als neuen Returnstackpointer. - \word >R {( n $--$ ) (RS $--$ n ) restrict} Schiebt den Top of Stack + \word $>$R {( n $--$ ) (RS $--$ n ) restrict} Schiebt den Top of Stack (TOS) auf den Returnstack. \word R@ {( $--$ n ) (RS n $--$ n ) restrict} Kopiert den obersten Wert des Returnstacks auf den Stack. - \word R> {( $--$ n ) (RS n $--$ ) restrict} Schiebt den obersten + \word R$>$ {( $--$ n ) (RS n $--$ ) restrict} Schiebt den obersten Wert des Returnstacks zurück auf den Stack. \word DUP {( n $--$ n n )} Verdoppelt den TOS. @@ -459,17 +459,17 @@ "`true"', \dh. "`wahr"'. \begin{forth} - \word $>$ {( n1 n2 $--$ n1>n2 )} Gibt true zurück, wenn $n_1$ größer + \word $>$ {( n1 n2 $--$ n1$>$n2 )} Gibt true zurück, wenn $n_1$ größer als $n_2$ ist. - \word $<$ {( n1 n2 $--$ n1$ {( u1 u2 $--$ u1>u2 )} Gibt true zurück, wenn $u_1$ + \word U$>$ {( u1 u2 $--$ u1$>$u2 )} Gibt true zurück, wenn $u_1$ größer als $u_2$ ist. Dabei wird das Vorzeichen nicht berücksichtigt, "`negative"' Zahlen sind also größer als alle positiven Zahlen. Bei gleichem Vorzeichen gibt es dieselben - Ergebnisse wie bei >. + Ergebnisse wie bei $>$. \word U$<$ {( u1 u2 $--$ u1 kann man durch 2SWAP D< ersetzen. + $d_2$ ist. D$>$ kann man durch 2SWAP D< ersetzen. \word D0= {( d $--$ flag )} Gibt true zurück, wenn $d$ eine doppelt genaue 0 ist (zweimal 0 übereinander). @@ -593,12 +593,12 @@ \word PERFORM {( addr $--$ )} Ruft das Wort auf, dessen CFA an $addr$ gespeichert ist. Entspricht @ EXECUTE. - \word >MARK {( $--$ addr )} Legt eine Marke für einen Vorwärtssprung + \word $>$MARK {( $--$ addr )} Legt eine Marke für einen Vorwärtssprung an. Da die Distanz in bigFORTH ein 16-Bit-Wert ist, wird ein leeres 16-Bit-Feld compiliert und dessen Adresse auf den Stack gelegt. - Dieses Feld muß von >RESOLVE gesetzt werden. + Dieses Feld muß von $>$RESOLVE gesetzt werden. - \word >RESOLVE {( addr $--$ )} Löst einen Vorwärtssprung auf. Der + \word $>$RESOLVE {( addr $--$ )} Löst einen Vorwärtssprung auf. Der Sprung führt zu HERE, das Distanzfeld liegt an $addr$. \word MARK oder $MARK oder MARK oder $MARK oder {( addr1 addr2 n $--$ )} Wie CMOVE, nur wird + \word CMOVE$>$ {( addr1 addr2 n $--$ )} Wie CMOVE, nur wird "`rückwärts"' kopiert. Es wird also bei $addr1+n-1$ angefangen - und in Richtung niedriger Adressen weitergemacht. CMOVE> wird + und in Richtung niedriger Adressen weitergemacht. CMOVE$>$ wird benutzt, wenn CMOVE aufgrund der sequenziellen Kopie unbrauchbar - ist. Natürlich gibt es auch Situationen, in denen CMOVE> nicht wie + ist. Natürlich gibt es auch Situationen, in denen CMOVE$>$ nicht wie gewünscht arbeitet, dann muß CMOVE benutzt werden. Beispiel: \uverb|"` Dies ist ein Text"' count 2dup over 4+ -rot 4- cmove>| ok| @@ -1022,7 +1022,7 @@ den alten UDP auf den Stack. Mit UALLOT reserviert man einen $n$ Bytes großen Bereich, der ab $oldupd$ (Offset zu UP) beginnt. - \word USER {( $--$ ) : ( $--$ useraddr )} Legt eine + \word USER {( $--$ ) \scan{Name}:\scan{Name} ( $--$ useraddr )} Legt eine Uservariable an. \scan{Name} selbst legt beim Aufruf die ihm zugeordnete Useradresse $useraddr$ auf den Stack. \end{forth} @@ -1064,7 +1064,7 @@ 68000-Befehl jsr adresse. \word NOOP! {( addr $--$ )} Speichert an $addr$ drei NOPs (\$4E71) - hintereinander. Die Wirkung ist dieselbe wie ' NOOP CFA!, der + hintereinander. Die Wirkung ist dieselbe wie ' NOOP $addr$ CFA!, der Code aber schneller. \word (COMPILE {( $--$ )} Wird von COMPILE compiliert. Compiliert @@ -1072,7 +1072,7 @@ \word COMPILE {( $--$ ) \scan{Word} immediate restrict} Compiliert (COMPILE und die CFA des Wortes \scan{Word}. Bei der Ausführung wird dann - das Wort compiliert. + das Wort \scan{Word} compiliert. \word LITERAL {( n $--$ ) immediate restrict} Compiliert $n$ als Literal. Außerhalb des Compilers verwendet man LITERAL, um einmalige @@ -1319,13 +1319,13 @@ nächsten ) sofort aus. Es dient dazu, während des Compilierens Meldungen auszugeben. - \word $\backslash$ {( $--$ ) immediate} Kommentiert alles bis zum Ende der + \word $\protect\backslash$ {( $--$ ) immediate} Kommentiert alles bis zum Ende der Zeile aus. - \word $\backslash\backslash$ {( $--$ ) immediate} Kommentiert alles + \word $\protect\backslash\protect\backslash$ {( $--$ ) immediate} Kommentiert alles bis zum Ende des Screens aus. - \word $\backslash$NEEDS {( $--$ ) } Ist \scan{Wort} vorhanden, + \word $\protect\backslash$NEEDS {( $--$ ) \scan{Wort}} Ist \scan{Wort} vorhanden, wird der Rest der Zeile auskommentiert, ansonsten ausgeführt. Dient zum Nachladen oder -definieren dringend benötigter Wörter. Beispiel: @@ -1434,7 +1434,7 @@ Dictionary oder im Heap angelegt wird. Ist ?HEAD gelöscht, so wird im Dictionary angelegt, sonst im Heap und ?HEAD wird um eins erhöht. - \word | {( $--$ )} Setzt ?HEAD auf $-1$. Dadurch wird genau der + \word $|$ {( $--$ )} Setzt ?HEAD auf $-1$. Dadurch wird genau der nächste Wortkopf auf den Heap gelegt. Beispiel: \uverb^| : UNSICHTBAR ." UNSICHTBAR verschwindet nach einem CLEAR" ;^ ok^ @@ -1560,15 +1560,15 @@ 2: immediate restrict. - \word ' {( $--$ cfa ) } Gibt die CFA des nächsten Wortes im + \word ' {( $--$ cfa ) \scan{Wort}} Gibt die CFA des nächsten Wortes im Inputstream zurück. Wird das Wort nicht gefunden, bricht ' mit "`Hä?"' ab. - \word ['] {( $--$ cfa ) immediate} Wie ', nur wird die CFA + \word ['] {( $--$ cfa ) \scan{Wort} immediate} Wie ', nur wird die CFA im Programm gleich als Literal gespeichert, während ' hier erst bei der Ausführung des Programms ausgeführt wird. - \word [COMPILE] {( $--$ ) } Compiliert auf alle Fälle. + \word [COMPILE] {( $--$ ) \scan{Wort}} Compiliert \scan{Wort} auf alle Fälle. [COMPILE] wird unbedingt benötigt, wenn ein immediate-Word compiliert werden soll. @@ -1726,7 +1726,7 @@ & \bf beginnt mit & \bf endet mit \\ \hline \word :D0 {( $--$ n )} & \tt move.l ~(A6)+,D0 & \tt move.l ~D0,-(A6) \\ \word :A0 {( $--$ n )} & \tt movea.l (A6)+,A0 & \tt move.l ~A0,-(A6) \\ -\word :>R {( $--$ n )} & \tt move.l ~(A6)+,-(A7) & $--$ \\ +\word :$>$R {( $--$ n )} & \tt move.l ~(A6)+,-(A7) & $--$ \\ \word :DUP {( $--$ n )} & $--$ & \tt move.l ~(A6),-(A6) \\ \word :OVER {( $--$ n )} & $--$ & \tt move.l ~$xx$(A6),-(A6) \\ \word :+LOOP {( $--$ n )} & \tt add.l ~~(A6)+,D5 & $--$ \\ @@ -1736,7 +1736,7 @@ & & \tt ext.w ~~D0 \\ & & \tt ext.l ~~D0 \\ & & \tt move.l ~D0,-(A6) \\ -\word :R> {( $--$ n )} & $--$ & \tt move.l ~(A7)+,-(A6) \\ +\word :R$>$ {( $--$ n )} & $--$ & \tt move.l ~(A7)+,-(A6) \\ \word :@ {( $--$ n )} & $--$ & \tt move.l ~(A0),-(A6) \\ \word :R@ {( $--$ n )} & $--$ & \tt move.l ~(A7),-(A6) \\ \word :+ {( $--$ n )} & \tt move.l ~(A6)+,D0 & \tt add.l ~~D0,(A6) \\ @@ -1744,9 +1744,9 @@ \word :OR {( $--$ n )} & \tt move.l ~(A6)+,D0 & \tt or.l ~~~D0,(A6) \\ \word :AND {( $--$ n )} & \tt move.l ~(A6)+,D0 & \tt and.l ~~D0,(A6) \\ \word :XOR {( $--$ n )} & \tt move.l ~(A6)+,D0 & \tt eor.l ~~D0,(A6) \\ -\word :D0$\backslash$- {( $--$ n )} & \tt move.l ~(A6)+,D0 & \tt move.l ~D0,-(A6) \\ +\word :D0$\protect\backslash$- {( $--$ n )} & \tt move.l ~(A6)+,D0 & \tt move.l ~D0,-(A6) \\ & & (N-Bit im CCR nicht richtig gesetzt!) \\ -\word :D0$\backslash$F {( $--$ n )} & \tt move.l (A6)+,D0 & \tt move.l D0,-(A6) \\ +\word :D0$\protect\backslash$F {( $--$ n )} & \tt move.l (A6)+,D0 & \tt move.l D0,-(A6) \\ & & (CCR nicht richtig!) \end{tabular}} @@ -1970,7 +1970,7 @@ umgewandelt wird, sollte sie hier schon auf dem Stack liegen, auch wenn sie erst später gebraucht wird. - \word \#> {( d $--$ addr count )} Beendet die Zahlenumwandlung. Der + \word \#$>$ {( d $--$ addr count )} Beendet die Zahlenumwandlung. Der Rest der Zahl (meist eine doppelt genaue 0) wird vom Stack genommen und der Zahlenstring als Adresse und Länge auf den Stack gelegt. @@ -2040,7 +2040,7 @@ Das Format der Zahleneingabe ist im 1. Kapitel beschrieben, hier zur Wiederholung nochmal das Format in BNF: -Zahl::= [-][\%|\&|\$][,|.]{[,|.]} +Zahl::= [-][\%$|$\&$|$\$]\scan{Ziffer}[,$|$.]\{\scan{Ziffer}[,$|$.]\} \begin{forth} \word DIGIT? {( char $--$ n true / false )} Wenn $char$ eine Ziffer @@ -2062,7 +2062,7 @@ der Ziffern plus eins, die nach dem letzten Punkt bzw. Komma standen oder eine -1. DPL wird von NUMBER? benutzt. - \word NUMBER? {( string $--$ string false / d 0> / n $-1$ )} Versucht + \word NUMBER? {( string $--$ string false / d 0$>$ / n $-1$ )} Versucht den counted String $string$ in eine Zahl umzuwandeln. Ist das nicht möglich, so wird die Stringadresse und $false$ zurückgegeben. Enthält die Zahl . oder , , so wird eine doppelt genaue Zahl @@ -2609,10 +2609,10 @@ Soll nur angewendet werden, wenn der Cursor am Anfang der Zeile steht ($col=0$). - \word INPUT: {( $--$ ) \scan{Name} (4){ } [:\scan{Name} ( + \word INPUT: {( $--$ ) \scan{Name} (4){\scan{Wort} } [:\scan{Name} ( $--$ )} Erzeugt ein Inputfeld. Hinter dem Namen müssen die folgenden 4 gerätespezifischen Wörter in der hier aufgezählten - Reihenfolge stehen. Abgeschlossen wird die Definition von [. Bei + Reihenfolge stehen. Abgeschlossen wird die Definition von [. Bei dem Aufruf von \scan{Name} wird die Eingabe von dieses Gerät angenommen, \dh. die PFA von \scan{Name} wird in der Uservariablen INPUT gespeichert. diff -u -r bigforth/docu.orig/tools.tex bigforth/docu/tools.tex --- bigforth/docu.orig/tools.tex Mon Aug 10 21:30:50 1998 +++ bigforth/docu/tools.tex Wed Dec 1 16:17:05 1999 @@ -1293,10 +1293,10 @@ \begin{forth} \word $<<$ {( n1 n2 $--$ n3 )} Bitshift von {\bf n1} um {\bf n2} - nach links. Entspricht einer Multiplikation mit 2{\bf n2}. + nach links. Entspricht einer Multiplikation mit $2^{\bf n2}$. \word $>>$ {( n1 n2 $--$ n3 )} Bitshift von {\bf n1} um {\bf n2} - nach rechts. Entspricht einer Division durch 2{\bf n2}. + nach rechts. Entspricht einer Division durch $2^{\bf n2}$. \word U$>>$ {( n1 n2 $--$ n3 )} Bitshift vorzeichenlos um {\bf n2} nach rechts. Im Gegensatz zu $>>$ wird nicht mit dem vordersten Bit, diff -u -r bigforth/docu.orig/tutorial.tex bigforth/docu/tutorial.tex --- bigforth/docu.orig/tutorial.tex Sun Aug 9 14:23:13 1998 +++ bigforth/docu/tutorial.tex Wed Dec 1 16:04:13 1999 @@ -6,7 +6,7 @@ BIGFORTH.PRG-Icon (bzw. die Textzeile) gestartet. Nach dem Laden wird der Schirm gelöscht, in der zweiten Zeile wird -\centerline{\verb|32b bigFORTH rev. x.xx|} +\centerline{\tt 32b bigFORTH rev.\ x.xx} \noindent ausgegeben (wobei x.xx für die Versionsnummer steht und ``32b'' dafür, daß bigFORTH ein 32-Bit-System ist). Oben rechts läuft @@ -620,7 +620,7 @@ Natürlich kann man auch Dateien erzeugen. Drückt man \key{Alt M}, so erscheint eine Fileselectorbox, in der man den Namen eingibt. Läßt man den Dateisuffix weg, so wird .SCR angehängt. Die erzeugte Datei ist -zwei Blöcke lang, um sie zu editieren, muß man sie mit @U auswählen. +zwei Blöcke lang, um sie zu editieren, muß man sie mit \key{Alt U} auswählen. Schließlich und endlich lassen sich mit \key{Alt K} Dateien löschen. Auch hier wird die zu löschende Datei mit der Fileselectorbox