SharedCourses/docs/undergraduate/软件工程学院/编译原理与技术/2025-2026学年上学期期中.md

51 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 2025-2026学年上学期期中
---
## 华东师范大学过程型测试 2025-2026 学年第 一 学期
一、给定下面正则定义给出:
$$
(a|b)^*abb
$$
1. 利用 Thompson 构造法,为 该正则表达式对应的 NFA
:::info
原文如此,译者仅作保留;
:::
2. 使用子集构造法将上面得到的 NFA 转换为 DFA
3. 对上述 DFA 进行最小化。
二、考虑如下描述简单赋值语句与算数表达式的文法:
$$
1) S \rightarrow id := E ; \\
2) E \rightarrow E + T | T \\
3) T \rightarrow T * F | F \\
4) F \rightarrow ( E ) | id \\
$$
1. 对该文法进行消除左递归与提取左因子。
2. 根据 1 的新文法,求出每个非终结符的 FIRST 集合和 FOLLOW 集合。
3. 依据新文法的 FIRST / FOLLOW 集合,构造该文法的 LL(1) 分析表;
4. 设输入串为:
id := id + id * id ; $
> 原文此处 $
>
> 为 $\mathbb{S}$
给出对应的 LL(1) 分析程序的分析过程(最左推导),要求:
1. 采用“栈内容 / 当前输入符号 / 所用产生式或动作”三列形式逐步写出推导过程;
2. 直到栈与输入都只剩下 $ 为止。
> 原文此处 $ 为 #
提示:可按课堂 LL(1) 实例的格式直接书写推导步骤。