• 编译原理第九次作业


    1.将DFA最小化:教材P65 第9题

    答:

    I

    {1,2,3,4,5}

    {6,7}

    {1,2}b={1,2,3,4,5}

    {3,4}b={6,7}

    {5}b={}

    {1,2,3,4,5}可区分,划分

    II

    {1,2}{3,4}{5}

    {6,7}

    {1,2}不可区别,等价

    {3,4}不可区别,等价

    {6,7}不可区别,等价

     

     

     

     

     

     

     

     

     

     

     

     

    简化后的DFA:

     

     

    2.构造以下文法相应的最小的DFA正规文法:

    S→ 0A|1B

    A→ 1S|1

    B→0S|0

    答:

     正规文法->正规式

    S=0A+1B=0(1S+1)+1(0S+0)=01S+01+10S+10=(01+10)S+01+10

    S=(01+10)*01+10

    S=(01 | 10)*(01|10)

     

     

    非确定有穷自动机自动机NFA :

     

    确定有穷自动机DFA


     

     

    0

    1

    X

    ∑{A}={ABC}

    ∑{DF} = {DF}

    ∑{EH}={EH}

    Y

    ∑{DF}={DF}

    -

     ∑{BI}={BCI}

    M

    ∑{EH}={EH}

    ∑{BI}={BCI}

    -

    N

    ∑{BCI}={BCI}

    ∑{DF}={DF}

    ∑{EH}={EH}

     

     

     

     

     

     

     

     

     

     

     

     

     

    简化DFA:

    I

    {X,Y,M}

    {N}

    {X}1={X,Y,M}

    {Y}1={N}

    {M}1={}

    {X} {Y} {M}可区分,划分

    II

    {X} {Y} {M}

    {N}

     

     

     

     

     

     

     

     

     

     

     

    简化后的自动机DFA:

     

    3.给定如下文法 G[S]:

    S →AB

    A → aA | ɛ 

    B → b | bB

    给出句子aaab 的一个自顶向下语法分析过程,并说明回溯产生的原因是什么?

    答:

    S ->AB

    S->aAB

    S->aaAB

    S->aaaAB

    S->aaaɛ B

    S->aaab

    回溯产生的原因:某非终结符对应多个候选式,它们又不的第一个终结符相同,从而导致语法分析器选择了错误的候选式。

    4.P100 练习4,反复提取公共左因子,对文法进行改写。

     S -> C$

     C -> bA | aB

     A -> a|aC | bAA

     B -> b|bC | aBB

    答:

    S -> C$

    C -> bA | aB

    A -> aC' | bAA

    B -> bC' | aBB

    C' -> C | ɛ

     

  • 相关阅读:
    C#资源释放方法实例分析
    c#中在一个窗体中触发另一个窗体的事件
    C#定时器的用法
    C# 类的析构函数和释放函数
    C# 定时执行,文件占用
    C#多线程与异步
    Newtonsoft中JArray 转成list<object>
    C#中Dictionary的用法
    C# 解析Json文件(使用NewtonJson库)
    mysql无法远程连接10038错误的坑(阿里云ecs)
  • 原文地址:https://www.cnblogs.com/chock/p/11817196.html
Copyright © 2020-2023  润新知