- 3
- 0
- 约2.7万字
- 约 35页
- 2019-08-17 发布于江西
- 举报
PAGE 2
PAGE 1
‘PL0.cpp’
#include pl0.h
/**************************************************************************
* PL/0 语言编译程序,由江汉石油学院计算机系周云才根据清华大学出版社出版,
* 吕映芝,张素琴,蒋维杜编写的教材《编译原理》中第二章(PL/0编译程序的实现)
* 以及附录A中的代码改编而成。
* 代码版权由周云才拥有,使用者必须遵循以下约定:
* 可以免费使用此文件,但必须包含此声明。
* 可以修改、传播、打印、出版这里的源代码。
* 可以在任何软件工程中使用这里的源代码。
********************************************************************************************* */
// 错误字符串数组
string PL0::errStr[]={ ,error 0001: 常数说明中“=”写成“:=”,
error 0002: 常数说明中的“=”后应为数字,
error 0003: 常数说明中的标识符后应是“=”,
error 0004: const,var,procedure后应为标识符,
error 0005: 漏掉了‘,’或‘;’,
error 0006: 过程说明后的符号不正确(应是语句开始符或过程开始符),
error 0007: 应是语句开始符,
error 0008: 过程体内语句部分的后跟符不正确,
error 0009: 程序皆为丢了句号‘.’,
error 0010: 语句之间漏了‘;’,
error 0011: 标识符没说明,
error 0012: 赋值语句中,赋值号左部标识符属性应是变量,
error 0013: 赋值语句左部标识符应是赋值号:=,
error 0014: call后应为标识符,
error 0015: call后标识符属性应为过程,
error 0016: 条件语句中丢了then,
error 0017: 丢了end或;,
error 0018: while型循环语句中丢了do,
error 0019: 语句后的标识符不正确,
error 0020: 应为关系运算符,
error 0021: 表达式内标识符属性不能是过程,
error 0022: 表达式中漏掉了右括号‘)’,
error 0023: 因子后的非法符号,
error 0024: 表达式开始符不能是此符号,
error 0025: 文件在不该结束的地方结束了,
error 0026: 结束符出现在不该结束的地方,
error 0027: ,error 0028: ,error 0029: ,error 0030: ,
error 0031: 数越界,
error 0032: read语句括号中标识符不是变量,
error 0033: else附近错误 ,
error 0034: repeat附近错误};
// PL0构造函数
PL0::PL0(char* source,char*destination)
{
listswitch=true,sourceEnd=false;
strcpy(word[1],begin); // 初始化存储保留字
strcpy(word[2],call);
strcpy(word[3],const);
strcpy(word[4],do);
strcpy(word[5],else);
strcpy(word[6],end);
strcpy(word[7],if);
strcpy(word[8],odd);
strcpy(word[9],procedure);
strcpy(word[10],read);
strcpy(word[11],repeat);
strcpy(word[12],then);
strcpy(word[13],until);
strcpy(word[14],var);
strcpy(word[15],while);
strcpy(word[16],write);
wsym[1]= BEGINSYM; wsym[2]= CALLSYM; // 初始化保留字表中每一个保留字对应的symbol类型
wsym[3]= CONSTSYM; wsym[4]= DOSYM;
wsym[5]= ELSESYM;
您可能关注的文档
最近下载
- 专题2 数据采集与编码 学案(含解析)2025届高中信息技术.DOCX VIP
- 高中地理课件湘教版:1-1中国的人口和民族.ppt
- 鲁科版高中化学选择性必修1第3章物质在水溶液中的行为3.3.2沉淀溶解平衡的应用课件(内嵌音频+视频).ppt VIP
- 建筑施工安全管理论文【推荐】.doc VIP
- 2025年高考地理识图填图完全手册(扫描版).docx
- 防火封堵材料 GB23864-2023.pdf
- 专题2 数据采集与编码 课件 2025届高中信息技术.pptx VIP
- 专题1 数据与大数据 课件 2025届高中信息技术.pptx VIP
- 鲁科版高中化学选择性必修1第3章物质在水溶液中的行为3.3.1沉淀溶解平衡与溶度积(内嵌音频+视频).ppt VIP
- 2025年甘肃省高考物理试卷(含答案解析).docx VIP
原创力文档

文档评论(0)