文件名称:comp:用C语言编写的小型口译员
文件大小:27KB
文件格式:ZIP
更新时间:2024-06-01 20:07:48
C
补偿 该项目是功能编程语言的小型解释器。 唯一的目的是让我在一个有趣的项目上练习C编程。 目前,解释器绝对不稳定,因为没有真正的错误处理,尤其是在解析阶段。 但是,它的基本机制正在起作用,您可以编写如下内容: > function fact { n:number } (if (= n 1) (return 1) (return (* n (fact (- n 1))))) > fact 5 120 > 这几乎就是您所能做的,没有实现任何高级结构(如列表)。 现在,数字仅由整数支持,因此没有浮点数或大数字。 无论如何,我的目标不是建立另一种有效的编程语言,而是更多地从头开始探索一种编程语言,同时提高我的C编程技能。
【文件预览】:
comp-master
----src()
--------comp.c(1KB)
--------Eval.c(3KB)
--------stdlib()
--------Type.c(968B)
--------Stack.c(313B)
--------Parse.c(5KB)
--------BalancedBinaryTree.c(3KB)
--------Identifiers.c(1KB)
--------Vars.c(4KB)
--------LinkedList.c(1KB)
--------Err.c(19B)
----CMakeLists.txt(528B)
----LICENSE(18KB)
----README.md(815B)
----makefile(1KB)
----tests()
--------Stack_tests.c(822B)
--------LinkedList_tests.h(298B)
--------Parse_tests.h(154B)
--------testMain.c(2KB)
--------LinkedList_tests.c(1KB)
--------Parse_tests.c(522B)
--------Stack_tests.h(163B)
----.gitignore(26B)
----include()
--------LinkedList.h(490B)
--------Eval.h(314B)
--------stdlib()
--------BalancedBinaryTree.h(1KB)
--------Identifiers.h(645B)
--------Vars.h(1016B)
--------Stack.h(166B)
--------Err.h(129B)
--------Parse.h(585B)
--------Type.h(234B)