标签:上下文 语言 上下 识别 说明 元组 总结 -- 运算
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
函数 : ::=整数、标识符、表达式、条件语句、赋值语句等组成的
程序 : := <分程序>;然后<分程序>::=[<常量说明部分> <变量说明部分>] [<过程说明部分>] <语句>
...
标签:上下文 语言 上下 识别 说明 元组 总结 -- 运算
原文地址:https://www.cnblogs.com/q1uj1e/p/11583695.html