《编译原理与技术课程设计》.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编译原理与技术》 课程设计的目的 进一步掌握编译原理 词法分析、语法分析、语义分析 (中间)代码生成 通过课程设计,掌握编译技术 有限自动机技术 语法制导翻译技术 熟悉一门程序设计语言,提高编程能力 本课程设计需要大家熟练掌握:源语言、目标语言、实现语言 Pascal子集编译程序的设计与实现 要求: 按照所给Pascal子集的语法, 参考Pascal语言的语义 设计并实现Pascal子集的编译程序 给出各阶段的设计资料和实现成果 Pascal子集的文法 Program? program_head program_body . program_head ? program id ( identifier_list ) ; program_body ? declarations subprogram_declarations compound_statement identifier_list ? identifier_list , id | id declarations ? VAR declaration ; | ? declaration ?declaration ; identifier_list : type | identifier_list : type type ? standard_type | array [ digits .. digits ] of standard_type | record declaretion end Pascal子集的文法(续1) standard_type ? integer | real | Boolean | num .. num subprogram_declarations ? subprogram_declarations subprogram_declaration ; | ? subprogram_declaration ? subprogram_head declarations compound_statement subprogram_head ? function id arguments : standard_type ; | procedure id arguments ; Pascal子集的文法(续2) Arguments? ( parameter_list ) | ? parameter_list? parameter_list ; identifier_list : type | identifier_list : type compound_statement? begin optional_statements end optional_statements? statement_list | ? statement_list? statement_list ; statement | statement Pascal子集的文法(续3) statement ?variable assignop expression | procedure_statement | compound_statement | if expression then statement else statement | while expression do statement | read ( identifier_list ) | write ( expr_list ) Variable? id | id [ expression ] procedure_statement? id | id ( expr_list ) expr_list? expr_list , expr | expr Pascal子集的文法(续4) expression? simple_expr relop simple_expr | simple_expr simple_expre? term | sign term | simple_expr addop term Term? term mulop factor | factor factor ? id | id ( expr_list ) | id [

文档评论(0)

文档分享 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档