标准实验报告(PL0编译程序).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
标准实验报告(PL0编译程序)

[标准实验报告] 南昌航空大学实验报告 年月日 课程名称: 编译原理 实验名称: 扩充的PL/0编译程序 班级: 姓名: 同组人: 指导教师评定: 签名: 实验目的 进一步熟悉编译程序的整体框架,给出整个编译程序的流程结构,用C或vc++语言编写程序;并将编制的编译程序进行调试、实现PL/0编译程序。 实验要求 (1)根据所选的程序设计语言,修改并调试。 (2)举出例子程序,在程序中进行编译。 (3)用此编译程序对有关语句进行编译,并输出目标指令。 (4)书写出合格的实验报告。 实验步骤 1.输入文件中变量的声明形如:var a,b,c; 以var保留字开始,不同变量以”,”分隔,最后以”;”结束。 2.read语句格式为read(a)或者read(a,b); 3.write语句格式为write(a),括号里面没有字符串常量,注意与书后的形如write(‘a=’,a)是不相同的。 4.的声明形如:”procedure proname;”不含参数表。 5.一维数组形如:变量类型array 数组名[数组下标]。 6.条件语句形如:if 条件then语句 {;else,语句} 7.扩充的记录型数据类型形如:for 循环语句及带参数的过程。 参考源代码 #includestdio.h /*#includeplo.h*/ #includestring.h #define stacksize 500 typedef enum{ false, true }bool; enum object{ procedur , constant ,variable }; #define norw 13 #define txmax 100 #define nmax 14 #define al 10 #define levmax 3 #define cxmax 200 #define amax 2047 #define symnum 32 enum symbol{ nul, ident, number, plus, minus, times, slash, oddsym, eql, neq, lss, leq, gtr, geq, lparen, rparen, comma, semicolon, period, becomes, beginsym, endsym, ifsym, thensym, whilesym, writesym, readsym, dosym, callsym, constsym, varsym, procsym, }; enum fct { lit, opr, lod, sto, cal, inte, jmp, jpc, }; #define fctnum 8 struct instruction { enum fct f; int l; int a; }; FILE* fas; FILE* fa; FILE* fal; FILE* fa2; bool listswitch; bool tableswitch; char ch; enum symbol sym; char id[al+1]; int num; int cc,ll; int cx; char line[81]; char a [al+1]; int num ; int cc,ll; int cx; char line [81]; char a [al+1]; struct instruction code [cxmax]; char word [norw][al]; struct instruction code [cxmax]; char word [norw][al]; enum symbol wsym [norw]; enum symbol ssym [256]; char mnemonic [fctnum][5]; bool declbegsys [symnum]; bool statbegsys [symnum]; bool facbegsys [symnum]; bool facstatbegsys[symnum]; struct tablestruct { char name [al]; enum object kin

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档