首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >文法和语言

文法和语言

作者头像
code-child
发布2023-05-30 11:16:12
发布2023-05-30 11:16:12
4620
举报
文章被收录于专栏:codechildcodechild

=字母表

字母表是一个有穷符号集合 符号:字母、数字、标点符号、……

字母表上的运算

假设字母表用∑\sum∑表示

  • 字母表的乘积——就是求笛卡儿积

例如:{0,1}{a,b}={0a,0b,1a,1b}

  • 字母表的n次幂

∑0\sum0∑0={ε} (∑)n(\sum)^n(∑)n={(∑)n−1∑(\sum) ^{n-1}\sum(∑)n−1∑} 例如:{0,1}的3次方={0,1}{0,1}{0,1}={000,001,010,011,100,101,110,111} 字母表中的n次幂:长度为n的符号串构成的集合

  • 字母表的正闭包——U表示的并集

(∑)+=∑U(∑)2U(∑)3....(\sum)^+=\sum U (\sum)^2 U(\sum)^3....(∑)+=∑U(∑)2U(∑)3.... 字母表的正闭包:长度正数的符号串构成的集合

  • 字母表的克林闭包

(∑)∗=(∑)0U(∑)U(∑)2U(∑)3....(\sum)^*=(\sum)^0 U(\sum) U (\sum)^2 U(\sum)^ 3....(∑)∗=(∑)0U(∑)U(∑)2U(∑)3.... 克林闭包就是在正闭包的基础上在添加一个空串。 字母表的克林闭包:任意符号串(长度可以为0)构成的集合。

  • 设∑\sum∑是一个字母表,对于任意的x属于(∑)∗(\sum)^*(∑)∗,x称为是∑\sum∑上的一个串。

串是字母表中符号的一个有穷序列。

  • 串s的长度,通常记作|s|,是指s中符号的个数。
  • 空串是长度为0的串,用ε表示,|ε|=0。

串上的运算——连接

  • 如果x和y是串,你们x和y的连接是把y附加到x后面而形成的串,记作xy。
  • 空串是连接运算的单位元,即,对于任意串s都有,εs=sε=s

设x,y,z是三个字符串,如果x=yz;则称y是x的前缀,z是x的后缀

串上的运算——幂

串s的运算

s0=εs^0=εs0=ε sn=sn−1ss^n=s^{n-1}ssn=sn−1s

例如:如果s=ba,那么s1=ba,s2=baba,s3=bababas^1=ba,s^2=baba,s^3=bababas1=ba,s2=baba,s3=bababa…… 串s的n次幂:将n个s连接起来。

文法的定义

文法的形式定义

四元组:G=(VT,VN,P,S)G=(V_T,V_N,P,S)G=(VT​,VN​,P,S)

  • VTV_TVT​:终结符集合

终结符是文法所定义的语言的基本符号。例如:在英语的句子中,终结符就是一个一个的单词。

  • VNV_NVN​:非终结符集合

非终结符是用来表示语法成分的符号,有时也称为“语法变量注意: 终结符集合与非终结符符集合的交集为空集。 终结符集合与非终结符符集合的并集为文法符号集

  • P:产生式集合

产生式描述了将终结符和非终结符组合成串的方法。 产生式的一般形式:α->β;读作:α定义为β α∈(VTUVN)+α∈(V_TUV_N)^+α∈(VT​UVN​)+,且α中至少包含VnV_nVn​中的一个元素,称为产生式的左部 β∈(VTUVN)∗β∈(V_TUV_N)^*β∈(VT​UVN​)∗:称为产生式的体或右部

  • S:开始符号

S∈Vn。开始符号表示的是该文法中最大的语法成分。

产生式的简写

对于一组由相同左部的α产生式:α->β1,α->β2,α->β3…… 可以简写为:α->β1|β2|β3…… 读作:α定义为β1,或者β2,或者β3…… β1,β2,β3……称为α的候选式

语言的定义

推导和归约

给定文法G=(VT,VN,P,S)G=(V_T,V_N,P,S)G=(VT​,VN​,P,S),α->β∈P 把一个字符串的α替换成β,我们把这叫做直接推导 通俗来讲就是用产生式的右部替换产生式的左部

0步推导就是它本身 +正闭包:不包括0步推导 *克林闭包:包括0步推导 归约是推导的逆过程

句型和句子

语言的形式化定义

L(G)就是所有句子的集合。

文法分类体系

0、1、2、3型文法

0型文法

无限制文法,对于任意一个推导式α->β,α中至少包含一个非终结符 由0型文法G生成的语言L(G)叫做0型语言。

1型文法

上下文有关文法,对于任意一个推导式α->β,∣α∣<=∣β∣|α|<=|β|∣α∣<=∣β∣ 该类文法中不包含空产生式ε,因为当有空产生式的时候,α的长度将大于β的长度。 由上下文有关文法(1型文法)生成的语言L(G)叫做上下文有关语言。

2型文法

α必须属于终结符。 由上下文无关文法(2型文法)生成的语言L(G)叫做上下文无关语言。 A就是非终结符

3型文法

w是终结符号串,A,B都是非终结符

四种文法的关系

上下文无关文法(CFG)分析树

短语

给定一个句型,其分析树中的每一棵子树的边缘称为该句型的一个短语。 简单的来说:短语就是由子树的叶子节点构成的

直接短语

如果子树只有父子两代结点,那么这棵子树的边缘称为该句型的一个直接短语。 根据树的性质:我们可以知道:直接短语一定是某产生式的右部。 但产生式的右部不一定是给定句型的直接短语。

二义性文法

如果一个文法可以为某个句子生成多颗分析树,则称这个文法是二义性的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • =字母表
  • 字母表上的运算
    • 串上的运算——连接
    • 串上的运算——幂
  • 文法的定义
    • 文法的形式定义
    • 产生式的简写
  • 语言的定义
    • 推导和归约
    • 句型和句子
    • 语言的形式化定义
  • 文法分类体系
    • 0型文法
    • 1型文法
    • 2型文法
    • 3型文法
  • 四种文法的关系
  • 上下文无关文法(CFG)分析树
    • 短语
    • 直接短语
  • 二义性文法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档