--- gforth/ToDo 1994/02/11 16:30:45 1.1 +++ gforth/ToDo 2003/03/09 12:54:32 1.11 @@ -1,73 +1,107 @@ -This file describes all the things left to do on ANSI figForth. The -list is not complete, so you should add topics you miss or refine -existing topics. If you are working on a topic, add your name to the -right of the topic. If you have completed the work, remove the topic. +-*- outline -*- + +This file describes all the things left to do on GNU Forth. The list +is not complete, so you should add topics you miss or refine existing +topics. If you are working on a topic, add your name to the right of +the topic. If you have completed the work, remove the topic. This an emacs outline. Use '*' to create topics. +* "DOS" Distribution +eventually convert all text files LF -> CR LF +check on 8.3 filenames?! + *The Engine **measure the effect of some variations on different machines: direct/indirect, NEXT splitting, keeping the TOSses in variables **make it easy to put the right variation for each processor into the -configuration. +configuration. I.e., on installation all combinations of options +should be measured and the fastest chosen. Knowing OS and architecture +is not enough, the best options depend more on the processor and the +compiler version. * ANSI Forth -**Core and Core Ext -*** high-level words -**Other Word Sets +Add the remaining words *Run-time System **Gender-independent image file format and loader -**Memory Management -**Stack Checking -On most systems we could use the MMU (OS dependent). +**Stack Checking using the MMU where the OS makes it possible. *Porting/Portability ** Machines/OSs -UNIX (all machines supported by gcc) -VMS (Vax) -DOS Extender, 386sx and up -DOS 8088 (16-bit or 32-bit?) +VMS (VAX,AXP) +DOS 8088 (16-bit or 32-bit? Note: there are no far pointers in gforth, +so 16-bit means 64k max.) Windows OS/2 Mac Atari Amiga -Use gcc-generated assembly on machines without gcc - -*Locals -**Concept -**Implementation - -*Postponing anton +Use gcc-generated assembly on machines without gcc, but with +processors supported by gcc *Foreign Language Interface -**Concept anton +If anybody wants to do this, take a look at +ftp://ftp.complang.tuwien.ac.at/pub/forth/foreign.ds +Some of the problems are discussed there, **C +Stuart Ramsden is doing a bit here. **FORTRAN **C++ *Windows and Graphics -Ask Brian Dunn and Mike Hore for their OS-independent interface +**Ask Brian Dunn and Mike Hore for their OS-independent interface +**use the Foreign Language Interface to make X-Windows support *Program Development Environment Issues: Convenience, portability across plattforms, compatibility with existing tools (Emacs, F-PC) +** Decompiler and Debugger +need debugging +** Profiling +The way this (and perhaps also debugging features) could work is this: +On compilation all code fields are remembered somewhere (using a +special hook like etags). If the user now decides to profile part of +the code, the corresponding code fields are replaced by fields +pointing to code that performs the measurement (or whatever else is +intended). +** emacs support +can be improved **prefix file generator -A tool for generating a prefix file for a program that explains in -what way the program conforms to ANSI and contains Forth definitions -for the simple non-ANSI words. - -*Object-Oriented Extensions -John Hayes (?) has a portable package -Ask Phil Burke (phil@ntg.com), if he wants to contribute ODE +extend or complement ans-report.fs to provide Forth definitions for +the simple non-ANSI words. +** rightcase +A tool that converts all uses of words in a source text to the exact +case of the definition. There's something like this out there on the +net (Joerg Plewe has posted a reference), but I think a program that +wires itself into the compiler (like etags.fs) is harder to fool by +search order tricks etc. EVALUATE is a problem. -*Documentation +*Documentation (Neal Crook, nac@forth.org is working on this) A texinfo file +add more about internals (c primitives, creation of engine, etc.) **glossaries of all wordsets. -***Tool to generate glossaries benschop -***Inclusion of glossary comments in all source files. +*** Inclusion of stack comments, glossary comments, and wordset comments +in all source files. -*Distribution and Announcements -** Ask the FSF, if they want to distribute it +* Distribution and Announcements ** Write articles for (general-purpose) magazines + +----- +Copyright (C) 1995,1996,1997,1999 Free Software Foundation, Inc. + +This file is part of Gforth. + +Gforth is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.#See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.