Fu
Simple is Beautiful!

forward forth 源码阅读

最近涉猎了一下 forth 编程语言,为了理解这个编程语言, 阅读了一个简单的 forth 解释器源码实现, 代码精简到极致,这也许就是 forth 语言的魅力, 地址为 https://github.com/GithubPrankster/forward

forward 简介

forward 是一个简单的 forth 语言解释器,大约 160 行 C 语言代码,代码清晰简单, 过去一直认为最简单的编程语言是 lisp,了解 forth 语言后,忽然发现,forth 语言比 lisp 还简单, 山外有山啊!

forward 实现功能有:

typedef struct{
    char name[64];
    char buf[128];
}expr;

expr funcs[16];
int funcnt = 0;

int stack[16];
int stkcnt = 0;
int main(void)
{
    printf("FORWARD ver. 0.4, by Uneven Prankster @ 2020\n");
    char buf[256];
    while(fgets(buf, sizeof buf, stdin)){
        eval(buf);
        printf(" cool.\n");
    }
    return 0;
}

遗憾的是,这个解释器实现没有实现 if 分支,和 loop 循环。

forth1源码7编译原理6
2022-08-17 11:29:00