项目简介
本项目对WhileF语言进行扩展,使其支持函数指针和类型多态,同时实现词法分析、语法分析、类型检查及类型多态展开。通过这些扩展,WhileF语言能够处理更复杂的类型系统和函数调用,增强编程能力。
项目的主要特性和功能
- 函数指针与基本类型系统:支持整数、指针和函数指针类型,用
var
关键字声明变量并指定类型,完成词法与语法分析并输出语法树。 - 类型多态:用类似C++的
template
语法实现类型多态,完成词法与语法分析并输出语法树,实现类型多态展开,避免实例化时产生无穷副本。 - 类型检查:对表达式、赋值语句、函数和过程调用进行类型检查,对不符合类型要求的语句报错并退出。
- 语法修改:修改WhileF原语法,命令间用分号
;
分隔,使用函数指针前需解引用。
安装使用步骤
- 编译项目:进入项目目录下的
./ours
文件夹,执行make
命令进行编译,若使用Linux系统建议重新编译。 - 运行程序:
- Linux系统:运行编译得到的
main
文件,并提供测试文件作为参数,如./main normal/test1.jtl
。 - Windows系统:运行编译得到的
main.exe
文件,并提供测试文件作为参数,如.\main.exe .\normal\test1.jtl
。
- Linux系统:运行编译得到的
- 测试样例:项目提供大量测试样例,分别在
./ours/error
和./ours/normal
文件夹下。./ours/error
用于测试报错情况,./ours/normal
用于测试正常输出情况。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】