课件202编译实验.doc

课件202编译实验.doc

ID:55757772

大小:74.50 KB

页数:5页

时间:2020-06-05

课件202编译实验.doc_第1页
课件202编译实验.doc_第2页
课件202编译实验.doc_第3页
课件202编译实验.doc_第4页
课件202编译实验.doc_第5页
资源描述:

《课件202编译实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SAMPLE语言定义<常数>→<整数>│<布尔常数>│<字符常数>

2、<16进制数><布尔常数>→true│false<类型>→integer│bool│char<表达式>→<算术表达式>│<布尔表达式>│<字符表达式><算术表达式>→<项><算术表达式2><算术表达式2>→+<项><算术表达式2>│-<项><算术表达式2><项>→<因子><项2><项2>→*<因子><项2>│/<因子><项2><因子>→<算术量>│-<因子><算术量>→<整数>

3、<16进制数>│<标识符>│(<算术表达式>)<布尔表达式>→<布尔项><布尔表达式2><布尔表达式2>→or<布尔项><布尔表

4、达式2><布尔项>→<布因子><布尔项2><布尔项2>→and<布因子><布尔项2><布因子>→<布尔量>│not<布因子><布尔量>→<布尔常量>│<标识符>│(<布尔表达式>)│<标识符><关系符><标识符>│<算术表达式><关系符><算术表达式><关系符>→<│<>│<=│>=│>│=<字符表达式>→<字符常数>│<标识符><语句>→<赋值句>││<复合句><赋值句>→<标识符>:=<算术表达式>→if<布尔表达式>then<语句>│if<布尔表达式>then<语句>else<语句>→whil

5、e<布尔表达式>do<语句>→repeat<语句>until<布尔表达式><复合句>→begin<语句表>end<语句表>→<语句>;<语句表>│<语句><程序>→program<标识符>;<变量说明><复合语句>.<变量说明>→var<变量定义><变量定义>→<标识符表>:<类型>;<变量定义>│<标识符表>:<类型>;<标识符表>→<标识符>,<标识符表>│<标识符>1、SIMPLE语言单词编码单词种别码单词种别码单词种别码and1output21*41array2procedure22*/42begin3program23+43bool4read2

6、4,44call5real25-45case6repeat26.46char7set27..47constant8stop28/48dim9then29/*49do10to30:50else11true31:=51end12until32;52false13var33<53for14while34<=54if15write35<>55input16标识符36=56integer17整数37>575not18字符常数38>=58of19(39[59or20)40]608、实验一:设计SAMPLE语言的词法分析器检查要求:a)启动程序后,先输出作者姓名、班级、学号(可用汉语、

7、英语或拼音);b)请求输入测试程序名,键入程序名后自动开始词法分析并输出结果;c)输出结果为单词的二元式序列(样式见样板输出1和2);d)要求能发现下列词法错误和指出错误性质和位置:非法字符,即不是SAMPLE字符集的符号;字符常数缺右边的单引号(字符常数要求左、右边用单引号界定,不能跨行);注释部分缺右边的界符*/(注释要求左右边分别用/*和*/界定,不能跨行)。9、实验一测试程序与样板输出测试程序1:程序名TEST1andarraybeginboolcallcasecharconstantdimdoelseendfalseforifinputintegernotofo

8、routputprocedureprogramreadrealrepeatsetstopthentotrueuntilvarwhilewriteabc123'EFG'()*+,-.../::=;<<=<>=>>=[]样板输出1:(要求在屏幕上显示)注:作为自身值的内容显示做了简化,便于检查。只有标识符和常数有显示,并且通过数字来区分他们的不同。(1,-)(2,-)(3,-)(4,-)(5,-)(6,-)(7,-)(8,-)(9,-)(10,-)(11,-)(12,-)(13,-)(14,-)(15,-)(16,-)(17,-)(18,-)(19,-)(20,-)(21,-

9、)(22,-)(23,-)(24,-)(25,-)(26,-)(27,-)(28,-)(29,-)(30,-)(31,-)(32,-)(33,-)(34,-)(35,-)(36,1)(37,2)(38,3)(39,-)(40,-)(41,-)(43,-)(44,-)(45,-)(46,-)(47,-)(48,-)(50,-)(51,-)(52,-)(53,-)(54,-)(55,-)(56,-)(57,-)(58,-)(59,-)(60,-)测试程序2:程序名TEST25programexample2;varA,B,C:int

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。