徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

形式文法

指数 形式文法

在计算机科学中,形式语言是:某个字母表上,一些有限长字串的集合,而形式文法是描述这个集合的一种方法。形式文法之所以这样命名,是因为它与人类自然语言中的文法相似的缘故。 形式文法描述形式语言的基本想法是,从一个特殊的初始符号出发,不断的应用一些产生式规则,从而生成出一个字串的集合。产生式规则指定了某些符号组合如何被另外一些符号组合替换。举例来说,假设字母表只包含'a'和'b'两个字符,初始符号是'S',我们应用下述规则: 于是我们可以通过把"S"重写为"aSb"(规则1),我们还可以继续应用这条规则把"aSb"重写为"aaSbb"。这个重写的过程不断重复,直到结果中只包含字母表中的字母为止。在例子中,我们可以得到S -> aSb -> aaSbb -> aababb这样的结果。由文法刻画的语言,包含了所有可以这样产生的字串,比如ba, abab, aababb, aaababbb等等。.

19 关系: 多元组字符串字母表 (计算机科学)巴科斯范式上下文有关文法上下文无关语言上下文无关文法乔姆斯基谱系形式语言计算机科学诺姆·乔姆斯基递归可枚举语言L系統LL剖析器LR剖析器正则语言正则文法文法无限制文法

多元组

多元組泛指有限個元素所組成的序列。在數學上及計算機科學上分別有其特殊的意義。 数学上,n元组或多元组是对象个数有限的序列。元组由三部分组成:边界符、分隔符和元素。通常采用的边界符是小括号“(\)”,分隔符是逗号。 多元组被数学家用来描述包含特定部件的数学对象。例如,有向图被定义成一个二元组(V, E),这里V是节点的集合,E是V × V的子集,表示边。 在類型論中,多元組與重類別相關。.

新!!: 形式文法和多元组 · 查看更多 »

字符串

字符串(String),是由零个或多个字符组成的有限序列。一般记为s.

新!!: 形式文法和字符串 · 查看更多 »

字母表 (计算机科学)

在计算机科学中,字母表是字符或数字的有限集合。最常见的字母表是二元字母表。有限字符串是来自字母表的字符的有限序列;例如二元字符串是来自字母表的字符构成的字符串。字符的无限序列也可以用来自一个字母表的元素来构造。 给定一个字母表\Sigma,我们写\Sigma^*来指示在字母表\Sigma上的所有有限字符串的集合。这里的^*指示Kleene星号算子。我们写\Sigma^\infty(偶尔\Sigma^\N或\Sigma^\omega)来指示在字母表\Sigma上的所有无限序列的集合。 例如,如果我们使用二元字母表,则字符串ε, 0, 1, 00, 01, 10, 11, 000,等都将在这个字母表的Kleene闭包中(这里的ε表示空串)。 字母表在形式语言、自动机和半自动机理论中是重要。自动机如确定有限状态自动机(DFA)要求在形式定义中有字母表。.

新!!: 形式文法和字母表 (计算机科学) · 查看更多 »

巴科斯范式

巴科斯范式(Backus Normal Form,縮寫為 BNF),又称为巴科斯-诺尔范式(Backus-Naur Form,縮寫同樣為 BNF,也譯为巴科斯-瑙尔范式、巴克斯-诺尔范式),是一种用于表示上下文无关文法的语言,上下文无关文法描述了一类形式语言。它是由约翰·巴科斯(John Backus)和彼得·诺尔(Peter Naur)首先引入的用来描述计算机语言语法的符号集。 尽管巴科斯范式也能表示一部分自然语言的语法,它还是更广泛地使用于程序设计语言、指令集、通信协议的语法表示中。大多数程序设计语言或者形式语义方面的教科书都采用巴科斯范式。在各种文献中还存在巴科斯范式的一些变体,如扩展巴科斯范式 EBNF 或扩充巴科斯范式 ABNF。.

新!!: 形式文法和巴科斯范式 · 查看更多 »

上下文有关文法

上下文有关文法(CSG,context-sensitive grammar)是一種形式文法,其中任何产生式规则的左手端和右手端都可以被终结符和非终结符構成的上下文所围绕。上下文有关文法比上下文无关文法更一般性,但仍足够有秩序得可以被线性有界自动机所解析。 上下文有关文法的概念是诺姆·乔姆斯基在1950年代介入的,被作为描述自然语言的语法的一种方式,在自然语言中一个单词是否可以出现在特定位置上,要依赖于上下文。可以被上下文有关文法描述的形式语言叫做上下文有关语言。.

新!!: 形式文法和上下文有关文法 · 查看更多 »

上下文无关语言

