欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    编译原理课程设计---For循环语句的语法分析及语义分析程序设计

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

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

    编译原理课程设计---For循环语句的语法分析及语义分析程序设计

    1、1/18 ForFor 循环语句的语法分析及语义分析程序设计循环语句的语法分析及语义分析程序设计 -递归下降法、输出四元式递归下降法、输出四元式 1.系统描述 11 目的 通过设计、编制、调试一个 FOR 循环语句的语法及语义分析程序,加深对语 法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。 12 设计内容及步骤 对循环语句的运行过程描述:FOR(赋值语句 1 或空;布尔表达式 2;循环 变量+步长) 赋值语句 ,for 中的三个部分都可以包含多于一个的式子,其 中第一部分为对循环变量赋初值;第二部分为判断循环条件是否满足,里面会用 到循环变量;第三部分为对每执行一次循

    2、环就对循环变量做一次改变,并以此为 基础判断循环条件。该语句的执行顺序为,第一次执行该循环第一部分的语句, 在完成循环体部分的执行后,进入第三部分对循环变量做调整,然后到第二部分 判断循环条件是否满足情况,是则进入循环体,然后再按以上顺序循环做;否则 跳出循环。得到以下流程图: (1)写出递归下降语法分析方法要求的文法和属性文法描述。 (2)描述递归下降语法分析方法的思想。 (3)给出中间代码序列的结构设计。 2/18 (4)完成相应的词法分析、语法分析和语义分析程序设计。 (5)测试用例和测试结果。设计不同的测试用例以显示程序的各种功能,包括简 单的 for 循环和 for 循环的嵌套。并记

    3、录测试结果。 2 翻译过程 2.1 词法分析 词法分析是计算机科学中将字符序列转换为单词(Token)序列的过程。进 行语法分析的程序或者函数叫作词法分析器(Lexical analyzer,简称 Lexer) , 也叫扫描器 (Scanner) 。 词法分析器一般以函数的形式存在, 供语法分析器调用。 词法分析是编译过程中的第一个阶段,在语法分析前进行 。也可以和语法分析 结合在一起作为一遍, 由语法分析程序调用词法分析程序来获得当前单词供语法 分析使用。简化设计、改进编译效率、增加编译系统的可移植性。词法分析是编 制一个读单词的过程,从输入的源程序中,识别出各个具有独立意义的单词,即 基本

    4、保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内 部编码及单词符号自身值。单词的分类主要分为五类: 1. 关键字: 由程序语言定义的具有固定意义的标识符。 也称为保留字或基本字。 2. 标识符:用来表示程序中各种名字的字符串。 3. 常 数:常数的类型一般有整型、实型、布尔型、文字型。 4. 运算符:如+、 、*、/ 等。 5. 界限符:如逗号、分号、括号等。 这里将词法分析程序设计成一个子程序, 每当语法分析程序需要一个单词时, 则调用该子程序。词法分析程序每调用一次,便从源程序文件中读入一些字符, 直到识别出一个单词。 2.2、语法分析 采用递归下降方法,为对应文法中的每

    5、个非终结符编写一个递归过程,每个 过程的功能是识别由该非终结符推出的串。若输入串是给定文法的句子,则从文 法的开始符号出发一定能推导出与输入的单词串完全相同的句子。 语法分析是编译过程的一个逻辑阶段。 语法分析的任务是在的基础上将单词 序列组合成各类语法短语,如“程序”,“语句”,“表达式”等等。语法分析 3/18 程序判断源程序在结构上是否正确.源程序的结构由上下文无关文法描述.语法 分析程序可以用 YACC 等工具自动生成。 语法分析是编译程序的核心部分,其主要任务是确定语法结构,检查语法错 误,报告错误的性质和位置,并进行适当的纠错工作。语法分析的主要工作:是 识别由词法分析给出的单词序

    6、列是否是给定的正确句子(程序) 。语法分析常用 的方法:自顶向下的语法分析和自底向上的语法分析两大类。 此次设计中语法分 析中主要通过递归下降分析法对语法分析处理过程进行控制, 使输出的三地址表 示的翻译的工作有条不紊的进行,同时识别语法分析中的语法错误。 递归下降法主要采用自顶向下方法,即从文法的开始符号开始进行分析,逐 渐推导的往下构造语法树,使其树叶正好构造出所给定的源程序串。自顶向下方 法的关键是确定在推导过程中选择候选式的问题。当进行推导时, 一个非终结符 可能对应多个产生式,这样我们就无法事先知道应该用哪个产生式,因此实用都 作了一些限制。以便在任何情况下都能确定应该用的产生式。 自顶向下的主要思想是从开始符出发导出句型并一个符号一个符号地与给 定终结符串进行匹配。如果全部匹配成功,则表示开始符号可推导出给定的终结 符串。因此判定给定终结符号串是正确句子。 在语法分析的同时可由语法分析程序调用相应的语义子程序进行语义处理, 完成附加在所使用的产生式上的语义规则描述,并生成四元式的中间代码形式。 词法分析程序和语法分析程序的关系: 2.3 中间


    注意事项

    本文(编译原理课程设计---For循环语句的语法分析及语义分析程序设计)为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583