compat
Portable (mostly standard) implementations of some Gforth features
- raw README
- raw anslocal.fs
- raw assert.fs
- raw caseext.fs
- raw control.fs
- raw defer.fs
- raw exception.fs
- raw execute-parsing.fs
- raw loops.fs
- raw macros.fs
- raw package.4th
- raw required.fs
- raw strcomp.fs
- raw struct.fs
- raw vocabulary.fs
- raw xlocals.fs
\ exception
\ This file is in the public domain. NO WARRANTY.
\ this implementation tries to be as close to the following proposal
\ as possible (we cannot guarantee unusedness nor are we allowed to
\ use values in the range -4095..-256).
\ EXCEPTION ( c-addr u -- n ) exception
\ n is a previously unused THROW value in the range
\ {-4095...-256}. Consecutive calls to EXCEPTION return consecutive
\ decreasing numbers.
\ The system may use the string denoted by c-addr u when reporting
\ that exception (if it is not caught).
\ Typical Use
\ s" Out of GC-managed memory" EXCEPTION CONSTANT gc-out-of-memory
\ ...
\ ... gc-out-of-memory THROW ...
\ The program uses the following words
\ from CORE :
\ Variable ! : 2drop @ +! ;
\ from BLOCK-EXT :
\ \
\ from FILE :
\ (
variable next-exception -10753 next-exception !
: exception ( c-addr u -- n )
2drop
next-exception @
-1 next-exception +! ;
by AntonErtl
Versions
Tags
forth-94, forth-2012, strings, gforth, locals, assertions, control-structures, macros
Dependencies
None
Dependents
None