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


    乘积        

    设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

  • 相关阅读:
    函数递归,匿名函数
    生成器
    迭代器
    有参函数(认证功能)
    闭包函数和装饰器
    文件处理
    Celery介绍
    Redis 介绍
    GIT知识点
    前后端分离-前端配置
  • 原文地址:https://www.cnblogs.com/whcai/p/14933979.html
Copyright © 2020-2023  润新知