第二章 形式语言与文法1
- 格式:ppt
- 大小:268.50 KB
- 文档页数:4
离散数学中形式语言与文法概述形式语言是离散数学中的一个重要概念,它是人类用来描述和表达信息的工具之一。
形式语言以一定的规则来定义,这些规则被称为文法。
文法是描述形式语言语法规则的一种形式化的表示方式。
一、形式语言的定义与分类形式语言是由字母表中的符号构成的符号串的集合。
其中,字母表指的是一个有限的符号集合,符号串则是字母表中符号的有限序列。
形式语言可以分为三类:自然语言、形式语言和编程语言。
自然语言是人类普遍使用的语言,如中文、英文等;形式语言是为了解决特定问题而设计的语言,如科学符号、化学式等;编程语言是计算机执行特定任务的语言,如C语言、Java等。
二、文法的定义与要素文法是形式语言的形式化表示方式,它定义了形式语言中有效的字符串集合。
文法由四个要素组成:终结符、非终结符、产生式和开始符号。
1. 终结符:属于字母表的符号,也可以是一些保留字符。
它们是形式语言中不能再进行推导的符号。
2. 非终结符:用于描述形式语言中的各个构成成分,可以推导出终结符或其他非终结符序列的符号。
3. 产生式:一条产生式表示一个规则,用于定义非终结符如何推导终结符或其他非终结符序列。
4. 开始符号:表示整个文法推导的起始非终结符。
三、文法的分类根据文法的规则和产生式的形式,文法可分为四种类型:0型文法(无约束文法)、1型文法(上下文相关文法)、2型文法(上下文无关文法)和3型文法(正规文法)。
这些文法的特点如下:- 0型文法:产生式的左边和右边没有任何形式上的限制。
- 1型文法:产生式的左边可以是任意符号串,右边也可以是任意符号串。
但产生式的推导必须满足上下文相关的限制。
- 2型文法:产生式的左边只能是单个非终结符,右边可以是终结符和非终结符的任意组合。
- 3型文法:产生式的左边只能是单个非终结符,右边只能是终结符和一个非终结符的组合。
四、文法的应用文法在计算机科学和语言学等领域有广泛的应用。
其中,上下文无关文法(2型文法)被广泛应用于编译器设计的语法分析阶段。
《编译原理》第2章文法和语言的形式定义编译原理是计算机科学中的一门重要课程,它研究的是将高级程序语言翻译成机器语言的方法和技术。
在编译原理中,文法和语言的形式定义是非常重要的概念,本文将围绕这个主题展开详细的讨论。
第2章《文法和语言的形式定义》主要介绍文法和语言的概念、应用及其形式定义的方法。
文法是描述语言结构和语法规则的形式化产物,而语言则是文法所描述的符号集合。
在编译原理中,我们需要通过形式定义的方式来描述和理解程序语言的结构和规则。
下面将对文法和语言的形式定义进行详细解释。
1.文法的定义文法是由产生式(Production)组成的四元组(G,N,P,S),其中:-G:表示文法-N:表示非终结符集合,即一组可以推导出或展开的符号。
-T:表示终结符集合,即不再进行推导或展开的符号。
-P:表示产生式规则集合,是一组指定如何生成目标符号串的规则。
-S:表示一个特殊的非终结符,称为开始符号或起始符号,表示文法的初始状态。
文法的定义可以采用两种形式:巴科斯-诺尔范式(Backus-Naur Form,BNF)和扩充背景文法表达式(Extended Backus-Naur Form,EBNF)。
BNF是最常用的文法定义方法,它使用产生式规则来描述语言的结构和规则。
2.产生式的定义产生式规定了如何用一个符号串替换或展开另一个符号串。
一个产生式由一个非终结符和一个由非终结符和终结符组成的字符串组成。
例如,产生式A->BC,表示用符号串BC替换非终结符A。
产生式可以有多个产生式体,每个产生式体之间使用“,”符号分隔。
例如,产生式A->B,C,表示非终结符A可以被替换成非终结符B或C。
产生式体中可以使用如下符号:-终结符:表示语法中不再与其他符号进行推导的符号,如数字、运算符、关键字等。
-非终结符:表示语法中可以被进一步推导的符号。
-空串:表示不产生任何字符的特殊终结符。
-ε:表示空串。
3.语言的定义语言是符合一些特定文法规则的所有符号串的集合。
第二章文法和形式语言《编译原理》课程组计算机工程学院第二章文法和形式语言2.1 文法的直观概念2.2 符号和符号串2.3 文法和语言的形式定义2.4 文法的类型2.5 上下文无关文法机器语法树2.6 句型分析2.7 文法的实用限制第2章文法和语言【学习目标】本章目的是为语言的语法描述寻求工具◇掌握对源程序给出精确无二义(严谨、简洁、易读)的语法描述手段之一——文法。
◇对形式语言的理论有一个初步基础◇根据语言文法的特点指导语法分析的过程本章将讨论词法分析程序的设计原则,单词的描述技术,识别机制及词法分析程序的自动构造原理。
第2章文法和语言【教学重点】概念:文法,推导,直接推导,最左(右)推导,产生式,句型,短语,直接短语,句柄,语法树,规范推导,二义文法等4种文法的定义、文法的构造和文法的推导语法树的构造和最左(右)推导;二义文法、二义性的证明;句型分析;2.1 文法的直观概念一、语言概述语言是由符合语法的句子组成的集合。
–汉语-- 所有符合汉语语法的句子的全体–英语-- 所有符合英语语法的句子的全体–程序设计语言-- 所有该语言的程序的全体每个句子构成的规律研究语言每个句子的含义每个句子和使用者的关系一、语言概述(续1)研究程序设计语言每个程序构成的规律每个程序的含义每个程序和使用者的关系语言研究的三个方面语法Syntax语义Semantics语用Pragmatics一、语言概述(续2)语法:指语言的一组规则,用它可以形成和产生一个合适的程序。
–如何由基本字符构成一个个单词;–如何由一系列单词构成程序语法只定义什么样的符号序列是合法的,而不表达这些符号及符号序列的含义 语义:明确程序各部分的含义–静态语义:由一系列限定规则组成,并确定哪些合乎语法的程序是合适的;–动态语义:表明程序要做些什么,要计算什么一、语言概述(续3)形式语言:只考虑语法而不考虑语义的符号语言。
每种语言具有两个可识别的特性,–语言的形式–该形式相关联的意义“形式”是指这样的事实:语言的所有规则只以什么符号串能出现的方式来陈述。