# zero **Repository Path**: uchenily/zero ## Basic Information - **Project Name**: zero - **Description**: 根据 [Robert Nystrom](https://craftinginterpreters.com/) 改编的C++版本, tree-walking类型解释器 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: https://craftinginterpreters.com/ - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-11-05 - **Last Updated**: 2025-06-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Zero 一个极小的编程语言, 从零开始 ### 构建步骤 1. 安装构建工具 meson, ninja ```shell pip install -U meson ninja ``` 2. 编译项目 ```shell meson setup build meson compile -C build ``` 3. 执行测试 执行REPL (Ctrl-C/Ctrl-D退出) ```shell $ ./zero > print("hello world"); hello world ``` 执行脚本文件 ```shell $ cat examples/fibonacci.zero fn fibonacci(n) { if (n < 2) { return n; } return fibonacci(n - 2) + fibonacci(n - 1); } print(fibonacci(20)); $ ./zero examples/fibonacci.zero 6765 ``` ```shell $ cat examples/native_function.zero print(clock); let retval = clock(); print(retval); let retval = read_file("/foo/bar"); print("读取到文件内容:"); print(retval); $ ./zero examples/native_function.zero 1700075574.000000 reading /foo/bar ... 读取到文件内容: example text ```