跳到主要内容

2025-2026学年上学期期末

2025-2026学年上学期期末试卷(A)

说明

  • 原卷标题:华东师范大学期末试卷A卷 2025-2026 学年第 一 学期

一、选择题

  1. 设正规式 (regular expression)

    r=(ab)(cde)(xy)r = (a\mid b)(c\mid d\mid e)(x\mid y)

    L(r)L(r) 中元素个数(the number of elements in L(r)L(r))为()。

    A. 6

    B. 12

    C. 18

    D. 24

  2. 文法 G[S]G[S]:

    SaSbabS \to aSb\,\mid\,ab

    所识别的语言是(the language recognized by the grammar)是()。

    A. {anbnn0}\{a^nb^n\,\mid\,n \geq 0\}

    B. {anbnn1}\{a^nb^n\,\mid\,n \geq 1\}

    C. {anbmn,m1}\{a^nb^m\,\mid\,n,m \geq 1\}

    D. {(ab)nn1}\{(ab)^n\,\mid\,n \geq 1\}

提示

原题遗失,但原题是错题

  1. 给定文法 GGSS为开始符号):

    SaSBBbBcεS \to aS\,\mid\,B \\ B \to bBc\,\mid\,ε

    下列哪些符号串是 L(G)L(G) 中的元素(which string is in L(G)L(G))。

    A. a2b3c3a^2b^3c^3

    B. a2b3c2a^2b^3c^2

    C. abab

    D. a3ca^3c

  2. 一个 LR(1)LR(1) 文法(an LR(1) grammer)一定是()。

    A. 二义性文法

    B. 无二义性文法

    C. 左递归文法

    D. LL(1) 文法

二、填空题

  1. 已知文法 G[E]G[E]:

    EETTTT/FFF(E)id\begin{aligned} E &\to E-T\,\mid\,T \\ T &\to T/F\,\mid\,F \\ F &\to (E)\,\mid\,id \end{aligned}

    则终结符集合(terminal set)为______,非终结符集合(non-terminal set)为)______。

  2. 编译程序的工作过程一般可分为(the phases of a compile):______、______、______、______、______、______等基本阶段,同时还会伴有(also with)______和______。

  3. 一个活动记录(activity record / stack frame)通常包括______、______、______、______、______等若干部分。

  4. DFA和NFA主要区别在于(the key difference between DFA and NFA):______。

三、简答

  1. 证明文法 EE+EEˆEEidE \to E + E \mid E \,\,\texttt{\^{}}\, E \mid -E \mid id 具有二义性。

  2. 为文法 L={anbmcn},n1,m0}L = \{a^nb^mc^n\},n \geq 1,m \geq 0\} 设计CFG。

  3. 对于属性文法

    SpAqS \to pAq {print 1};

    SpS \to p {print 2};

    AASA \to AS {print 3};

    ArA \to r {print 4};

    输入串为 prpq,输出为什么

  4. 对于文法:

    SAdAaAbc\begin{aligned} S &\to Ad\\ A &\to aAb \mid c \end{aligned}

    a. 给出 aAbdaAbdacbdacbd 的句柄

    b. 分别给出 aacbbdaacbbd 的最左和最右推导

  5. 消除下列文法的左递归

    EETTTT/FFF(E)id\begin{aligned} E &\to E - T \mid T\\ T &\to T / F \mid F\\ F &\to (E) \mid id \end{aligned}

四、计算

  1. 对于正则表达式 r=(ab)(ababab)r = (a\mid b)^*(aba\mid bab)

    a. 使用直接构造法构造 DFA,给出状态表

    b. 最小化上一问的 DFA ,给出状态表或说明合并结果

  2. 对于文法

    SABAaAεBbBCCcCd\begin{aligned} S &\to AB\\ A &\to aA\mid ε\\ B &\to bB\mid C\\ C &\to cC\mid d \end{aligned}

    a. 构造 LR(0) 规范集组

    b. 给出 follow 集

    c. 构造 SLR(1) 状态表,说明是否为 SLR(1) 文法

    d. 对于 $aabbccdd$$,给出文法分析过程

  3. 给出下列代码的三地址码形式

    while(m*2 < n+k OR m != k)
    while(n - m >= 3 AND k < 8>)
    {
    n = n - 1;
    k = k + m;
    }