zoukankan      html  css  js  c++  java
  • 编译原理9 DFA最小化,语法分析初步

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

    I

    {1,2,3,4,5}

    {6,7}

     

     

    {1,2}b->{2}

    {3,4}b->{6,7}

    {1,2}a->{3,4}不可区分

    {3,4}c->{3}不可区分

     

    II

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

    {6,7}

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

    S→ 0A|1B

    A→ 1S|1

    B→0S|0

    答:

    S→0(1S+1)|1(0S|0)

    S→01S+01|10S+10

    S→(01+10)S|(01+10)

    S→(01|10)*(01|10)

     DFA:

     

     

    0

    1

     0

    ε{S}={AD}

    {BE}

    {CF}

     1

    {BE}

     

    {ADG}

     2

    {CF}

    {ADG}

     

     3

    {ADG}

    {BE}

    {CF}

    I

    {0,1,2}

    {3}

    {0}->{1,2}

    {1}1->{3}

    {2}0->{3}

    II

    {0}{1}{2}

    {3}

    化简DFA:

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

    AB

    → aA | ɛ 

    → b | bB

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

     答:

    AB

    →aAB

    →aaAB

    aaaɛB

    aaabɛ

    aaab

    回溯产生的原因:反复提取公共左因子

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

    答:

    S -> C$

    C -> bA | aB

    A -> aC' | bAA

    B -> bC' | aBB

    C' -> C | ɛ

  • 相关阅读:
    Iview多行表单增删、表单校验
    Linux常用命令+Git命令
    前端架构师图谱
    第八章学习心得
    第七章学习心得
    第6章学习心得
    第5章学习总结
    第四章心得体会
    第三章学习心得
    第二章学习心得
  • 原文地址:https://www.cnblogs.com/longlog/p/11822086.html
Copyright © 2011-2022 走看看