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

    编译原理课程设计---PL0编辑器扩充

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

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

    编译原理课程设计---PL0编辑器扩充

    1、 编译原理课程设计编译原理课程设计 题题 目目 _ _PL0_PL0 编辑器扩充编辑器扩充_ _ _ 学学 院院 计算机学院计算机学院 专专 业业 软件工程软件工程 答辩 程序设计 报告撰写 平时 总成绩 2013 年年 1 月月 4 日日 一一 课程设计目的与要求课程设计目的与要求 1、课程设计目的:、课程设计目的: 在分析理解一个教学型编译程序(如 PL/0)的基础上,对其词法分析 程序、语法分析程序和语义处理程序进行部分修改扩充。达到进一步了解 程序编译过程的基本原理和基本实现方法的目的。 2 2、课程设计要求:、课程设计要求: 基本内容基本内容(成绩范围: “中” 、 “及格”或“不及

    2、格” )(成绩范围: “中” 、 “及格”或“不及格” ) (1)扩充赋值运算:)扩充赋值运算:*= 和和 /= 扩充语句(扩充语句(Pascal 的的 FOR 语句)语句): FOR := TO DO FOR := DOWNTO DO 其中,语句其中,语句的循环变量的步长为的循环变量的步长为 2, 语句语句的循环变量的步长为的循环变量的步长为-2。 (3)增加运算:)增加运算:+ 和和 -。 选做内容选做内容(成绩评定范围扩大到: “优(成绩评定范围扩大到: “优”和“良” )”和“良” ) (1)增加类型:)增加类型: 字符类型;字符类型; 实数类型。实数类型。 (2)扩充函数:)扩充函数

    3、: 有返回值和返回语句;有返回值和返回语句; 有参数函数。有参数函数。 (3)增加一维数组类型(可增加指令) 。)增加一维数组类型(可增加指令) 。 (4)其他典型语言设施。)其他典型语言设施。 二、结构设计方案二、结构设计方案 1、 结构设计说明:结构设计说明: PL/0 的编译程序以语法分析程序为核心,词法分析程序和代码生成程序 都作为一个独立的过程,当语法分析需要读单词时就用词法分析程序,而当 语法分析正确需生成相应的目标代码时,则调用代码生成程序。此外,用表 格管理程序建立变量,常量和过程标识符的说明与引用之间的信息联系。用 出错处理程序对词法和语法分析遇到的错误给出在源程序中出错的位

    4、置和错 误性质。 2、 各功能模块图示:各功能模块图示: 3. 各功能模块作用表:各功能模块作用表: 1 PL0 主程序 2 Error 出错处理,打印出错位置和错误编码 3 GetCh 漏掉空格,读取一个字符 4 GetSym 词法分析,读取一个单词 5 Gen 生成目标代码,并送入目标程序区 6 TEST 测试当前单词符号是否合法 7 ENTER 登录名字表 8 POSITION 查找标识符在名字表中的位置 9 ConstDeclaration 常量定义处理 10 VarDeclaration 变量说明处理 11 ListCode 列出目标代码清单 12 FACTOR 因子处理 13 TE

    5、RM 项处理 14 EXPRESSION 表达式处理 15 CONDITION 条件处理 16 STATEMENT 语句部分处理 17 Block 分程序分析处理过程 18 BASE 通过静态链求出数据区的基地址 19 Interpret 对目标代码的解释执行程序 3. 符号名字表结构:符号名字表结构: struct tablestruct char nameal; /*/*名字名字*/*/ enum object kind; /*/*类型:类型:constconst,varvar,array or procedure*/array or procedure*/ int val; /*/*数值

    6、,仅数值,仅 constconst 使用使用*/*/ int level; /*/*所处层,仅所处层,仅 constconst 不使用不使用*/*/ int adr; /*/*地址,仅地址,仅 constconst 不使用不使用*/*/ int size; /*/*需要分配的数据区空需要分配的数据区空间,仅间,仅 procedureprocedure 使用使用*/*/ ; 4. 保留关键字枚举结构:保留关键字枚举结构: enum symbol nul, ident, number, plus, minus, times, slash, oddsym, eql, neq, lss, leq, gtr, geq, lparen, rparen, comma, semicolon, period, b


    注意事项

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




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