名前 | サイズ | Rev. | 日時 | 作者 | ログメッセージ |
---|---|---|---|---|---|
BIF3.ASM | 6.04 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF4.ASM | 5.45 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
32col.c | 1.66 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF1.casm | 7.1 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
BIF2B.ASM | 2.79 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF5.ASM | 6.51 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIFDOC.TXT | 95.33 k | r14 | 2011-02-26 23:36:41 | reiisi | a number of small bug fixes, see the ... |
BIF6.ASM | 5.99 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF4B.ASM | 3.67 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF3.casm | 6.75 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
BIF7.ASM | 4.73 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF6B.ASM | 4.76 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF5.casm | 7.07 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
BIF7.casm | 7.02 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
32columns68k | 0 | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF.ASM | 5.98 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
SCR33.ARR | 895 | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIFB.ASM | 3.23 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
TOOLS_G00_ERRORS.text | 24.23 k | r4 | 2010-04-11 13:13:55 | reiisi | step 03, partway through semi-automat... |
BIFST.ASM | 3.48 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
32columnsPPC | 15.73 k | r4 | 2010-04-11 13:13:55 | reiisi | step 03, partway through semi-automat... |
BIF.M | 1.78 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
stripln | 20.02 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
BIF1B.ASM | 4.09 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIFDP.ASM | 2.3 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF3B.ASM | 3.12 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF2.casm | 8.45 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
BIF1B.casm | 4.43 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
BIF5B.ASM | 2.62 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF4.casm | 5.16 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
32col_unix.c | 4.5 k | r4 | 2010-04-11 13:13:55 | reiisi | step 03, partway through semi-automat... |
BIF2B.casm | 3.21 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
PAIRS.G28.out.text | 471 | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF3B.casm | 3.68 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
BIF6.casm | 4.66 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
BIF4B.casm | 3.93 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
BIF7B.ASM | 4.26 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF5B.casm | 2.32 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
BIF6B.casm | 3.5 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
SCR34.LOC | 754 | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF7B.casm | 2.87 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
README.TXT | 7.39 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
stripln.c | 11.74 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
.FBCLockFolder | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... | |
PAIRS.G28 | 2 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
TOOLS.G00.out.text | 18.96 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF.casm | 4.19 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
BIF6nul.ASM | 6 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
BIFB.casm | 2.26 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
TOOLS.G00 | 33 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF6nul.casm | 4.76 k | r5 | 2010-04-11 13:21:32 | reiisi | step 04, still not functional, symbol... |
BIFU.INC | 1.59 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF1.ASM | 7.17 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
BIF2.ASM | 6.4 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
SCR40.431 | 4.78 k | r1 | 2010-04-11 12:16:41 | reiisi | BIF-C is a near fig-FORTH implemented... |
stripln_v00.c | 4.17 k | r4 | 2010-04-11 13:13:55 | reiisi | step 03, partway through semi-automat... |
Information about BIF as of January 2000. Joel Rees, Takino, Kato, Hyogo, Japan. joel_rees@sannet.ne.jp http://www.page.sannet.ne.jp/joel_rees reiisi@nettaxi.com http://www.nettaxi.com/citizens/reiisi BIF was a dialect of the early fig-standard FORTH. It was a student project, not a commercial product, and no warranty has ever been made concerning it, whatsoever. It was written on the Color Computer 2 in 6809 assembler; the assembler used was disk EDTASM+. It also ran on the Color Computer 3, with the expected limitations of requiring the 32 column screen, etc. Right to BIF and restrictions on distribution are described in the file BIFDOC.TXT, which must destributed with the source (and should be more interesting than the source, anyway). I add here the stipulation that I claim right to the term "BIF" as the name of a programming language. I repeat here the requirement that any re-distribution of the language BIF, whether in source or object form, must include the file BIFDOC.TXT in its entirety. The assembler source files are readable by the Codewarrior editor, and should be readable by other text editors that respond flexibly about line termination. They retain the original line numbers (used by the tools on the Color Computer), but I have included source to a C program, stripln.c, which strips the line numbers. This program should also be useful for coverting line endings, if that is necessary. Macros are used in the source, but shouldn't cause too much confusion to a programmer with assembler experience. If anyone is brave enough to try to port it, key routines will be EMIT, KEY, ?TERMINAL, CR, R/W, and several routines in the EDITOR vocabulary where I used direct video I/O out of laziness. BIF might be useful for experimentation and for learning about FORTH, for someone who has access to a Color Computer. The executable file may be run on the Color Computer by LOADMing it via Color Computer Disk BASIC. It is assembled to be EXECed at hexadecimal 1300 (&H1300). One specific warning must be given: DO NOT ATTEMPT TO ACCESS ORDINARY DISKS FORMATTED FOR USE BY OTHER OPERATING SYSTEMS WHILE BIF IS RUNNING! Because of disk buffering, it may be difficult to avoid unintentional writes to the disk. If you do try looking at an OS-9 or Color Computer DOS (etc.) disk with BIF, don't blame me if you destroy the directory and/or other valuable data. I am still trying to plan out a re-write in C, but, besides the file system issues (no real file system in BIF), I also need to plan out how to modify my use of memory. I compare pointers to determine age of definitions in FORGET, which is a no-no in C. And I used a number of other neat tricks that now get in the way. One thing I want to retain is the use of nested binary trees in the symbol table. Incidentally, said re-write has been in process for over twelve years. Work and other The BIF source screens were extracted into TOOLS.G00 and PAIRS.G28 (GXX standing for the Color Computer granule number), also into SCR40.431, SCR33.ARR, SCR34.LOC (SCRXX for the FORTH screen number). I am including source to a Q&D C program, 32col.c, which will re-format TOOLS.G00 and PAIRS.G28 files for normal text editors. Mac-isms and Codwarrior-isms can probably be discerned by comparing it with stripln.c, mentioned above. The program stripln can be used to strip the line numbers from SCR40.431, SCR33.ARR, and SCR34.LOC, also. The former two are images of certain parts of one of my development disks. The latter were listed to RS-232 by one of the FORTH LISTing commands, I forget which. The documentation is ASCII text, with CR/LF line termination, and should be examined carefully by anyone considering a port. Bear in mind that it was written toward Color Computer users. I apologize for not alphabetizing the FORTH words by name. I did it once with a C program, but got too ambitious and lost the results in the process of trying to split it up into modules. I haven't had enough time to finish the modularization, yet. I need to get an iBook, so I can work on the train. Files in this distribution -- 6809 Assembly Language Source files: README.TXT this file. BIFDOC.TXT general explanations, including descriptions of every word. BIFU.I structure of the per-user variable page. BIF.M macros, including the inner interpreter (basis of the virtual machine), the dictionary (symbol table) structure offsets, and invocations for the fundamental objects. BIFDP.A things kept in the direct page, including the behaviours for the fundamental objects (was not a good idea after all), and the index to the per user variable page. BIFST.A cold and warm boot routines and the initial value table for the per-user variable page. BIF.ASM the main source file (includes other parts), basic expression evaluation, more of the inner interpreter, basic vocabulary access, basic symbol parsing. BIFB.A basic I/O, more of the inner interpreter, extended expression evaluation, the rest of the basic symbol table access. BIF1.A data movers, common expression evaluation, stack pointer access, more of the inner interpreter, high-level compiler. BIF1B.A common expression evaluation, extended expression evaluation, innards of the high-level compiler, more of the high-level compiler, compiler directive. BIF2.A more common expression evaluation, common constants, I/O constants, character typing constants, symbol table globals, compiler globals, parser globals, I/O globals. BIF2B.A compiler globals, more high-level compiler, more common expression evaluation, formatted output. BIF3.A more basic symbol table, symbol table, more compiler, more formatted output, more data movers, more low-level parser (formatted input), more I/O, more extended expression evaluation, more expression evaluation, more compiler directives, an extension to the inner interpreter. BIF3B.A more formatted output, more innards of the high-level compiler, more high-level compiler. BIF4.A more innards of the expression evaluator, more common expression evaluation, more I/O (buffer handling). BIF4B.A more high-level compiler, more compiler directive. BIF5.A more innards of the high-level compiler, more I/O (buffering), disk access, error handling, more formatted output. BIF5B.A more error handling, screen-based sector (character) editor. BIF6.A more parser (formatted input), I/O (terminal), compiler (input), symbol table (lookup). BIF6B.A symbol table, compiler innards, null vector test, more screen-based sector editor. BIF7.A compiler, formatted output, compiler directives BIF7B.A error handling, symbol tables, compiler directives. SCR33.ARR arrays for CS431. SCR34.LOC some math for CS431. SCR40.431 test suite for CS431. TOOLS.G00, TOOLS.G00.out FORTH source for disk listing, screen handling, definition dumping, sector copying, forward referencing, buffer maintenance, experimenting with hardware, double (32 bit) integer math, etc., and a post-fix assembler. PAIRS.G28, PAIRS.G28.out a "database" example from one of my FORTH books. stripln.c, stripln68k 32col.c, 32columns68k C language source and Macintosh executables for stripping line numbers and reformatting 32 column source code "screens". The two XXX.GXX.out files above are output of the 32columns program.