编译原理(2) 文法 有限自动机 正规式

本文深入探讨了文法的分类(0型至3型)、有限自动机的定义及区别、正规式的应用,以及语法推导树的构建与理解,旨在提供全面的理论概述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一、文法

       概念:  描述语言语法结构的形成规则称为文法。

       文法G=(Vn,Vt,P,S),其中,Vn代表非终结符的集合,Vt代表终结符的集合,P代表推导式的集合,S代表开始符。

       0型文法(也称短语文法):上面的文法G中,如果它的每一个产生式a——β,满足a∈(VnUVt)*,且至少含有一个非终结符,而β∈(VnUVt)*。

      1型文法(上下文有关文法):在0型文法的基础上,满足产生式β的长度 大于 推导式a的长度,即|β| > |a| 。  特例:a——ξ(表示空)也是1型文法。

      2型文法(上下文无关文法):在1型文法的基础上,满足推导式a全部为非终结符。

     3型文法 (正规文法):在2型文法的基础上,满足所有产生式符合左线性规则 或 所有产生式符合右线性规则。(左线性也就是说所有非终结符在最左边,右线性是指所有非终结符在最右。   

         0型文法对应图灵机。  1型文法对应线性界限自动机。 2型文法对应下推自动机。  3型文法对应有限自动机。

 

 

二、有限自动机

      ( 1)有限自动机是更一般化的状态转化图。分为确定有限自动机(DFA)和不确定有限自动机(NFA)。

                 M =(S,∑,f,So,Z)

                S是一个有限状态集合。

               ∑是一个字母表,输入字符的集合。

              f是从S x ∑*至S的子集映照。

             S0⊆S,是一个非空初态(集)。

              ZS,是一个终态集。

     (2)   DFA M  和 NFA M的区别就在于S0,确定的有限状态自动机的S0是唯一确定的。而不确定的有限状态自动机的初态是一个集合,即有多个初态。

      

     上图为一个不确定的有限状态自动机。 初态为 S,1 ,2,3。 终态为Z。

 

      (3)NFA转换为DFA:有例题,不在这里解释了。

 

       (4)对于任意两个有限状态自动机 FA M 和 FA M ’ ,如果L(M)=L(M‘),则称有限状态自动机M和M’等价。

      L(M):有限状态自动机所能识别(接受)的语言记作L(M),也就是说从初始状态到终止状态形成的通路中每条边上标记的字符的集合。

 

三、正规式

       

       

 

四、语法推导树

         语法树以图示化的形式把句子分解成各个组成部分来描述或分析句子的语法结构。语法推导树相比文法要更为直观和完整。

          几个概念:

          1)句子:一棵推导树的所有叶子节点的集合,并且这些节点都为终结符。

          2)句型:一棵推导树的所有叶子节点的集合。可以包含非终结符。

          3)短语:一棵推导树中任意一棵子树的所有叶子节点的集合。

          4)简单短语:由一个节点直接一步推导出的叶子节点的集合。简单短语也叫直接短语。

          5)句柄:一个句型的最左直接短语。

          6)素短语:含有终结符的短语,但该短语中不存在具有同样性质的短语。

          7)最左推导:每一步推导都是对句型中最左边一个非终结符进行推导的一种推导过程成为最左推导。

          8)最右推导:每一步推导都是对句型中最右边一个非终结符进行推导的一种推导过程成为最右推导。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值