Warning: this is a htmlized version!
The original is across this link. |
####### # # E-scripts on "other" Forths. # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://angg.twu.net/a/e/fortho.e> # or at <http://angg.twu.net/e/fortho.e.html>. # See also <http://angg.twu.net/emacs.html>, # <http://angg.twu.net/a/.emacs[.html]>, # <http://angg.twu.net/a/.zshrc[.html]>, # <http://angg.twu.net/escripts.html>, # and <http://angg.twu.net/>. # ####### ###### # # F21 emulator # ###### # (find-es "dos" "dosemu_slink_4dos") cd $S/http/www.ultratechnology.com/ # (find-fline "$S/http/www.ultratechnology.com/") # (find-fline "$S/http/www.ultratechnology.com/f21emu/") # (find-fline "$S/http/www.ultratechnology.com/f21sim/") rm -Rv /tmp/dos/f21emu mkdir /tmp/dos/f21emu cd /tmp/dos/f21emu unzip -L $S/http/www.ultratechnology.com/f21emu/f21emu12.zip dos -c -e 8192 dos -c -x 8192 # http://www.spiritone.com/~fwarren/fpc.html unzip -l /snarf/ftp/ftp.taygeta.com/pub/Forth/Compilers/native/dos/FPC/fpc36.zip ######### # # dynoof 0.1.5 # ######### cd /usr/src/ rm -Rv dynoof-0.1.5/ tar -xvzf /snarf/ftp/ftp.taygeta.com/Taygeta/Forth/Linux/dynoof-0.1.5.tgz cd /usr/src/dynoof-0.1.5/ # (find-fline "/usr/src/dynoof-0.1.5/README.Linux") # (find-fline "/usr/src/dynoof-0.1.5/Makefile" "mkindex >Indexes.ah") # diff -e Makefile~ Makefile ed Makefile <<'---' 76c ./mkindex >Indexes.ah . w --- make config |& tee omc make |& tee om # 99nov10: not working, gcc gives a funny error: # (find-fline "/usr/src/dynoof-0.1.5/om" "fixed or forbidden register 0 (ax)") ####### # # bigforth 23nov97 # ####### cd /snarf/http/www.informatik.tu-muenchen.de/~paysan/ bunzip2 bigforth-bin-23nov97.tar.bz2 bunzip2 bigforth-data-23nov97.tar.bz2 bunzip2 bigforth-src-23nov97.tar.bz2 bunzip2 bigforth-src-29dec97.tar.bz2 cd /usr/src/ rm -Rv bigforth/ tar -xvf /snarf/http/www.jwdt.com/~paysan/bigforth-bin-23nov97.tar tar -xvf /snarf/http/www.jwdt.com/~paysan/bigforth-data-23nov97.tar tar -xvf /snarf/http/www.jwdt.com/~paysan/bigforth-src-23nov97.tar # tar -xvf /snarf/http/www.jwdt.com/~paysan/bigforth-src-29dec97.tar cd /usr/src/bigforth/ make all |& tee oma # for i in (*.scr) # do ~/ICON/scr2str $i | tr ~/ICON/scr2str assem486.scr > assem486.st ~/ICON/scr2str bench.scr > bench.st ~/ICON/scr2str complex.scr > complex.st ~/ICON/scr2str disass.scr > disass.st ~/ICON/scr2str edit.scr > edit.st ~/ICON/scr2str fft.scr > fft.st ~/ICON/scr2str file.scr > file.st ~/ICON/scr2str fileint.scr > fileint.st ~/ICON/scr2str fileop.scr > fileop.st ~/ICON/scr2str float.scr > float.st ~/ICON/scr2str forth.scr > forth.st ~/ICON/scr2str ftast.scr > ftast.st ~/ICON/scr2str infix.scr > infix.st ~/ICON/scr2str oof.scr > oof.st ~/ICON/scr2str oofsampl.scr > oofsampl.st ~/ICON/scr2str output.scr > output.st ~/ICON/scr2str pipes.scr > pipes.st ~/ICON/scr2str savemod.scr > savemod.st ~/ICON/scr2str sedit.scr > sedit.st ~/ICON/scr2str startup.scr > startup.st ~/ICON/scr2str stream.scr > stream.st ~/ICON/scr2str struct.scr > struct.st ~/ICON/scr2str target.scr > target.st ~/ICON/scr2str tasker.scr > tasker.st ~/ICON/scr2str tools.scr > tools.st ~/ICON/scr2str vectors.scr > vectors.st ~/ICON/scr2str xwidgets.scr > xwidgets.st glimpseindex -H . *.st *.str *.m # From a hint Bernd Paysan gave me... # cat > tags.str <<'EOF' : tags context @ LIST> dup 2- w@ (view file? . cell+ .name cr ; cr ." ----" cr tags cr bye EOF bigforth "include forth.scr include tags.str" \ > forthker.tags forthker "include startup.scr include tags.str" \ > bigforth.tags bigforth 'include xwidgets.scr include edit.scr include login.str '\ 'include ptty.str include tags.str' \ > xbigforth.tags ~/ICON/ftags < forthker.tags > TAGS.forthker ~/ICON/ftags < bigforth.tags > TAGS.bigforth ~/ICON/ftags < xbigforth.tags > TAGS.xbigforth # rm TAGS ln -s TAGS.xbigforth TAGS # (find-bftag "create") # (find-bffile "README" 27) export BROWSER=/usr/src/netscape/netscape # Indented lines mean "type yourself". Each line is a different thing/demo. xbigforth ed edit.scr include minos.str designer open include testwidgets.str include gears.m gears open # (find-bffile "Makefile") # (find-bffile "startup.st" 24) # (find-bffile "forth.st" 1311) # (find-bffile "forth.st" 280) # (find-bffile "fileint.st" 654) # (find-bffile "forth.st" 2479) # (find-bffile "forth.st" 1441) # (find-bffile "forth.st" 1496) # *.st *.str *.m # (find-bffile "edit.st" 928) ####### # # Bigforth 11apr1999: preparing it to run # ####### cd $S/http/www.jwdt.com/~paysan/ for i in bin-glibc bin-libc5 data doc src edata-ShinyMetal edata-wood; do bunzip2 -v bigforth-$i-11apr1999.tar.bz2 gzip -v -9 bigforth-$i-11apr1999.tar done # See it PAYSAN=$S/http/www.jwdt.com/~paysan tar -tvzf $PAYSAN/bigforth-bin-glibc-11apr1999.tar.gz tar -tvzf $PAYSAN/bigforth-data-11apr1999.tar.gz tar -tvzf $PAYSAN/bigforth-doc-11apr1999.tar.gz tar -tvzf $PAYSAN/bigforth-src-11apr1999.tar.gz tar -tvzf $PAYSAN/bigforth-edata-ShinyMetal-11apr1999.tar.gz tar -tvzf $PAYSAN/bigforth-edata-wood-11apr1999.tar.gz rm -Rv /usr/src/bigforth/ mkdir /usr/src/bigforth/ cd /usr/src/ PAYSAN=$S/http/www.jwdt.com/~paysan tar -xvzf $PAYSAN/bigforth-bin-glibc-11apr1999.tar.gz tar -xvzf $PAYSAN/bigforth-data-11apr1999.tar.gz #tar -xvzf $PAYSAN/bigforth-doc-11apr1999.tar.gz tar -xvzf $PAYSAN/bigforth-src-11apr1999.tar.gz #tar -xvzf $PAYSAN/bigforth-edata-ShinyMetal-11apr1999.tar.gz #tar -xvzf $PAYSAN/bigforth-edata-wood-11apr1999.tar.gz # cd /usr/src/bigforth/ echo ': rr s" /home/root/FORTH/emacs.rr" included ;' >> bigforth.cnf rm bigforth make bigforth |& tee ombf # rm bigforth forthker.sys # make |& tee om # rm bigforth.sys # make bigforth.sys |& tee om2 # rm xbigforth.sys *.bfm # make xbigforth.sys |& tee om2 for i in *.scr; do echo $i; ~/ICON/deblock < $i > ${i}z; done # My first mail to the bigforth list: # (find-fline "$MAIL" "Hi bpaysan,") ####### # # Bigforth 11apr1999: learning more # ####### # (find-bffile "ediwind.str" "file-menu:") # (find-bffile "tools.scrz" ": see") # (find-bffile "forth.scrz" "\n: cfa@") hex : foo1 ( "w" -- addr ) name find 0= abort" not found" ; : foo2 ( "w" -- addr ) foo1 >name ; : ncount ( addr -- addr+1 count ) dup c@ 1f and swap 1+ swap ; : foo3 ( "w" -- ) foo2 ncount type ; foo2 see 20 - 40 dump foo3 see foo2 see .name : words. ( -- ) context @ list> cr . ; : words.2 ( -- ) context @ list> cr dup . cell+ .name ; words.2 : foo0 ( "w" -- addr ) foo2 4 - ; : ndump ( addr -- addr+ ) 0 do count 2 u.r space loop ; : .word3 ( addr -- ) dup . cell+ ncount 2dup type + 5 ndump ; : words.3 ( -- ) context @ list> cr .word3 drop ; : "addr:" ( x -- x ) dup 8 u.r ." : " ; : "<word>" ( addr -- addr+4 ) dup @ 8 u.r space 4 + ; : "<byte>" ( addr -- addr+1 ) dup c@ 2 u.r space 1 + ; : "<name>" ( addr -- addr+ ) ncount 2dup type space + ; : "<flags+name>" ( addr -- addr+ ) "<byte>" 1- "<name>" ; : .word4 ( addr -- addr+ ) "addr:" "<word>" "<flags+name>" 5 ndump ; foo0 see cr .word4 . ' foo0 . 3 u.r # (find-bffile "minos-load.str" ": S[") # (find-bffile "forth.scrz") # (find-bffile "bigforth.c") # (find-bffile "Makefile" "forthker.sys:") # (find-bffile "xwidgets.scrz" "script.icn") # (find-bffile "menu.str") # (find-bffile "Makefile") # (find-bffile "README") # (find-paysanfile "bigforth-bin-glibc-11apr1999.tar.gz") # (find-paysanfile "bigforth-src-11apr1999.tar.gz") # (find-bffile "ombf") gcc -Wall -DDATE='"'"$(date '+%d%b%Y' | tr '[A-Z]' '[a-z]')"'"' \ -DINSTDIR='"'"/usr/local/lib/bigforth"'"' -E bigforth.c > bigforth.E # (find-bffile "bigforth.E") mail -s 'floating point exception...' BigForth@ChaosSolutions.com <<'-----' Hi bpaysan, ----- > > Hi bpaysan, > > > > I'm trying to put xbigforth to work on a Debian 2.1 system and I'm > > having some trouble: xbigforth is being caught in a loop of floating > > point exceptions at some point in menu.str and I can't make it go back > > to the user interaction loop. > > That looks somewhat like the icon load bug I fixed in the version from > 19apr1999. Compiling everything should only be used if it doesn't work > otherwise. Could you make your fix public ASAP? Without it I can only go as far as [IFUNDEF] designer include minos.str [THEN] designer open TEXT exists HGLUE exists VGLUE exists BOX exists ?CUR-BOX exists Bus Error ! open when trying to load Theseus in xbigforth using the "file" menu. ...Ok, excuse me for being so hasty. I'm going to concentrate on learning the basics of bigforth instead until you ls -i /lib /usr/lib /usr/X11R6/lib | sort # (find-bffile "menu.str") # (find-fline "~/s") # (find-fline "~/s2") # (find-enode "Editing Binary Files") # (find-efile "hexl.el") ##### # # Idéias pro meu Forth # ##### No início não tenho nenhum word de divisão (acho). A coisa mais básica é saber parsear um word e encontrar o correspondente a ele no dicionário. De repente isso pode até ser feito em C, que é fácil de debugar, e que vai me permitir alterar a estrutura do dicionário mais facilmente. # (find-fline "$S/ftp/ftp.taygeta.com/Taygeta/Forth/Linux/") # (find-fline "$S/ftp/ftp.taygeta.com/Taygeta/Forth/Linux/linux-eforth-1.0c.tar.gz") # (find-fline "$S/ftp/ftp.taygeta.com/Taygeta/Forth/Linux/e/eforth.S") # (find-fline "$S/ftp/ftp.taygeta.com/Taygeta/Forth/Linux/e/Makefile") cd /tmp/ cp $S/ftp/ftp.taygeta.com/Taygeta/Forth/Linux/e/eforth.S . cp $S/ftp/ftp.taygeta.com/Taygeta/Forth/Linux/e/Makefile . gcc -o eforth eforth.S cd $S/ftp/ftp.taygeta.com/Taygeta/Forth/Linux/e/ # (find-fline "/snarf/ftp/ftp.IAEhv.nl/pub/users/mhx/") # (find-fline "$S/http/www.ultratechnology.com/") ##### # # yforth # ##### pdsc /big/slinks2/dists/slink/main/source/interpreters/yforth_0.1beta-9.dsc cd /usr/src/yforth-0.1beta/ debian/rules binary |& tee odrb s@1, s@2, s@4,