课件202编译实验1.doc

课件202编译实验1.doc

ID:55757771

大小:74.50 KB

页数:4页

时间:2020-06-05

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

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

1、SAMPLE语言定义一、字符集定义1.<字符集>→<字母>│<数字>│<单界符>2.<字母>→A│B│…│Z│a│b│…│z3.<数字>→0│1│2│…│94.<单界符>→+│-│*│/│=│<│>│(│)│[│]│:│.│;│,│'二、单词集定义5.<单词集>→<保留字>│<双界符>│<标识符>│<常数>│<单界符>6.<保留字>→and│array│begin│bool│call│case│char│constant│dim│do│else│end│false│for│if│input│integer│

2、not│of│or│output│procedure│program│read│real│repeat│set│stop│then│to│true│until│var│while│write7.<双界符>→<>│<=│>=│:=│/*│*/│..8.<标识符>→<字母>│<标识符><数字>│<标识符><字母>9.<常数>→<整数>│<布尔常数>│<字符常数>10.<整数>→<数字>│<整数><数字>11.<布尔常数>→true│false12.<字符常数>→'除{'}外的任意字符串'三、数据类型定义13.<

3、类型>→integer│bool│char四、表达式定义14.<表达式>→<算术表达式>│<布尔表达式>│<字符表达式>15.<算术表达式>→<算术表达式>+<项>│<算术表达式>-<项>│<项>16.<项>→<项>*<因子>│<项>/<因子>│<因子>17.<因子>→<算术量>│-<因子>18.<算术量>→<整数>│<标识符>│(<算术表达式>)19.<布尔表达式>→<布尔表达式>or<布尔项>│<布尔项>20.<布尔项>→<布尔项>and<布因子>│<布因子>21.<布因子>→<布尔量>│not<布因子

4、>22.<布尔量>→<布尔常量>│<标识符>│(<布尔表达式>)│<标识符><关系符><标识符>│<算术表达式><关系符><算术表达式>23.<关系符>→<│<>│<=│>=│>│=24.<字符表达式>→<字符常数>│<标识符>五、语句定义25.<语句>→<赋值句>││<复合句>26.<赋值句>→<标识符>:=<算术表达式>27.→if<布尔表达式>then<语句>│if<布尔表达式>then<语句>else<语句>28.→while

5、<布尔表达式>do<语句>29.→repeat<语句>until<布尔表达式>30.<复合句>→begin<语句表>end31.<语句表>→<语句>;<语句表>│<语句>4一、程序定义32.<程序>→program<标识符>;<变量说明><复合语句>.33.<变量说明>→var<变量定义>│ε34.<变量定义>→<标识符表>:<类型>;<变量定义>│<标识符表>:<类型>;35.<标识符表>→<标识符>,<标识符表>│<标识符>二、SIMPLE语言单词编码单词种别码单词种别码单词种别码an

6、d1output21*41array2procedure22*/42begin3program23+43bool4read24,44call5real25-45case6repeat26.46char7set27..47constant8stop28/48dim9then29/*49do10to30:50else11true31:=51end12until32;52false13var33<53for14while34<=54if15write35<>55input16标识符36=56integer17整数

7、37>57not18字符常数38>=58of19(39[59or20)40]60八、实验一:设计SAMPLE语言的词法分析器检查要求:a)启动程序后,先输出作者姓名、班级、学号(可用汉语、英语或拼音);b)请求输入测试程序名,键入程序名后自动开始词法分析并输出结果;c)输出结果为单词的二元式序列(样式见样板输出1和2);d)要求能发现下列词法错误和指出错误性质和位置:非法字符,即不是SAMPLE字符集的符号;字符常数缺右边的单引号(字符常数要求左、右边用单引号界定,不能跨行);注释部分缺右边的界符*/(注释

8、要求左右边分别用/*和*/界定,不能跨行)。4八、实验一测试程序与样板输出测试程序1:程序名TEST1andarraybeginboolcallcasecharconstantdimdoelseendfalseforifinputintegernotoforoutputprocedureprogramreadrealrepeatsetstopthentotrueuntilvarwhilewriteabc123'E

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

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

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