一、实验目的及要求 1. 掌 握 LL(1)分 析 法 的 基 本 原 理 ; 2. 掌 握 LL(1)分 析 表 的 构 造 方 法 ; 3. 用 LL( 1) 分 析 法 分 析 高 级 语 言 表 达 式 。 4、 了 解 LL( 1) 分 析 器 的 工 作 过 程 。 文 法 : 无 二 义 性 的 算 术 表 达 式 的 文 法 ( 1) 把 词 法 分 析 作 为 语 法 分 析 的 子 程 序 实 现 ( 5 分 ) ( 2) 独 立 的 语 法 分 析 程 序 ( 4 分 ) ( 3) 对 表 达 式 文 法 消 除 左 递 归 、 构 造 LL( 1) 分 析 表 ( 4) LL( 1) 分 析 表 可 以 直 接 输 入 ( 4 分 ), 也 可 以 用 程 序 实 现 ( 5 分 ) ( 5) 给 一 个 表 达 式 , 给 出 分 析 过 程 ( 分 析 栈 、 输 入 串 、 所 用 规 则 )( 4 分 ) ( 6) 生 成 一 个 棵 语 法 树 ( 5 分 ) 用 二 叉 树 的 形 式 表 示 出 来 二、实验内容及原理 1、 实验原理 ( 1)、 LL( 1) 文 法 的 定 义 LL(1)分 析 法 属 于 确 定 的 自 顶 向 下 分 析 方 法 。 LL(1)的 含 义 是 : 第 一 个 L 表 明 自 顶 向 下 分析 是 从 左 向 右 扫 描 输 入 串 , 第 2 个 L 表 明 分 析 过 程 中 将 使 用 最 左 推 导 , 1 表 明 只 需 向 右 看 一个 符 号 便 可 决 定 如 何 推 导 , 即 选 择 哪 个 产 生 式 (规 则 )进 行 推 导 。 LL(1)文 法 的 判 别 需 要 依 次 计 算 FIRST 集 、FOLLOW 集 和 SELLECT 集 ,然后判 断是 否为 LL(1)文 法 ,最 后再进 行 句子 分 析 。 需 要 预测分 析 器 对 所 给 句型进 行 识别 。 即 在LL(1)分 析 法 中 , 每当在符 号 栈 的 栈 顶 出 现非终极符 时, 要 预测用 哪 个 产 生 式 的 右 部去替换该非终极符 ; 当出 现 终结符 时, 判 断其与剩余输 入 串 的 第 一 个 字符 是 否匹配, 如 果匹配, 则 继续分 析 , 否则 报错。 LL(1)分 析 方 法 要 求文 法 满足如 下 条件:对 于 任一 非终极符 A 的 两个 不同产 生 ...