项目简介
本项目是基于C++实现的Minimal BASIC解释器。BASIC作为一种解释性编程语言,此解释器可解析和执行BASIC语言部分语法与命令。用户既能通过命令行输入BASIC代码并立即得到执行结果,也能编写包含多行BASIC代码的程序,解释器会按行号顺序依次执行。
项目的主要特性和功能
- 命令行交互:支持在命令行输入BASIC代码,即时执行并输出结果。
- 多行程序支持:可编写多行BASIC代码程序,按行号顺序执行。
- 变量支持:允许定义和使用变量进行计算与数据存储。
- 控制语句支持:支持条件语句和循环语句等基本控制语句。
- 鲁棒性检测:具备基本鲁棒性检测功能,可处理常见错误输入。
安装使用步骤
1. 环境准备
确保已安装C++编译器(如g++)和CMake。
2. 下载源码
从相关渠道下载本项目的源码文件。
3. 编译项目
在项目根目录下,执行以下命令编译:
bash
mkdir build
cd build
cmake ..
make
4. 运行解释器
编译完成后,在build
目录下找到可执行文件Basic
,运行该文件启动BASIC解释器:
bash
./Basic
5. 使用解释器
启动解释器后,在命令行输入BASIC代码,例如:
basic
x = 1 + 1
PRINT x
解释器会立即执行并输出结果:
2
6. 编写多行程序
编写包含多行BASIC代码的程序文件,如program.bas
,内容如下:
basic
10 x = 1 + 1
20 PRINT x
30 END
使用解释器运行该程序:
bash
./Basic < program.bas
解释器按行号顺序执行程序并输出结果:
2
7. 本地测评
使用score.cpp
文件对解释器进行本地测评,编译并运行score.cpp
:
bash
g++ -o score score.cpp
./score -f
测评文件会自动比较解释器输出与标准输出,并给出测评结果。
依赖库
本项目依赖于StanfordCPPLib库,编译时需包含该库的路径。
注意事项
- 本解释器不进行性能检测和内存泄漏检测,仅通过下发的数据点进行鲁棒性检测。
- 若使用macOS,需确保正确配置可执行文件的路径和权限。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】