项目简介
本项目基于 C++ 语言对 PL0 编译器进行功能扩展。PL0 作为简单的教学编程语言,经扩展后增添了注释语句、逻辑运算符、引用变量以及函数调用和参数传递等功能,有效增强了 PL0 语言的表达能力与实用性。
项目的主要特性和功能
- 支持注释语句:提供行注释
//
和段落注释/* */
,词法分析时跳过注释内容,避免语法分析器处理,注释文法效果等同于换行符。 - 实现逻辑运算符:增加逻辑非
!
、逻辑与&&
和逻辑或||
运算符,遵循 C 语言优先级规则,确保词法和文法处理时逻辑运算符能被正确解析。 - 支持引用变量:引入新的标识符引用变量,其内部存储指向的地址。赋值表达式中使用引用变量会读取指向地址的值,新增指令用于处理引用变量地址计算和值的读写。
- 支持函数调用和参数传递:函数声明和调用语法类似 C 语言,参数可为普通变量、引用变量和数组。通过特殊处理参数偏移量,解决引用变量引用函数参数时的赋值问题,支持函数嵌套和递归调用。
安装使用步骤
安装
假设用户已下载本项目的源码文件,需确保系统中安装了 C++ 编译器(如 g++)。
使用
- 编译项目:打开终端,进入项目源码所在目录,使用以下命令进行编译:
sh g++ -o pl0_extended *.cpp
该命令会将所有 C++ 源文件编译成可执行文件pl0_extended
。 - 运行程序:编译成功后,在终端输入以下命令运行程序:
sh ./pl0_extended
- 输入 PL0 代码:程序启动后,按照扩展后的 PL0 语法输入代码,即可体验新增功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】