- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
/*PL/0 编译系统C版本头文件 pl0.h*/
# define norw 13 //a number of reserved word /*关键字个数*/
# define txmax 100 //length of identifier table /*名字表容量*/
# define nmax 14 //max number of digits in numbers /*number的最大位数*/
# define al 10 //length of identifier /*符号的最大长度*/
# define amax 2047 //maximum address /*地址上界*/
# define levmax 3 //max depth of block nesting /*最大允许过程嵌套声明层数[0,lexmax]*/
# define cxmax 200 //size of code array /*最多的虚拟机代码数*/
/*符号*/
enum symbol{
nul, ident, number, plus, minus,
times, slash, oddsym, eql, neq, //slash斜线
lss, leq, gtr, geq, lparen, //leq :less than or equal to; gtr: great than;lparen:left parenthesis
rparen, comma, semicolon,period, becomes,//comma逗号 semicolon分号 period句号 becomes赋值号
beginsym, endsym, ifsym, thensym, whilesym,
writesym, readsym, dosym, callsym, constsym,
varsym, procsym,
};
#define symnum 32
/*-------------*/
enum object{ //object为三种标识符的类型
constant,
variable,
procedur,
};
/*--------------*/
enum fct{ //fct类型分别标识类PCODE的各条指令
lit, opr, lod, sto, cal, inte, jmp, jpc, //书本P23
};
#define fctnum 8
/*--------------*/
struct instruction //指令
{
enum fct f; //功能码
int l; //层次差
int a; //P23
};
FILE * fas; //输出名字表
FILE * fa; //输出虚拟机代码
FILE * fa1; //输出源文件及其各行对应的首地址
FILE * fa2; //输出结果
bool tableswitch; //显示名字表与否
bool listswitch; //显示虚拟机代码与否
char ch; //获取字符的缓冲区,getch使用
enum symbol sym; //当前符号
char id[al+1]; //当前ident,多出一个字节用于存放0
int num; //当前number
int cc,ll; //getch使用的计数器,cc表示当前字符(ch)的位置
int cx; //虚拟机代码指针,取值范围[0,cxmax-1]
char line[81]; //读取行缓冲区
char a[al+1]; //临时符号,多出的一个字节用于存放0
struct instruction code[cxmax]; //存放虚拟机代码的数组
char word[norw][al]; //保留字
enum symbol wsym[norw]; //保留字对
您可能关注的文档
- 2019年广西继续教育公需科目试题90分.doc
- 2019年成本会计形考任务二成本会计网络核心课程第二次形成性考核任务答案.doc
- 2019年成本会计形考任务五成本会计网络核心课程第五次形成性考核任务答案.doc
- 2019年教师资格证考试《综合素质》重点考点整理(考试必背考点).doc
- 2019年注册会计师考试《税法》真题及答案(完整版).doc
- 2019年浙江传媒学院笔试真题22888.doc
- 2019年秋季北邮《Java技术》期末考试复习题.doc
- 2019年统计继续教育答案23739.doc
- 2019年超星尔雅「考古发现与探索」章节测试答案.doc
- 2019幸福心理学考试答案.doc
- 幼儿教师资格证(考试资料)《幼儿保健知识与能力》新版初级练习卷有答案与.docx
- (附答案)川农12月《中药化学》作业考核-.docx
- (附答案)川农12月《园林植物保护学(本科)》作业考核-.docx
- (附答案)川农12月《有机化学(专科)》作业考核-.docx
- (附答案)川农12月《植物保护学(本科)》作业考核-.docx
- (附答案)东师《教育心理学》在线作业2-1(1).docx
- (附答案)川农12月《药剂学》作业考核-.docx
- (附答案)川农12月《配方饲料制造工艺与技术(专科)》作业考核-.docx
- 幼儿教师资格证(考试资料)《幼儿保健知识与能力》新版基础知识题库带解析.docx
- 幼儿教师资格证(考试资料)《幼儿保健知识与能力》基础知识模拟押题卷.docx
文档评论(0)