zoukankan      html  css  js  c++  java
  • 编译原理第九次作业

    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 | ɛ

     

  • 相关阅读:
    工厂模式 ioc dom4j 反射之我的一点理解
    hibernate中注解方式中的控制反转
    java中的数据存储(堆,栈) 很重要
    hibernate中映射关系总结
    三极管使用方法
    OC OD介绍
    HP Jack介绍
    Jlink接口的Jtag和SWD接口定义
    什么是域什么是工作组
    Ubuntu安装.run文件
  • 原文地址:https://www.cnblogs.com/chock/p/11817196.html
Copyright © 2011-2022 走看看