E-mail:[email protected]
cnforth项目是一个用C语言实现的简单的Forth语言解释器,不是一个传统的Forth系统。受到耳朵的ear_cforth的启发,以及他的指点。再次感谢耳朵和CNFIG社区!!!
-
核心词;
-
定义和使用扩展词;
-
if else then
控制语句(支持嵌套); -
do loop
循环语句(支持嵌套); -
变量和常量(
variable
constant
); -
状态变量
state
,状态切换词[
和]
; -
反编译扩展词
see
; -
递归定义扩展词(
myself
); -
从外部读取forth代码(
load lib.fs
或者命令行./forth lib.fs
); -
其他特性参见Wiki。
-
Windows(32位/64位) + Cygwin + gcc 4.9.3
-
Linux(32位) + gcc 4.9.2
make forth
求8的阶乘,使用递归实现:
./forth lib.fs
>>> : factorial ( Num -- FactorialResult ) dup 1 = if drop 1 else dup 1- myself * then ;
>>> 8 factorial .
40320