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

    编译原理课程设计-词法语法分析器

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

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

    编译原理课程设计-词法语法分析器

    1、课程设计课程设计 1 1- -C C 语言语言词法分析器词法分析器 1.1.题目题目 C C 语言语言词法分析词法分析 2.2.内容内容 选一个能正常运行的 c 语言程序,以该程序出现的字符作为单词符号集,不用 处理 c 语言的所有单词符号。 将解析到的单词符号对应的二元组输出到文件中保存 可以将扫描缓冲区与输入缓冲区合成一个缓冲区, 一次性输入源程序后就可以进 行预处理了 3.3.设计目的设计目的 掌握词法分析算法,设计、编制并调试一个词法分析程序,加深对词法分析原 理的理解 4.4.设计设计环境(电脑语言环境)环境(电脑语言环境) 语言环境:C 语言 CPU:i7HQ6700 内存:8G

    2、5.5.概要设计(单词符号表,状态转换图)概要设计(单词符号表,状态转换图) 5.1 词法分析器的结构 词法分析程序的功能: 输入:所给文法的源程序字符串。 输出:二元组(syn,token 或 sum)构成的序列。 词法分析程序可以单独为一个程序;也可以作为整个编译程序的一个子程序, 当需要一个单词时,就调用此法分析子程序返回一个单词. 为便于程序实现,假设每个单词间都有界符或运算符或空格隔开,并引入下面的 全局变量及子程序: 1) ch 存放最新读进的源程序字符 2) strToken 存放构成单词符号的字符串 3) Buffer 字符缓冲区 4)struct keyType 存放保留字的

    3、符号和种别 5.2 待分析的简单词法 (1)保留字 break、case、char、const、int、do、while (2)运算符和界符 = 、+、 -、 * 、/、%、 , 、 ; 、 (、 ) 、?、# 5.3 各种单词符号对应的种别码 单词符号 种别码 单词符号 种别码 ID 0 sizeof 24 源程序 输入缓冲区 预处理子程序 扫描缓冲区 1 扫描缓冲区 2 词法分析子程序 返回一个单词 调用 数据 INT 1 static 25 auto 2 struct 26 break 3 switch 27 case 4 typedef 28 char 5 union 29 const

    4、 6 unsigned 30 continue 7 void 31 default 8 volatile 32 do 9 while 33 double 10 = 34 else 11 + 35 enum 12 - 36 extern 13 * 37 float 14 / 38 for 15 % 39 goto 16 , 40 if 17 ; 41 int 18 ( 42 long 19 ) 43 register 20 ? 44 return 21 clear 45 short 22 # 46 signed 23 lettet(letter|digit) * 47 dight dight*

    5、48 5.3 状态转换图 6.6.详细设计(数据结构,子程序详细设计(数据结构,子程序) 算法思想: 首先设置 3 个变量:strToken用来存放构成单词符号的字符串;ch 用来字符;struct keyType用来存放单词符号的种别码。扫描子程序主要 部分流程如下图所示。 子程序结构: 子程序名 功能 GETCHAR() 读一个字符到 ch 中 GETBC() 读一个非空白字符到 ch 中 CONCAT() 把 CHAR 中字符连接到 strToken 之后 LETTER() 判断 CHAR 中字符是否为字母 DIGIT() 判断 ch 中字符是否为数字 RESERVE() 用 strTo

    6、ken 中的字符串查找保留字表,并返回 保留字种别码,若返 回零,则非保留字 RETRACT() 把 CHAR 中字符回送到缓冲区 7.7.程序清单程序清单 / ConsoleApplication1.cpp : 定义控制台应用程序的入口点。 / #include “stdafx.h“ #include “stdio.h“ #include “stdlib.h“ #include “conio.h“ #include “string.h“ #define N 47 char ch; char strToken20;/存放构成单词符号的字符串 char buffer1024; /字符缓冲区 struct keyType char keyname256; int value; KeyN = “$ID“,0 , “$INT“,1 , “auto“,2 , “break“,3 , “case“,4 , “char“,5 , “const“,6 , “continue“,7 ,


    注意事项

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




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