码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-09-27 20:50:54      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:上下文   语言   上下   识别   说明   元组   总结   --   运算   

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

字母表:是元素的非空有穷集,字母表中的元素称为符号,因此字母表也称为符号集

符号串:由字母表中的符号组成的任何有穷序列称为符号串。例如A={a,b,c}上的一些符号串有a,b,c,ab,aaca。

对于文法G定于为四元组(Vn,Vt,P,S),其中Vn为非终结符集;Vt为终结集合;P为规则(a->B)的集合;S为识别符或开始符。

若有符号串v、w满足:v=yaq,w=ybq,则说v直接产生w,或说w是v的直接推导。·设G[S]是一个文法,如果符号串x是从识别符号推导出来的,即有S=>x,则称x是文法G[S]的巨型。若x仅由终结符号组成,即S=>x,x属于V,则称x为G[S]的句子。文法描述的语言是该文法一切句子的集合。

文法的类型有:0型、1型、2型、3型。

0型文法称短语文法。

1型也叫上下文有关的:若P中的每一个产生式a->B均满足|B|>=|a|,仅仅S->e。

2型也叫上下文无关的:若P中的每一个产生式a->B均满足a是一个非终结符,B属于(Vn并Vt)。

3型也叫正规文法:若P中的每一个产生式都是A->aB或A->a,其中A和B都是非终结符,a属于Vt。

描述上下文无关文法的句型推导的直观工具,即语法树,也称推导树。

如果一个文法存在某个句子对应两颗不同的语法树,则说这个文法是二义的。

令G是一个文法,S是文法的开始符号,aBq是文法G的一个句型。如果有S=>aAq且A=>B,则称B是句型aBq相对于非终结符A的短语。特别地,如果有A=>B,则称B是句型aBq相对于A->B的直接短语(也称简单短语)。一个右句型的直接短语称为该句型的句柄。

一个语言不止一个文法;一个文法对应一种语言;文法的二义性不可判定的。

----------------------------------------------------------------------------------------------------------------------

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

整数n       : n -> 0 | 1 | 2 | ... | 9

标识符i     : i ::=<字母>{<字母>|<数字>}

表达式e    :e ::=[+|-]<项>{<加减运算符><项>}

条件语句  :     ::=IF <条件> Then <语句>

赋值语句  : -> <标识符> := <表达式>

复合语句  : ::= BEGIN <语句> {;<语句>} END

函数         : ::=整数、标识符、表达式、条件语句、赋值语句等组成的

程序         : := <分程序>;然后<分程序>::=[<常量说明部分> <变量说明部分>] [<过程说明部分>] <语句>

...

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

标签:上下文   语言   上下   识别   说明   元组   总结   --   运算   

原文地址:https://www.cnblogs.com/q1uj1e/p/11583695.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!