语法树、短语、直接短语、句柄、素短语、最左素短语

乘积        

设A和B是符号串的集合,则A和B的乘积定义为        

AB = {xy | x∈A and y∈B}。        

eg:若A={a,b},B={b,c},则AB = {ab,ac,bb,bc}。        

对任意符号串集合A,有{ε}A = A{ε} = A。

 

幂运算        

设A是符号串的集合,则A的幂运算定义为        

A0 = {ε}         A1 = A         An = AAn-1(n>0)        

eg:若A={0,1},则A0={ε},A1={0,1},A2={00,01,10,11}。

4)正闭包与闭包        

设A是符号串的集合,则集合A的正闭包A+和闭包A*定义为        

A+ = A1∪A2∪…∪An∪…        

A* = A0∪A1∪…∪An∪…        

eg:若A={0,1},则A+={0,1,00,01,10,11,000,001,…},A*={ε,0,1,00,01,10,11,000,001,…}。

推导:

若存在一个直接推导序列:α0⇒α1⇒α2⇒…⇒αn,则称这个序列是一个从α0至αn的长度为n的推导。        

当n>0时,α0至αn的推导记为α0 ⇒+ αn,表示从α0出发,经过1步或者若干步可推导出αn。        

当n≥0时,α0至αn的推导记为α0 ⇒* αn,表示从α0出发,经过0步或者若干步可推导出αn。

句型和句子 设有文法G[Z],Z是文法G的开始符号。    

1)句型:若Z ⇒* x,x∈(VN∪VT)*,则称符号串x为文法G[Z]的句型。    

2)句子:若Z ⇒* x,x∈VT*,则称符号串x为文法G[Z]的句子。    

3)句子一定是句型,句型不一定是句子。

 

语言
    1)定义:文法G[Z]产生的所有句子的集合称为文法G所定义的语言,记为L(G[Z]),简写为L(G)。L(G)={x| Z ⇒+ x且x∈VT*}。
    2)语言L(G)是VT*的子集。

 

文法递归    

1)定义:对于文法中的任一非终结符,若能建立一个推导过程,在推导所得的符号串中又出现该终结符本身,则称文法是递归的。    

2)种类:左递归、右递归、递归。    

3)左递归:A ⇒+ A…    

4)右递归:A ⇒+ …A    

5)递归:A ⇒+ …A…

原文链接:https://blog.csdn.net/qq_38428886/article/details/93197490

1. 根据句型画语法推导树【对句型的推导】。
2. 判断短语:短语是语法推导树中每一个非叶子节点作为根的子树,从左到右的叶子节点。注意:短语可以是非终结符。
3. 判断直接短语:直接短语在短语中找,它们作为子树的叶子节点,根节点必须是它们所有节点的父亲节点。
4. 判断句柄:最左直接短语。


5. 判断素短语:素短语递归定义,满足三个条件:
    ① 素短语是短语。
    ② 素短语中必须包含至少一个终结符。
    ③ 素短语中不能包含其它素短语。
6. 最左素短语:在语法推导树中最靠左的素短语。


原文链接:https://blog.csdn.net/LeeDuoZuiShuai/article/details/104882488

posted @ 2021-06-26 12:38  cai的一批  阅读(1008)  评论(0编辑  收藏  举报