History log of /freebsd-10-stable/sys/boot/ficl/ficl.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 94290 09-Apr-2002 dcs

Upgrade to FICL version 3.02. Anything wrong is my fault, everything right is
due Jon Mini.

PR: 36308
Submitted by: Jon Mini <mini@haikugeek.com>
MFC after: 4 weeks


# 76116 29-Apr-2001 dcs

Bring in ficl 2.05.

This version has a step debugger, which now completely replaces the
old trace feature. Also, we moved all of the FreeBSD-specific MI
code to loader.c, reducing the diff between this and the official
FICL distribution.


# 61583 12-Jun-2000 dcs

Make comment reflect reality.


# 61149 01-Jun-2000 dcs

Add "int" sized manipulation words.


# 60959 26-May-2000 dcs

Bring in FICL 2.04. No bump of loader version is required by this
commit.


# 51786 29-Sep-1999 dcs

Bring in ficl version 2.03. No version bump for loader.


# 45355 06-Apr-1999 dcs

Reactivate trace! after making it egcs-friendly.


# 43613 04-Feb-1999 dcs

Make ficlExec recursive. This removes vmReset and vmQuit from the
error cases, but the replacement should be doing everything they
did, except what did shouldn't be doing, and might do a little more
they ought to be doing.


# 43602 04-Feb-1999 dcs

Fix ficlExecFD to take kern/9412 changes into account. Also modify it
not to vmThrow errors. This is not what the comments say it does, and
it doesn't work when there is no ficlExec environment (like it's only
use in sys/boot/common/interp_forth.c).

PR: bin/9772


# 43601 04-Feb-1999 dcs

The trace facility was full of bugs. Correct that by using the
right variable.

PR: bin/9756


# 43139 24-Jan-1999 msmith

From the PR:

I added a FICL_TRACE-conditioned trace facility based on "see".
It is ugly because words' functions are almost all static, and ficlExec,
where the trace has to be located, can't get their pointers. So, #ifdef
this staticization, and add most of see's body into ficlExec. Duplication
of code, uglyness, etc. But it is cleanly #ifdef'ed, and works like a
charm.

It does not provide "step" facility, though, just trace. It is
tunable at run-time through "trace!". If anyone (most likely me :) ever
wants a step facility, I'll add it. Should be easy.

PR: bin/9652
Submitted by: "Daniel C. Sobral" <dcs@newsguy.com>


# 43078 22-Jan-1999 msmith

Add EXCEPTION word set.

Make TIB handling use buffer size to conform with ANS Forth.

Add ANS MEMORY-ALLOC word set.

See the PRs for extensive details.

PR: kern/9412 kern/9442 kern/9514
Submitted by: PRs from Daniel Sobral <dcs@newsguy.com>


# 40989 07-Nov-1998 jkh

Eliminate much code cruft by extending simple file I/O API to include
fopen and fclose.


# 40977 06-Nov-1998 jkh

Submit better fix to the prompt bug.


# 40949 06-Nov-1998 msmith

Don't not print the prompt string; not doing this has funny side-effects.
Make the prompt an empty string instead.


# 40927 05-Nov-1998 jkh

1. rebuild all elements of testmain properly for safety.
2. add fload and key prims for doing simple file and terminal I/O, respectively


# 40883 04-Nov-1998 msmith

Fix includes; we were still pulling in <stdlib.h> in some places.
Support building a standalone interpreter with 'make testmain', remove
win32 and egregious gets() in testmain.c


# 40843 03-Nov-1998 msmith

Add the Ficl (Forth Inspired Command Language) interpreter. If all goes well,
this will allow us to manage bloat in the loader by using a bytecoded HLL
rather than lots of C code. It also offers an opportunity for vendors
or others with special applications to significantly customise the boot
process without having to commit to a divergent code branch.

This early commit is to allow others to experiment with the most effective
mechanisms for integrating FICL with the loader as it currently stands.

Ficl is distributed with the following license conditions:

"Ficl is freeware. Use it in any way that you like, with the understanding
that the code is not supported."

All source files contain authorship attributions.

Obtained from: John Sadler (john_sadler@alum.mit.edu)