云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 毕业设计编译原理设计报告c语言词法与语法分析器的实现

毕业设计编译原理设计报告c语言词法与语法分析器的实现

  • 62 次阅读
  • 3 次下载
  • 2025/6/6 2:42:20

编译原理课程设计报告

课题名称: 编译原理课程设计

C-语言词法与语法分析器的实现

提交文档学生姓名: 提交文档学生学号: 同组 成 员 名 单: 指导 教 师 姓 名:

指导教师评阅成绩: 指导教师评阅意见: . .

提交报告时间: 年 月 日

C-词法与语法分析器的实现

1.课程设计目标

(1)题目实用性

C-语言拥有一个完整语言的基本属性,通过编写C-语言的词法分析和语法分析,对于理解编译原理的相关理论和知识有很大的作用。通过编写C-语言词法和语法分析程序,能够对编译原理的相关知识:正则表达式、有限自动机、语法分析等有一个比较清晰的了解和掌握。

(2)C-语言的词法说明

① 语言的关键字:

else if int return void while 所有的关键字都是保留字,并且必须是小写。 ②专用符号:

+ - * / < <= > >= == != = ; , ( ) [ ] { } /* */ ③其他标记是ID和NUM,通过下列正则表达式定义: ID = letter letter* NUM = digit digit* letter = a|..|z|A|..|Z digit = 0|..|9

注:ID表示标识符,NUM表示数字,letter表示一个字母,digit表示一个数字。 小写和大写字母是有区别的。

④ 空格由空白、换行符和制表符组成。空格通常被忽略。

⑤ 注释用通常的c语言符号/ * . . . * /围起来。注释可以放在任何空白出现的位置(即注释不能放在标记内)上,且可以超过一行。注释不能嵌套。

(3)程序设计目标

能够对一个程序正确的进行词法及语法分析。

2.分析与设计

(1)设计思想

a. 词法分析

词法分析的实现主要利用有穷自动机理论。有穷自动机可用作描述在输入串中识别模式的过程,因此也能用作构造扫描程序。通过有穷自动机理论能够容易的设计出词法分析器。 b. 语法分析

语法分析采用递归下降分析。递归下降法是语法分析中最易懂的一种方法。它的主要原理是,对每个非终结符按其产生式结构构造相应语法分析子程序,其中终结符产生匹配命令,而非终结符则产生过程调用命令。因为文法递归相应子程序也递归,所以称这种方法为递归子程序下降法或递归下降法。其中子程序的结构与产生式结构几乎是一致的。

(2)程序流程图

程序主流程图:

词法分析: 语法分析:

读取程序 读取程序

对输入的字符进行匹配判断 进行递归下降分析匹配或建立树 对应输出各行代码的词法分析结果 输出程序对应的语法树

词法分析子流程图:

错误 否 否 否 是 是否为* 是否为* 否 是否为/ 否 是 Start 是否为num 否 是 否 是否为dight Num 是否为id 否 是 是否为alpha 否 ID 是否为>,<.,!,= 是 是否为= 否 单符号 是否为+,-,*等专用符号 是 双符号 专用符号 是 是 是否为/ 结果over 是

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

编译原理课程设计报告 课题名称: 编译原理课程设计 C-语言词法与语法分析器的实现 提交文档学生姓名: 提交文档学生学号: 同组 成 员 名 单: 指导 教 师 姓 名: 指导教师评阅成绩: 指导教师评阅意见: . .

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com