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

    编译原理课程设计——算符优先分析法研究

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

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

    编译原理课程设计——算符优先分析法研究

    1、目目 录录 1 课程设计的目的和要求. 1 1.1 课程设计的目的 . 1 1.2 课程设计的要求 . 1 2 系统描述 1 2.1 自底向上分析方法的描述:. 1 2.2 算符优先文法的描述: . 1 3)输入符号串,进行移进-规约分析。 . 2 3 概要设计 2 3.1 设计思路 2 3.2 系统功能结构 . 3 3.3 技术路线或实现方法 4 3.4 开发环境 4 4 详细设计 4 4.1 模块划分 4 4.2 主要算法的流程图 . 6 4.3 数据分析与定义 . 7 4.4 系统界面设计 . 7 5 测试方法和测试结果 8 5.1 测试用例 1 . 8 5.2 测试用例 2 . 9 5

    2、.3 测试用例 3. 10 5.4 测试用例 4 . 11 6 结论和展望 12 结论 . 12 展望 . 12 学习编译技术课程的体会和对本门课程的评价 12 7 参考文献 12 8 源代码 . 13 1 1 课程设计的目的和要求 1.1 课程设计的目的 本次设计的时间为 1 周,目的是通过使用高级语言实现部分算法加强对 编译技术和理论的理解。设计的题目要求具有一定的规模,应涵盖本课程内 容和实际应用相关的主要技术。 1.2 课程设计的要求 1、文法使用产生式来定义; 2、用大写字母和小写字母分别表示非终结符和终结符;产生式使用-; 3、文法中的空字符串统一使用表示; 4、分别给出每一个非终

    3、结符的 FIRSTVT 集和 LASTVT 集; 5、画出算符优先关系表 6、判定给定的文法是否是算符优先文法; 7、给定符号串判定是否是文法中的句子,分析过程用分析表格的方式打 印出来。 2 系统描述 本次实验使用windows vista操作系统下 visual C+6.0平台, 使用C 语言, 利用读文件方式将待分析的文法读入到程序中,通过定义数组和结构体作为 具有一定意义或关系的表或栈,存放 FIRSTVT、LASTVT、算符优先关系表 的元素。 系统能够对由文件读入的文法进行分析, 构造出 FIRSTVT 表和 LASTVT 表以及算符优先关系表。可以根据构造的优先关系表对输入的任意

    4、符号串进 行分析,判断是否为本文法的句子,若是则打印规约过程。结果显示到 DOS 界面上。 2.1 自底向上分析方法的描述: 对输入的符号串自左向右进行扫描,并将输入符逐个移入栈中,边移入 边分析,一旦栈顶符号串形成某个句型的句柄时(该句柄对应某个产生式的 右部) ,就用该产生式的左部非终结符代替相应右部的文法符号串,这一过程 称为规约。重复这一过程,直到栈中只剩下文法的开始符则分析成功。 2.2 算符优先文法的描述: 只规定算符之间的优先关系,也就是说只考虑终结符之间的优先关系。 由于算富有先分析不考虑非终结符之间的优先关系,在规约过程中只要找到 2 最左素短语就可以规约。 如给定一个文法

    5、GS: S-#E# E-E+T E-T T-T*F T-F F-P/F F-P P-(E) P-i 利用算符优先文法分析过程处理如下: 1)计算给定文法中任意两个终结符对(a,b)之间的优先关系,首先计算两个集 合 FIRSTVT(B)=b|B-b或 B-Cb LASTVT(B)=a|B-a 或 B-aC 表 2-1 FIRSTVT 集和 LASTVT 集 2)计算三种优先关系,求出算符优先关系表: 表 2-2 算符优先关系表 + * / i ( ) # + * / I ( ) # 3)输入符号串,进行移进-规约分析。 3 概要设计 3.1 设计思路 1)首先在源程序相同的目录下创建一个 tx

    6、t 文档,并在文档中输入待分 析的文法。然后定义一个输入流文件,调用这个流文件中的 open函数打开该 S E T F P FIRSTVT # +*/i( */i( /i( i( LASTVT # +*/i) */i) /i) i) 3 txt 文件,再定义一个二维数组通过循环接收读入的产生式。 2)接着开始构造 FIRSTVT、LASTVT、算符优先关系表。在构造表的时 候首先定义了两个重要的结构体。一个结构体作为存放具有一定关系的一对 非终结符和终结符,另一个结构体作为存放上述元素的栈,包括栈顶指针、 栈底指针、栈的长度。既然定义了栈,就存在对栈的初始化、栈是否为空的 判断、入栈、出栈操作,利用循环和指针的操作来定义这些函数,以完成元 素的进栈和弹出。 定义了这两个结构体,就可以用来构


    注意事项

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




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