C语言语法分析器

上传人:cl****1 文档编号:24862 上传时间:2016-11-10 格式:PDF 页数:27 大小:457.57KB
返回 下载 相关 举报
C语言语法分析器_第1页
第1页 / 共27页
C语言语法分析器_第2页
第2页 / 共27页
C语言语法分析器_第3页
第3页 / 共27页
C语言语法分析器_第4页
第4页 / 共27页
C语言语法分析器_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《C语言语法分析器》由会员分享,可在线阅读,更多相关《C语言语法分析器(27页珍藏版)》请在金锄头文库上搜索。

1、1郑州轻工业学院编译原理课程设计总结报告设 计 题 目 : 词 法 分 析 器 ( 语 法 分 析 器 )学 生 姓 名 :系 别 :专 业 :班 级 :学 号 :指 导 教 师 : 20013年 6 月 2日2目 录一 、 设 计 题 目 3二 、 运 行 环 境 ( 软 、 硬 件 环 境 ) 3三 、 算 法 设 计 的 思 想 3四 、 算 法 流 程 图 5五 、 算 法 设 计 分 析 5六 、 源 代 码 6七 、 运 行 结 果 11八 、 收 获 及 体 会 123( 一 ) 设 计 题 目词 法 分 析 器( 二 ) 运 行 环 境(三 )算 法 设 计 的 思 想源 程

2、序 词 法 分 析 器 单 词 符 号 对 应 的 种 别 码 :单 词 符 号 种 别 码 单 词 符 号 种 别 码 : 17 := 18 21 23 10 = 2411 = 25+ 13 ( 26- 14 ) 27* 15 ; 28/ 16 # 0算 法 的 基 本 任 务 是 从 字 符 串 表 示 的 源 程 序 中 识 别 出 具 有 独 立 意 义 的 单 词 符号 , 其 基 本 思 想 是 根 据 扫 描 到 单 词 符 号 的 第 一 个 字 符 的 种 类 , 拼 出 相 应 的单 词 符 号 。1. 主 程 序 示 意 图 :主 程 序 示 意 图 如 下 ; 其 中

3、初 值 包 括 如 下 两 个 方 面 :4( 1) 关 键 字 表 的 初 值 。关 键 字 作 为 特 殊 标 示 符 处 理 , 把 它 们 预 先 安 排 到 一 张 表 格 中( 称 为 关 键 字 表 ) , 当 扫 描 程 序 识 别 出 标 识 符 时 , 查 关 键 字 表 。如 果 能 查 到 匹 配 的 单 词 , 则 该 单 词 为 关 键 字 , 否 则 为 一 般 的 标识 符 。 关 键 字 表 为 一 个 字 符 串 数 组 , 其 描 述 如 下 :=“”;否 是(2)程 序 需 要 用 到 的 主 要 变 量 为 扫 描 子 程 序 的 算 法 思 想首 先

4、 设 置 3个 变 量 : ( 1) 存 放 构 成 单 词 符 号 的 字 符 串 ; ( 2) 存 放 整 型 单 词 ( 3) 来 存 放 单 词 符 号 的 种 别 码 。置 初 值调 用 扫 描 子 程 序输 出 单 词 二 元 组输 入 串 结 束 ?结 束5( 四 ) 算 法 的 流 程 图 否其 它 字 符数 字( 五 ) 算 法 设 计 分 析算 法 的 基 本 任 务 是 从 字 符 串 表 示 的 源 程 序 中 识 别 出 具 有 独 立 意 义 的 单 词 符号 , 其 基 本 思 想 是 根 据 扫 描 到 单 词 符 号 的 第 一 个 字 符 的 种 类 , 拼

5、 出 相 应 的单 词 符 号 。其 中 初 值 包 括 如 下 两 个 方 面 : ( 一 ) 关 键 字 表 的 初 值 。 关 键 字 作 为 特 殊 标 示符 处 理 , 把 它 们 预 先 安 排 到 一 张 表 格 中 ( 称 为 关 键 字 表 ) , 当 扫 描 程 序 识 别出 标 识 符 时 , 查 关 键 字 表 。 如 果 能 查 到 匹 配 的 单 词 , 则 该 单 词 为 关 键 字 ,否 则 为 一 般 的 标 识 符 。 关 键 字 表 为 一 个 字 符 串 数 组 , 其 描 述 如 下 :=“”;(2)程 序 需 要 用 到 的 主 要 变 量 为 扫

6、描 子 程 序 的 算 法 思 想 初 始 化忽 略 空 格文 件 结 束 否 结 束拼 字 符 串 拼 数是 否 是 关 对 不 同 符 号 给出 相 应 的 错0 1 对 应 单词 的 种 别 码 结 束6首 先 设 置 3个 变 量 : ( 1) 存 放 构 成 单 词 符 号 的 字 符 串 ; ( 2) 存 放 整 型 单 词 ( 3) 来 存 放 单 词 符 号 的 种 别 码 。( 六 ) 源 代 码#50 /词 法 分 析 表 的 最 大 容 量#55/缓 冲 区 的 最 大 缓 冲 量ch;p,m,n,=;/词 法 分 析 程 序/ m=0;m=65&5&8&8&8& 1;m

7、+=if(=) 2;m+=0;p=;8: m+=ch=p+;/读 取 下 一 个 字 符 ;if(=) 4;/将 =的 中 别 码 =m+=3;p=;: m+=ch=p+;/读 取 下 一 个 字 符 ;if(=) 8;m+=7;p=;: 3;=ch;: 4;=ch;: 5;=ch;: 6;=ch;: 5;=ch;: 6;=ch;: 7;=ch;: 8;=ch;: ;=ch;1;/主 函 数/ ;) S: =E+T*F=E+T*(E)即 有 E=E+T*(E)存 在 左 递 归 。 用 直 接 改写 法 消 除 左 递 归 , 得 到 如 下 :E +T *|F (E)|对 于 以 上 改 进

8、 的 方 法 。 可 得 :对 于 E: )= =+, , 对 于 T: )= =*, , 而 且 : E ) = T ) = F )=E) i)=(, i由 此 我 们 容 易 得 出 各 非 终 结 符 的 合 如 下 :)=), #)=)=), #)=) )=+, , ), #)=)=+, , ), #17)=) )=*, , +, , ), #由 以 上 以 我 们 可 以 得 出 下 :对 E E =E)=)=(, i对 E E+ =+E =E) =, ), #对 T T =(, i对 T T* =*T = T) =, +, , ), #对 F F(E) ) =(Fi) =i + E E) =* T T) =F(E) ) Fi) =由 上 可 知 , 有 相 同 左 部 产 生 式 的 合 的 交 集 为 空 , 所 以 文 法 是1) 文 法 。 因 此 , 转 化 后 的 文 法 可 以 用 递 归 下 降 分 析 法 作 语 法 分 析 。( 六 ) 源 代 码#a50 ,b50,d200,e10;ch;n1,n=5;();1();();();();();18; /*递 归 分 析 */ f,p,j=0;x;d0=E;d1=;d2=;d3=T;d4=G;d5=#;t,;f=T();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 外语文库 > 语法

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号