`
deepfuture
  • 浏览: 4397979 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80054
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:69999
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103290
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:285630
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15001
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67494
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32099
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45965
社区版块
存档分类
最新评论

上下文无关文法

 
阅读更多

1、上下文无关文法又称CFG。许多CFG由几个较简单的CFG合并起来。可以先构造每个部分的CFG,比如:S1,S2,S3.......,Sk。然后加入新的规则S->S1|S2|....|Sk

2、例如:构造语言{0^n 1^n|n>=0}∪{1^n0^n|n>=0}的CFG,
1)构造{0^n 1^n|n>=0}
S1->0 S1 1|ε
2){1^n 0^n|n>=0}
S2->1 S2 0|ε
3)整合
S->S1|S2
3、如果语言是正则的,可以构造它的DFA,再由DFA转换成CFG。转换方法如下:
1)对于DFA的每个状态Qi,设一个变元Ri。如果δ(Qi,a)=Qj是DFA中的一个转移,则把规则Ri->aRj加入到CFG中。
2)如果Qi是DFA的接受(终止)状态,则把规则Ri->ε加入到DFG中。
3)设Q0为DFA的起始状态,R0为CFG的起始变元。
4、如果CFG中的字符串,有两个相对应的子串,则可使用R->uRv之类的,u对应于v
5、如果字符串有种结构,该结构递归地作为另一种结构的一部分出现,则将生成这种结构的变元放在规则中对应的可能递归出现这种结构的地方。
上下文无关文法是一个4元组(V,∑,R,S),其中:
1)V是一个有穷集合,称为变元集
2)∑是一个与V不相交的有穷集合,称为终结符集
3)R是一个有穷的规则集,每一条规则由一个变元、一个箭头、一个由变元和终结符组成的字符串。
4)S∈V是起始变元。
如G=({S},{a,b},R,S),其中R为
S->aSb|SS|ε
该文法产生abab,aaabbb,aababb等字符串。
分享到:
评论

相关推荐

    snl上下文无关文法

    SNL 上下文无关文法是一种形式文法,用于描述 SNL 语言的语法结构。该文法包含 104 条生产规则,定义了 SNL 语言的程序结构、类型声明、变量声明、过程声明、参数声明、过程体、语句序列等方面的语法规则。 程序...

    上下文无关文法转化识别程序

    在计算机科学中,特别是编译器设计领域,上下文无关文法被广泛用来描述编程语言的语法结构。上下文无关文法通常由一组产生式规则构成,这些规则定义了如何通过非终结符和终结符生成语言中的句子。 转换上下文无关...

    上下文无关文法 求first集合

    在编译原理中,上下文无关文法(Context-Free Grammar,CFG)是一种重要的形式语言理论,它为编程语言的语法分析提供了理论基础。本篇将详细探讨如何求解上下文无关文法的First集合,这对于理解和实现LL(1)文法的解析...

    计算理论-上下文无关文法

    上下文无关文法是一种形式文法,用于描述程序设计语言的语法结构。它是计算理论中的一种重要概念,在计算机科学和语言学中有着广泛的应用。 上下文无关文法的定义: 上下文无关文法可以定义为一个四元组 G = (V, ...

    编译原理第二章 上下文无关文法

    上下文无关文法在描述编程语言的语法结构时起着核心作用,它是一种形式规则,用来精确地表述语言的有穷说明。这种文法的特点在于其定义的语法范畴独立于它们可能出现的上下文环境。 1. **上下文无关文法的定义**: ...

    第2章 上下文无关文法

    本章聚焦于上下文无关文法(Context-Free Grammar, CFG),这是一种用于形式地描述编程语言语法结构的方法。通过对文法的深入理解,我们可以构建语法分析器,这是编译器的关键组成部分,负责解析源代码并验证其语法...

    论文研究-模糊上下文无关文法的Chomsky范式和Greibach范式.pdf

    论文研究-模糊上下文无关文法的Chomsky范式和Greibach范式.pdf, 模糊上下文无关文法的提出和研究成果,极大地丰富了形式语言理论.模糊上下文无关文法的规范化问题是其...

    第二章上下文无关文法

    上下文无关文法概述 下推自动机 非上下文无关语言 上下文无关文法的重要性如下 表达能力强大足于表示大多数程序设计语言语法 可以构造有效的分析算法以检验一个给定的字符串是否由某个上下文无关文法产生

    计算机理论导引实验报告2-上下文无关文法(CFG).doc

    计算机理论导引实验报告2-上下文无关文法(CFG).doc

    上下文无关文法中求出导空符

    求上下文无关文法中求出导空符,运用c语言程序来编写其源代码。

    LR(0)123.cpp上下文无关文法

    用到DFA有穷自动机的建立 构建识别活前缀的DFA利用项目集和状态转换函数建立LR(0)分析表 上下文无关文法测试 E->aA E->bB A->cA A->d B->cB B->d #

    形式语言与自动机:第二讲 上下文无关文法与上下文无关语言

    形式语言与自动机第二讲 上下文无关文法与上下文无关语言 在形式语言理论中,上下文无关文法(Context-Free Grammar,CFG)是一种重要的文法类型。上下文无关文法的基本概念是指文法的四个要素:终结符的集合、非...

    网络游戏-基于递归神经网络和概率上下文无关文法的密码生成系统.zip

    网络游戏-基于递归神经网络和概率上下文无关文法的密码生成系统.zip

    形式语言与自动机:第二讲 上下文无关文法与上下文无关语言.pdf

    《形式语言与自动机》第二讲主要探讨了上下文无关文法(Context-Free Grammar, CFG)和上下文无关语言(Context-Free Language)。上下文无关文法是计算机科学中描述语言结构的重要工具,广泛应用于编译原理、形式...

    编译原理-西安交通大学3_上下文无关文法.ppt

    本篇内容聚焦于上下文无关文法(Context-Free Grammar,简称CFG),这是描述程序语言语法结构的重要工具。 一、文法的描述与要求 文法是用来形式化描述语言语法结构的规则集合。理想的文法应该具备以下特点: 1. ...

    VC+bison+flex写的验证上下文无关文法表达正规式的正确性

    在编程领域,上下文无关文法(Context-Free Grammar, CFG)和正规式(Regular Expression, RE)是描述语言结构的两种重要工具。本项目“VC+bison+flex写的验证上下文无关文法表达正规式的正确性”是一个使用C++语言...

    形式语言与自动机:第八讲 上下文无关文法-下推自动机

    首先,下推自动机是从上下文无关文法构造出来的等价模型,主要用于进行自顶向下的语法分析。在语法分析的基本问题中,我们需要判断对于给定的上下文无关文法G和输入字符串w,w是否属于文法G定义的语言L(G)。如果属于...

    ACFG上下文无关文法判定动态规划

    上下文无关文法判定的动态规划实现程序,按照ACM编程提交方案编写main函数。

Global site tag (gtag.js) - Google Analytics