首页 > 
				形式语言
✍ dations ◷ 2025-11-01 00:14:44 #形式语言
				在数学、逻辑和计算机科学中,形式语言(英语:Formal language)是用精确的数学或机器可处理的公式定义的语言。如语言学中语言一样,形式语言一般有两个方面:语法和语义。专门研究语言的语法的数学和计算机科学分支叫做形式语言理论,它只研究语言的语法而不致力于它的语义。在形式语言理论中,形式语言是一个字母表上的某些有限长字符串的集合。一个形式语言可以包含无限多个字符串。语言定义在某一个特定的字母表上,字母表(经常记作 Σ )可以为任意有限集合。例如集合
  
    
      
        {
        a
        ,
        b
        ,
        c
        .
        .
        .
        ,
        z
        }
      
    
    {displaystyle {a,b,c...,z}}
  
就表示所有小写字母构成的字母表。字符串是字母表中的元素构成的有穷序列,以之前定义的小写字母表为例,“hello”,“wikipedia”,“abcjkg”都是上面的串,而“AbCd”就不是上面的串了。记号 ε 表示空串——它是一个特殊的长度为0的串。直觉上,一个语言是字母表所能构成的所有串的集合的一个子集,具体来说:对于任意一个字母表,记全体长度为 n 的子串为
  
    
      
        
          Σ
          
            n
          
        
      
    
    {displaystyle Sigma ^{n}}
  
,特别的,规定
  
    
      
        
          Σ
          
            0
          
        
      
    
    {displaystyle Sigma ^{0}}
  
 为{ε},则还可以定义Σ
          
            ∗
          
        
        =
        
          Σ
          
            0
          
        
        ∪
        
          Σ
          
            1
          
        
        ∪
        ⋯
        ∪
        
          Σ
          
            n
          
        
        ∪
        ⋯
      
    
    {displaystyle Sigma ^{*}=Sigma ^{0}cup Sigma ^{1}cup cdots cup Sigma ^{n}cup cdots }Σ
          
            ∗
          
        
      
    
    {displaystyle Sigma ^{*}}
  
包含了字母表
  
    
      
        Σ
      
    
    {displaystyle Sigma }
  
所能构成的所有字符串。语言(一般记为 L )定义为
  
    
      
        
          Σ
          
            ∗
          
        
      
    
    {displaystyle Sigma ^{*}}
  
的任意子集。下面给出一些语言的例子,
  
    
      
        {
        h
        e
        l
        l
        o
        ,
        w
        o
        r
        l
        d
        }
      
    
    {displaystyle {hello,world}}
  
是一个包含两个字符串的集合,也可以被视为小写字母构成的字母表上的一个语言。而实际上研究的语言的例子则常常更为复杂,例如所有合法的C语言程序串构成的集合也可以视作ASCII上的一个语言(假定编译器只支持英文符号)。需要注意的一点是,
  
    
      
        
          Σ
          
            ∗
          
        
      
    
    {displaystyle Sigma ^{*}}
  
 的空子集 ∅ 与只包含空串的语言 {ε} 是两个不同的语言。语言间的运算就是 Σ*幂集上的运算。不像自然语言,一个形式语言作为一个集合,需要有某种明确的标准来定义一个字符串是否是它的元素。这可以通过多种方法来完成,下面将给出一些例子:如果一个形式语言的元素数目是有限的,那么可以通过枚举它的各个字符串来严格地定义它。通过形式文法来产生(参见乔姆斯基谱系)。正则表达式是一种很多编程语言和库都支持的语法,这种语法可以用于匹配符合一定条件的字符串,经常用于文本的搜索和过滤。从名称上来说,正则表达式应当是对应于正则语言的,在形式语言领域内所称的正则表达式确实如此。不过,在实际的编程语言中,很多正则表达式已经通过引入复杂的扩展,可以匹配正则表达式所不能描述的内容。形式语言中的正则表达式和一般编程语言中所称的正则表达式在语法上也有较大差异。直觉上来说,自动机消耗输入符号,并在自身的不同状态间转移,可以通过状态机消耗完整个字符串之后是否达到某些特定状态来定义一个字符串是否属于某一个语言。语言可以通过某种自动机来识别,比如图灵机、有限状态自动机。    
				相关
- DNA测序DNA测序(DNA sequencing,或译DNA定序)是指分析特定DNA片段的碱基序列,也就是腺嘌呤(A)、胸腺嘧啶(T)、胞嘧啶(C)与鸟嘌呤(G)的排列方式。快速的DNA测序方法的出现极大地推动了生物学和医
- 生物科学生物学(希腊语:βιολογία;拉丁语:biologia;德语:Biologie;法语:biologie;英语:biology)或称生物科学(biological sciences)、生命科学(英语:life sciences),是自然科学的一大门类,由经
- 生物半衰期生物半衰期(英语:Biological Half-Life)是一个物质(如代谢物、药、讯息分子、放射性核种)失去一半的药理、生理、或放射性效应所需的时间。通常这个词用来描述肝、肾或排泄过程将
- 乔治主义乔治主义是一种经济意识形态,由亨利·乔治提出。乔治主义的观点是每个人拥有他们所创造的东西,但是所有由自然而来的东西,尤其是土地,都属于全人类共有。乔治主义通常与对土地的
- 眼药水眼药水是治疗眼睛疾病的药水,其成分依作用的不同有许多种类,例如类固醇、抗生素、抗组织胺药、 β阻滞剂、非类固醇消炎止痛药等。一般眼药水为了长期保存而添加了微量的防腐
- 片剂片剂或锭剂(英语:Tablet)系指药物与辅料混合均匀后经制粒或不经制粒压制成的片状或异型片状制剂可供内服和外用,是目前临床应用最广泛的剂型之一。片剂由药物和辅料二部分组成,辅
- 孟加拉孟加拉人民共和国(孟加拉语:গণপ্রজাতন্ত্রী বাংলাদেশ,Gônôprôjatôntri Bangladesh),通称孟加拉国(বাংলাদেশ .mw-parser-output .IPA{font-fami
- 巴陶氏症候群巴陶氏症候群(Patau syndrome),又称13-三体症候群,染色体三倍体症之一,少见,患者多在出生后一年内死亡。13-三体症候群早在1657年便由丹麦医学家托马斯·巴托林发现,但其染色体性质
- 三体染色体三倍体症,又名三体综合征,是一种因为遗传基因失调而引起的染色体倍性现象,以致身体细胞分裂时,某一对染色体得到了三条,而不是正常的两条。三体综合征在不同的基因对出现,会
- 俄语俄语(俄语:ру́сский язы́к,罗马化:russkij jazyk,发音),中文也称俄文,为联合国官方语言之一。俄语属于斯拉夫语族的东斯拉夫语支,是斯拉夫语族中使用人数最多的语言,是俄
