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

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

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

    S→ 0A|1B

    A→ 1S|1

    B→0S|0

     

    S = 0(1S+1)+1(0S+0)

       = 01S+01+10S+10

       = 01S+10S+01+10

       = (01+10)S+(01+10)

       =(01+10)*+(01+10)

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

    3.自上而下语法分析,回溯产生的原因是什么?

    当前文法不满足LL(1)时,则不能用确定的自顶向下分析,但在这种情况下,可用不确定自顶向下的分析法,也就是说带回溯的自顶向下的分析法。

    引起回溯的原因是在文法中当关于某个非终结符的产生式有很多时,当面临当前的输入符无法确定选用唯一的产生式,从而引起回溯。

    ①由于相同左部的产生式的右部First集不为空而引起的回溯

    ②由于相同左部非终结符的右部存在能产生空串的产生式,且该非终结符的Follow集中含有其他产生式右部的First集的元素。

    ③由于文法含有左递归而引起回溯

    4.P100 练习4,反复提取公共左因子。

    S -> C$

    C -> bA|aB

    A -> a|ac|bAA

    B -> b|bc|aBB

    反复提取公共左因子:

    S -> C$

    A -> aD|bAA

    D -> ε|c

    B -> bE|aBB

    E -> ε|c

  • 相关阅读:
    11月1号笔试题总结
    10月30笔试题总结
    web前端常用单词
    9月13日·碎碎念
    python 匿名函数
    python 二分法查找
    python 递归
    python内置函数
    python 列表生成式
    python 生成器
  • 原文地址:https://www.cnblogs.com/HvYan/p/11797466.html
Copyright © 2011-2022 走看看