diff --git a/docs/undergraduate/软件工程学院/编译原理与技术/2025-2026学年上学期期中.md b/docs/undergraduate/软件工程学院/编译原理与技术/2025-2026学年上学期期中.md new file mode 100644 index 0000000..53ffd6c --- /dev/null +++ b/docs/undergraduate/软件工程学院/编译原理与技术/2025-2026学年上学期期中.md @@ -0,0 +1,45 @@ +--- +title: 2025-2026学年上学期期中 +--- + +## 华东师范大学过程型测试 2025-2026 学年第 一 学期 + +一、给定下面正则定义给出: + +$$ +(a|b)^*abb +$$ + +1.利用 Thompson 构造法,为 该正则表达式对应的 NFA;[^1] + +3.[^2]使用子集构造法将上面得到的 NFA 转换为 DFA; + +4.对上述 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 ; \$$[^3] + + 给出对应的 LL(1) 分析程序的分析过程(最左推导),要求: + + 1. 采用“栈内容 / 当前输入符号 / 所用产生式或动作”三列形式逐步写出推导过程; + 2. 直到栈与输入都只剩下 $\$$[^4] 为止。 + +提示:可按课堂 LL(1) 实例的格式直接书写推导步骤。 + +[^1]: 原文如此,译者仅作保留; +[^2]: 原文序号如此排列,不存在第二小问; +[^3]: 原文此处 $\$$ 为 $\mathbb{S}$ +[^4]: 原文此处 $\$$ 为 # diff --git a/docs/undergraduate/软件工程学院/编译原理与技术/README.md b/docs/undergraduate/软件工程学院/编译原理与技术/README.md new file mode 100644 index 0000000..dff7b6a --- /dev/null +++ b/docs/undergraduate/软件工程学院/编译原理与技术/README.md @@ -0,0 +1,9 @@ +--- +title: 编译原理与技术 +description: "课程代码: SE3223" +--- +## 2025-2026学年上学期 + +### 试卷 + +- [2025-2026学年上学期期中试卷](./2025-2026学年下学期期中)