我想练习 C,所以我决定本着 Python 解释器的精神写一个 C 解释器。我有一些 C 知识,但我一直是一个边做边学的程序员。
到目前为止,我所拥有的非常简单。只需解析用户的输入,一次一行,并区分以下声明:
int x = 10;
char c = 'a';
我在其中创建了一个结构,该结构表示变量的类型、名称和 int 值的 ivalue,以及 char 值的 cvalue。还有很多事情要做,但一步一步。
我还可以解析函数调用,例如:
printf("value of x = %d\n, x);
我在其中提取函数的名称,并将 args 存储在 char** args 中。
这听起来很傻,但我想避免为每个标准 c 库函数编写映射器,以便执行对 printf、strstr 或 strcpy 之类的调用。无论如何,如果没有这种方法,是否可以动态调用标准 c 函数?
此外,非常欢迎对这个东西的设计提出建议。