zoukankan      html  css  js  c++  java
  • DFA最小化,语法分析初步

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

    I

    {1,2,3,4,5}

    {6,7}

    {1,2}b->{2}

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

    {5}b->

    不可区别

    II

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

    {6,7}

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

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

    不可区别,等价

     

     ------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    S→ 0A|1B

    A→ 1S|1

    B→0S|0

    正规文法转为正规式

    S->0(1S|1) | 1(0S|0)

      ->01S | 01 | 10S | 10

      ->(01|10)* (01|10)

    正规式转NFA

    NFA转DFA

    0

    1

    1

    ɛ{X}={XAD}

    {BE}

    {CF}

    2

    {BE}

    {ADY}

    3

    {CF}

    {ADY}

    4

    {ADY}

    {BE}

    {CF}

    然后构造最小DFA

    I

    {1,2,3}

    {4}

    {1}0->{2}

    {2}0->

    {3}0->{4}

    II

    {1}{2}{3}

    {4}

    因此

     ------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    AB

    → aA | ɛ

    → b | bB

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

    S->AB ->aAB ->aaAB ->aaaAB ->aaaB ->aaab

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

     ------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    S->C$

    C->bA | aB

    A->a | aC | bAA

    B->b | bC | aBB

    改写:

    S->C$

    C->bA | aB

    A->aD | bAA

    B->bD | aBB

    D ->C | ɛ

  • 相关阅读:
    Java面试之对象拷贝
    Java面试之反射
    Java面试之多线程
    Java面试之容器
    Java面试之基础一
    Java面试之Hibernate
    Mysql进阶
    高并发,不怕不怕「限流算法第一把法器:计数器法」
    SpringBoot加载速度慢
    idea VM options参数优化
  • 原文地址:https://www.cnblogs.com/q1uj1e/p/11804178.html
Copyright © 2011-2022 走看看