littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于WhileF语言的函数指针与类型多态实现

项目简介

本项目对WhileF语言进行扩展,使其支持函数指针和类型多态,同时实现词法分析、语法分析、类型检查及类型多态展开。通过这些扩展,WhileF语言能够处理更复杂的类型系统和函数调用,增强编程能力。

项目的主要特性和功能

  1. 函数指针与基本类型系统:支持整数、指针和函数指针类型,用var关键字声明变量并指定类型,完成词法与语法分析并输出语法树。
  2. 类型多态:用类似C++的template语法实现类型多态,完成词法与语法分析并输出语法树,实现类型多态展开,避免实例化时产生无穷副本。
  3. 类型检查:对表达式、赋值语句、函数和过程调用进行类型检查,对不符合类型要求的语句报错并退出。
  4. 语法修改:修改WhileF原语法,命令间用分号;分隔,使用函数指针前需解引用。

安装使用步骤

  1. 编译项目:进入项目目录下的./ours文件夹,执行make命令进行编译,若使用Linux系统建议重新编译。
  2. 运行程序
    • Linux系统:运行编译得到的main文件,并提供测试文件作为参数,如./main normal/test1.jtl
    • Windows系统:运行编译得到的main.exe文件,并提供测试文件作为参数,如.\main.exe .\normal\test1.jtl
  3. 测试样例:项目提供大量测试样例,分别在./ours/error./ours/normal文件夹下。./ours/error用于测试报错情况,./ours/normal用于测试正常输出情况。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】