欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    课程实践项目.doc

    • 资源ID:68616450       资源大小:41.50KB        全文页数:3页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    课程实践项目.doc

    课程实践项目一、PL/0语言的扩展1、课程实践要完成下列要求(1)给PL/0语言增加像C语言那样的形式为/* */的注释。(2)给PL/0语言增加带else子句的条件语句和exit语句。(3)给PL/0语言增加输入输出语句。(4)给PL/0语言增加带参数的过程。(5)给PL/0语言增加布尔类型。(6)给PL/0语言增加数组类型。(7)给PL/0语言增加函数类型。(8)给PL/0语言增加实数类型。(9)分离解释器和编译器为两个独立的程序。2、扩展后的PL/0语言的语法Program®Block .Block®ConstDeclTypeDeclVarDeclFuncDecl begin Stmt ; Stmt endConstDecl®const ConstDef ; ConstDef ;ConstDef®ident = number ;TypeDecl®type TypeDef TypeDef TypeDef®ident = TypeExp ;TypeExp®integer | real | Boolean | array number . number of TypeExpVarDecl®var VarDec VarDec VarDec®ident , ident : Type ;Type®integer | real | Boolean | identFuncDecl®FuncDec FuncDec FuncDec ®procedure ident ( ForParal ) ; Block ; |function ident ( ForParal ) : Type ; Block ;ForParal®ident : Type ; ident : Type Stmt® IdentRef := Exp | if Exp then Stmt | if Exp then Stmt else Stmt |begin Stmt ; Stmt end | while Exp do Stmt | exit | e |call ident ( ActParal ) | write ( Exp , Exp ) |read (IdentRef , IdentRef ) IdentRef®ident Exp Exp ActParal®Exp , Exp Exp® SimpExp RelOp SimpExp | SimpExpRelOp® = | <> | < | > | <= | >=SimpExp® + | - Term + Term | - Term | or TermTerm® Factor * Factor | / Factor | div Factor | mod Factor | and FactorFactor® IdentRef | number | ( Exp ) | not Factor | ident ( ActParal ) |odd (SimpExp) | true | false有关该扩展的说明如下:(1)描述语言的部分符号的解释符号®、|、和是描述语言的符号,其中方括号中的部分可以出现0次或1次,花括号中的部分可以出现任意次数,包括0次。被描述语言若使用上述这些符号,则需要用单引号,例如在数组类型的定义和下标变量的引用中。(2)词法部分· 形式为/* */的注释也是词法单元之间的分隔符。· 标识符ident是字母开头的字母数字串。· number是无符号数,若是实数,则采用小数点前后都有非空数字串这一种形式。· 连续的两个点(出现在数组界的声明中)看成一个单词,不要把每个点看成一个单词。就像虽有<,但<=看成一个单词一样。· 与上面两种情况有关的一个特殊现象:当整数后面紧跟两个点时,例如“10.”,看成整数10和两个点,不要把两个点分开,把“10.”看成实数缺少小数点后的非空数字串。· 新增保留字:type、array、of、integer、real、Boolean、function、else、write、read、exit、or、and、not、div、mod、true、false。· div:整数除,mod:取模,/ :实数除(3)静态检查和动态检查· 在类型定义ident = TypeExp中,TypeExp若不是数组类型,则报告错误。即只允许给数组类型命名。· 若exit语句没有处于任何while语句中,则是一个错误。· 读写语句的变量引用和表达式只能是整型或实型。· 过程和函数是有区别的。call语句只能调用过程,表达式中只能出现函数调用。· 表达式中整型和实型混合运算的类型检查请参考教材5.3.4节。整型数据可以赋给实型变量(反之不行),实现时先将整型数据转换为实型数据,然后再赋值。· 本语言有布尔类型,有布尔常量false和true。C语言虽有逻辑运算,但没有布尔类型。本语言不存在把0看成假,把非0看成真。· 数组类型是按名字等价而不是结构等价。· 数组类型不能作为过程和函数的参数类型,也不能作为函数的结果类型。· 除上述几点之外的静态检查都是大家应该知道的,不在此叙述。· 运行时检查下标表达式是否越界,越界则报告错误,停止程序的运行。(4)语句的语义只对特殊部分加以说明。· exit语句作为while语句的非正常出口语句。若处于多层while语句中,则它只作为包含该exit的最内层while语句的非正常出口。· 读语句接受从键盘输入的数据,数据之间用空格分隔。读语句具有忽略当前输入行剩余字符,下一个读语句接受的数据另起一行的功能。· 写语句输出的数据显示在屏幕上,数据之间用空格分隔。写语句具有结束当前输出行,下次输出另起一行的功能。· 增加了写语句后,原来sto指令的输出功能取消,以免输出数据过多,不宜发现所关心的数据。· 程序员定义的函数和过程的参数都是值调用参数,函数的结果类型不能是数组类型。· 布尔类型的表达式按短路方式计算。· 函数中没有return语句,在函数中,可以把函数名当作局部变量,通过对函数名赋值来把函数值返回。注意,无参函数名出现在表达式中时,是该无参函数的调用。(5)分离解释器和编译器为两个独立的程序· 编译器和解释器的接口是二进制的中间代码文件。· 原编译器中listcode方式的中间代码列表输出功能略去,以便编译过程中的屏幕输出简洁(只有源程序和报错信息);增加把完整的中间代码列表输出到文件的功能,以便实验评测时使用,该功能对于你测试和调试程序来说也是有用的。二、课程实践成果的提交和测试环境1、提交编译器和解释器的源程序、用于评测时介绍自己的实现方法和技术细节;提交编译器和解释器的目标程序,用于评测时展示自己成果的正确性。2、测试环境:Windows XP平台,不提供任何C或C+的编译工具。3

    注意事项

    本文(课程实践项目.doc)为本站会员(涵***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开