上下文无关语言是可以用上下文无关文法定义的形式语言。所有上下文无关语言的集合同一于下推自动机所接受的语言的集合。.

新!!: 形式文法和上下文无关语言 · 查看更多 »

上下文无关文法

上下文无关文法(context-free grammar,縮寫為CFG),在计算机科学中,若一个形式文法 G.

新!!: 形式文法和上下文无关文法 · 查看更多 »

乔姆斯基谱系

乔姆斯基体系是计算机科学中刻画形式文法表达能力的一个分类谱系,是由诺姆·乔姆斯基于1956年提出的。它包括四个层次:.

新!!: 形式文法和乔姆斯基谱系 · 查看更多 »

形式语言

在数学、逻辑和计算机科学中,形式语言(Formal language)是用精确的数学或机器可处理的公式定义的语言。 如语言学中语言一样,形式语言一般有两个方面: 语法和语义。专门研究语言的语法的数学和计算机科学分支叫做形式语言理论,它只研究语言的语法而不致力于它的语义。在形式语言理论中,形式语言是一个字母表上的某些有限长字符串的集合。一个形式语言可以包含无限多个字符串。.

新!!: 形式文法和形式语言 · 查看更多 »

计算机科学

计算机科学用于解决信息与计算的理论基础,以及实现和应用它们的实用技术。 计算机科学(computer science,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何与应用的实用技术的学科。 它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学;而有些是探討计算问题的性质,比如计算复杂性理论;还有一些领域專注于怎样实现计算,比如程式語言理論是研究描述计算的方法,而程式设计是应用特定的程式語言解决特定的计算问题,人机交互则是專注于怎样使计算机和计算变得有用、好用,以及随时随地为人所用。 有时公众会误以为计算机科学就是解决计算机问题的事业(比如信息技术),或者只是与使用计算机的经验有关,如玩游戏、上网或者文字处理。其实计算机科学所关注的,不仅仅是去理解实现类似游戏、浏览器这些软件的程序的性质,更要通过现有的知识创造新的程序或者改进已有的程序。 尽管计算机科学(computer science)的名字里包含计算机这几个字,但实际上计算机科学相当数量的领域都不涉及计算机本身的研究。因此,一些新的名字被提议出来。某些重点大学的院系倾向于术语计算科学(computing science),以精确强调两者之间的不同。丹麦科学家Peter Naur建议使用术语"datalogy",以反映这一事实,即科学学科是围绕着数据和数据处理,而不一定要涉及计算机。第一个使用这个术语的科学机构是哥本哈根大学Datalogy学院,该学院成立于1969年,Peter Naur便是第一任教授。这个术语主要被用于北欧国家。同时,在计算技术发展初期,《ACM通讯》建议了一些针对计算领域从业人员的术语:turingineer,turologist,flow-charts-man,applied meta-mathematician及applied epistemologist。 三个月后在同样的期刊上,comptologist被提出,第二年又变成了hypologist。 术语computics也曾经被提议过。在欧洲大陆,起源于信息(information)和数学或者自动(automatic)的名字比起源于计算机或者计算(computation)更常见,如informatique(法语),Informatik(德语),informatika(斯拉夫语族)。 著名计算机科学家Edsger Dijkstra曾经指出:“计算机科学并不只是关于计算机,就像天文学并不只是关于望远镜一样。”("Computer science is no more about computers than astronomy is about telescopes.")设计、部署计算机和计算机系统通常被认为是非计算机科学学科的领域。例如,研究计算机硬件被看作是计算机工程的一部分,而对于商业计算机系统的研究和部署被称为信息技术或者信息系统。然而,现如今也越来越多地融合了各类计算机相关学科的思想。计算机科学研究也经常与其它学科交叉,比如心理学,认知科学,语言学,数学,物理学,统计学和经济学。 计算机科学被认为比其它科学学科与数学的联系更加密切,一些观察者说计算就是一门数学科学。 早期计算机科学受数学研究成果的影响很大,如Kurt Gödel和Alan Turing,这两个领域在某些学科,例如数理逻辑、范畴论、域理论和代数,也不断有有益的思想交流。.

新!!: 形式文法和计算机科学 · 查看更多 »

诺姆·乔姆斯基

艾弗拉姆·诺姆·乔姆斯基(Avram Noam Chomsky,),或譯作“荷姆斯基”,美國哲學家、語言學家、認知學家、邏輯學家、政治評論家。乔姆斯基是麻省理工学院语言学的荣誉退休教授,他的生成语法被认为是20世纪理论语言学研究上的重要贡献。他對伯尔赫斯·弗雷德里克·斯金纳所著《口語行为》的評論,也有助於发动心理学的认知革命,挑战1950年代研究人類行為和语言方式中占主导地位的行为主义。他所採用以自然為本來研究语言的方法也大大地影響了语言和心智的哲学研究。他的另一大成就是建立了乔姆斯基层级:根据文法生成力不同而对形式语言做的分类。乔姆斯基还因他对政治的热忱而著名,尤其是他对美国和其它国家政府的批评。從1960年評論越南戰爭以來,他的媒體和政治評論便越來越著名。一般认为他是活跃在美国政坛左派的主要知识分子。乔姆斯基把自己归为自由意志社會主義者,并且是无政府工团主义的同情者。据艺术和人文引文索引说,在1980年到1992年,乔姆斯基是被文献引用数最多的健在学者,并是有史以来被引用数第八多的學者。.

新!!: 形式文法和诺姆·乔姆斯基 · 查看更多 »

递归可枚举语言

在数学、逻辑和计算机科学中,递归可枚举语言是也叫做部分可判定语言或图灵可识别语言的形式语言类型。它在形式语言的乔姆斯基层级中叫做类型-0语言。所有递归可枚举语言的类叫做RE。.

新!!: 形式文法和递归可枚举语言 · 查看更多 »

L系統

Lindenmayer系統,簡稱L系統,是由荷兰Utrecht大学的生物学和植物学家,匈牙利裔的林登麦伊尔(Aristid Lindenmayer)於1968年提出的有关生长发展中的细胞交互作用的数学模型,尤其被廣泛應用於植物生長過程的研究。 L-system是一系列不同形式的正规语法规则,多被用于植物生长过程建模,但是也被用于模拟各种生物体的形态。L-system也能用于生成自相似的分形,例如迭代函数系统。.

新!!: 形式文法和L系統 · 查看更多 »

LL剖析器

LL分析器是一种处理某些上下文无关文法的自顶向下分析器。因为它从左(Left)到右处理输入,再对句型执行'''最左推导'''出语法树(Left derivation,相对于LR分析器)。能以此方法分析的文法称为LL 文法。 本文中将讨论表格驱动的分析器,而非通常由手工打造(非绝对,参看如ANTLR等的 LL(*) 递归下降分析器生成器)的递归下降分析器。 一个 LL 分析器若被称为 LL(k) 分析器,表示它使用 k 个词法单元作向前探查。对于某个文法,若存在一个分析器可以在不用回溯法进行回溯的情况下处理该文法,则称该文法为 LL(k) 文法。这些文法中,较严格的 LL(1) 文法相当受欢迎,因为它的分析器只需多看一个词法单元就可以产生分析结果。那些需要很大的 k 才能产生分析结果的编程语言,在分析时的要求也比较高。.

新!!: 形式文法和LL剖析器 · 查看更多 »

LR剖析器

LR剖析器是一種由下而上(bottom-up)的上下文無關語法剖析器。LR意指由左(Left)至右處理輸入字串,並以最右邊優先衍生(Right derivation)的推導順序(相對於LL剖析器)建構語法樹。能以此方式剖析的語法稱為LR語法。而在LR(k)這樣的名稱中,k代表的是剖析時所需前瞻符號(lookahead symbol)的數量,也就是除了目前處理到的輸入符號之外,還得再向右參照幾個符號之意;省略 (k)時即視為LR(1),而非LR(0)。 由於LR剖析器嘗試由剖析樹的葉節點開始,向上一層層透過文法規則的化簡,最後规约回到樹的根部(起始符號),所以它是一種由下而上的剖析方法。許多程式語言使用LR(1)描述文法,因此許多編譯器都使用LR剖析器分析原始碼的文法結構。LR剖析的優點如下:.

新!!: 形式文法和LR剖析器 · 查看更多 »

正则语言

正规语言又称正则语言是满足下述相互等价的一组条件的一类形式语言:.

新!!: 形式文法和正则语言 · 查看更多 »

正则文法

在计算机科学中,正规文法是产生式规则取下述形式的一种形式文法(N, Σ, P, S):.

新!!: 形式文法和正则文法 · 查看更多 »

文法

文法即文章的書寫法規,一般用來指以文字、詞語、短句、句子編排而成的完整語句和文章的合理性組織。.

新!!: 形式文法和文法 · 查看更多 »

无限制文法

在形式语言理论中,无限制文法是对文法的产生式左右两侧都没有限制的形式文法。这是乔姆斯基层级中最一般性的文法类,它们可以识别任意的递归可枚举语言。.

新!!: 形式文法和无限制文法 · 查看更多 »

重定向到这里:

形式語法形式语法

传出传入
嘿!我们在Facebook上吧! »