文法和语文总结与梳理

1. 梳理第二章的内容,写一篇理解与总结。

理解:

第二章讲了文法和语言,文法是有规则的,按照给出的文法规则,编译出相应的语言。

文法描述的语言是该文法一切句子的集合。

文法有四种类型:0型语言,上下文有关语言,上下文无关语言和正规语言。

且文法也具有二义性,就是一种文法,可以用两种以上的语法树来表示,则称这个文法有二义性。

推导方式有最左和最右推导,最右推导则是规范推导。根据文法推导出来的句子,可以用语法树更直观的表达出来。

还有一个句型分析,分为短语,直接短语,句柄。

总结:学完了第二章,自己大概的了解了文法和语言,初步的学到了一些知识。但是并没有深刻的去学习,对于一些概念也是模模糊糊,只会简单的推导和画出语法树。

句型分析半知半解,对于文法的四种类型也没有完全吃透,所以总的来说,对于文法和语言,自己也就是初步的了解和认识,以及会运用一些知识去解决问题。

希望自己能够掌握这些知识点。

2. 尝试写出PL/0 语言的文法。

整数<n>::= 0|1|2|3|4.....|8|9

标识符<i>::= S\123|k7|k8|....|a19

表达式<e>::= +a|-b|/3|*2

条件语句<a>::= if<1<2> then <a+b>|if<1>2> then <a-b>

赋值语句<b>::= <10>|<a>|<2>

复合语句<c>::= begin  A { ;b}   end

函数::=

程序::=

原文地址:https://www.cnblogs.com/sskwjw/p/11577421.html

时间: 2024-10-12 11:56:23

文法和语文总结与梳理的相关文章

4.文法和语文总结与梳理

文法:文法是对语言结构定义与描述,即从形式上描述和规定语言结构,也称为语法. 字母表:元素的非空有穷集合,字母表的元素称为符号,所以字符表也称为符号集. 符号串:定义在某一字母表上 由该字母表中的符号组成的有限符号序列 同义词:句子,字 文法和语言的形式定义: 规则也称重写规则,产生式或生成式 文法类型:0型文法,上下文有关的,上下文无关的 语法树:语法分析树或分析树 语言:在某一确定字母表上的特定符号串的集合. 原文地址:https://www.cnblogs.com/fzybk/p/1157

编译原理:文法和语言总结与梳理

1. 梳理第二章的内容,写一篇理解与总结. 一. 对程序设计语言的描述从语法.语义和语用三个因素考虑: 语法:对语言结构的定义: 语义:语言的含义: 语用:从使用的角度描述语言. 形式语言理论是编译的理论基础. 二. 字母表:元素的非空有穷集合: 符号/字符:字母表中的元素: 符号串:符号的有穷序列. 三. 符号串运算: 符号串的连接:εx=xε=x: 集合的乘积:AB={xy|x∈A,y∈B}:{ε}A=A{ε}=A: 符号串的幂运算:x=abc,x^2=abcabc; 集合的幂运算 正闭包A

4.文法和语言总结与梳理

1.梳理第二章的内容,写一篇理解与总结. 第二章首先介绍了文法的相关概念以及概念的推导过程,接着介绍了符号和符号串,其中字母表的定义为元素非空有穷集合,字符串为由字母表中的符号组成的任何有穷序列.接着介绍字符串的一些运算,例如:符号串的头尾,固有头和固有尾:符号串的连接:符号串的方幂:符号串集合.文法和语言的形式定义:文法G定义为四元组(VN,VT,P,S),其中VN为非终结符,VT为终结符,P为规则(a→ß)的集合.S为识别符或开始符,不是终结符,至少有一条出现在左边. 文法的类型有四种:0型

文法和语言总结与梳理

1. 梳理第二章的内容,写一篇理解与总结. 第二章主要讲述了文法的直观概念,符号和符号串,文法和语言的形式定义,文法的类型,上下文无关语法及其语法树 句型的分析,自订向下的分析方法,自底向上的分析方法,限制文法中不得含有有害规则和多余规则,在形式语言中, 最右推导常被称为规范推导,由规范推导所得的句型称为右句型或规范句型,而且一个文法存在某个句子对应两颗 不同的语法树,则这个文法是二义的. 2. 尝试写出PL/0 语言的文法.(或者你认为比较好的语言规则) 整数n 标识符i 表达式e 条件语句

编译原理学习(5)文法和语言总结与梳理

梳理第二章的内容,写一篇理解与总结. 文法: 以有穷的集合刻画无穷的集合的一个工具.用规则来说明句子的组成结构,用来表示无穷句子的语言描述. 句子与句型: 如果符号串x是由起始符号推导出的,则称x是文法G[S]的句型. 如果x中只包含终结符,则称x是文法G[S]的句子. 文法描述的语言是该文法一切句子的集合. 四种文法: 0型文法:α→β,其中α至少包含一个非终结符. 1型文法(上下文有关文法):α→β,其中|β|≥|α|,S→ε除外. 2型文法(上下文无关文法):a→β,其中a是一个非终结符.

理解文法和语文

1.理解符号串与集合运算. L={A,B, … ,Z,a,b, … ,z} D={0,1, … ,9} 说明下表示的含义: LUD         :全部字母和数字的集合 LD        :由一个字母后跟一个数字组成的所有符号串的集合 L4         :由4个字母组成的所有符号串的集合 L*            :由字母组成的所有符号串(包括∑)的集合 D+           :由一个或若干个数字组成的所有符号串的集合 L(LUD)*  :以字母开头,后跟字母.数字组成的所有符号串

2.理解文法和语文

1.理解符号串与集合运算. L={A,B, … ,Z,a,b, … ,z} D={0,1, … ,9} 说明下表示的含义: LUD={A,B,...,Z,a,b,...,z,0,1,...,9}:           集合L与集合D的并集. LD={A0,...,A9,B0,...,B9,...,a0,...,a9,b0,...b9,...}:   在集合L中任取一个元素与集合D中的任意一个元素组合. L4={AAAA,AAAB,...,ABCZ,Aabb,...,zzzz,...}: 在集合L

编译原理之文法和语言总结与梳理

前言 一个程序设计语言是一个记号系统,如同自然语言一样,它的完整定义应包括语法和语义两个方面.所谓一个语言的语法是指一组规则,用它可以形成和产生一个合适的程序.目前广泛使用的手段是上下文无关文法,即用上下文无关文法作为程序设计语言语法的描述工具.语法只是定义什么样的符号序列是合法的,与这此符导的含义落无关系,比如对于个Pascal程序来说,一个上下文无关文法可以定义符号串A:一B+C是一个合乎语法的默值语句,而A:=B+就不是.但是,如果B是实型的,而C是布尔理的,或者B.C中任何一个变量没有事

语文文法

<程序>→<外部声明>|<程序 外部声明> <外部声明>→<函数定义>|<定义> <函数定义>→<类型 复合语句> <类型>→<无字符>|<字符型>|<整形>|<浮点型> <声明符>→<指针直接声明符>|<直接声明> <指针>→<’*’>|<’*’指针> <直接声明符>