需求说明-Read.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
需求说明-Read.doc

需求说明 一、文法 此编译作业的文法为难度较难的扩充PL/0文法 (编号:X1N15),文法中包含常量、变量、整数、实数、整型、实型、字符型、过程(带参数)、函数(带参数和返回值)、赋值语句、for语句、if-then-else语句、while语句、repeat…uitil语句、过程调用、函数调用、复合语句、读语句、写语句(字符串和表达式)。 文法说明如下: 程序???????????????????::=? ?分程序. 分程序???????????????::=?? [常量说明部分][变量说明部分]{[过程说明部分]| [函数说明部分]}复合语句 常量说明部分 ?::=?? const常量定义{,常量定义}; 常量定义??????????::=??? 标识符= 常量 常量???????????????????::=? ? [+| -] (无符号整数| 无符号实数)|字符 字符???????????????????::=? ’(字母 | 数字)’ 无符号实数??????::=? ?无符号整数.无符号整数 字符串???????????????::=??{合法字符} 无符号整数??????::=? ?数字{数字} 标识符???????????????::=?? 字母{字母|数字} 变量说明部分??::=?? var 变量说明 ; {变量说明;} 变量说明??????????::=? ?标识符{, 标识符} : 类型标识符 类型标识符??????::=?? integer | char | real 过程说明部分??::=? ?过程首部分程序{; 过程说明部分}; 函数说明部分??::=?? 函数首部分程序{; 函数说明部分}; 过程首部??????????::=?? procedure标识符[形式参数表]; 函数首部??????????::=? ?function 标识符[形式参数表]: 类型标识符; 形式参数表??????::= ‘(’ 形式参数段{; 形式参数段}‘)’ 形式参数段??????::=? ?[var]标识符{, 标识符}: 类型标识符 语句???????????????????::=?? 赋值语句|条件语句|当循环语句|过程调用语句|复合语句|读语句|写语句|for循环语句|空 赋值语句?????????? ::=? 标识符 := 表达式| 函数标识符 := 表达式 函数标识符????? ::=? 标识符 表达式???????????????::=?? ?[+|-]项{加法运算符项} 项???????????????????????::=? ?因子{乘法运算符因子} 因子???????????????????::=?? 标识符|无符号整数| 无符号实数|‘(’表达式‘)’ | 函数调用语句 函数调用语句??????::=? ?标识符[实在参数表] 实在参数表??????::= ‘(’ 实在参数 {, 实在参数}‘)’ 实在参数??????????::=? ?表达式| 标识符|函数调用语句 加法运算符????? ::=? ?+|- 乘法运算符??????::=? ?*|/ 条件?????????????????? ::=? ?表达式关系运算符表达式 关系运算符??????::=? ?|=||= |=| 条件语句??????????::=?? if条件then语句 | if条件then语句else语句 当循环语句??????::=? ?while条件do语句 for循环语句??????::=? for 标识符? := 表达式 (downto | to) 表达式 do 语句? //步长为1 过程调用语句??::=? ?标识符[实在参数表] 复合语句???????????::=?? begin语句{; 语句}end 读语句???????????????::=?? read‘(’标识符{,标识符}‘)’ 写语句???????????????::=? ?write ‘(’ 字符串,表达式 ‘)’|write ‘(’ 字符串 ‘)’|write ‘(’表达式‘)’ 字母???????????????????::=?? a|b|c|d…x|y|z|A|B|…Z 数字???????????????????::=?? 0|1|2|3…8|9 附加说明:(1)char类型的表达式,用字符的ASCII码对应的整数参加运算,在写语句中输出字符 ???????????????? (2)标识符区分大小写字母 ??????????????? ??(3)赋值语句中函数标识符 := 表达式 作为函数的返回值,其类型应与返回类型一致,此语句后面的语句可继续执行 ???????????????? (4)写语句中的字符串原样输出 程序语法如图(一)所示

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档