• 作业十三自下而上语法分析


    1.已知文法:

    E→E+T | T

    T→T*F | F

    F→(E) | i

    以句柄作为可归约串,写出符号串‘i+i*i#’的"移进-归约"分析过程。

    语法树如图所示:

    1.  

    符号栈

    输入串

    动作

    #

    i+i*i#

    移进

    #i

    +i*i#

    归约

    #F

    +i*i#

    归约

    #T

    +i*i#

    归约

    #E

    +i*i#

    移进

    #E+

    i*i#

    移进

    #E+i

    *i#

    归约

    #E+F

    *i#

    归约

    #E+T

    *i#

    移进

    #E+T*

    i#

    移进

    #E+T*i

    #

    归约

    #E+T*F

    #

    归约

    #E+T

    #

    归约

    #E

    #

    接受

    2.P121练习1的(1)(2)。

    1)计算FIRSTVT和 LASTVT。

    2)找三种关系对

    3)构造算符优先关系表。

    文法:

    S->a | ^ | (T)

    T->T,S | S

    (1)

     FIRSTVT(S)={a,^,(}

     FIRSTVT(T)={, ,a,^,(}

    LASTVT(S)={a,^,)}

    LASTVT(T)={, ,a,^,)}

    (2)

    符号对 =

          (T)

          #S#

    符号对 <

          #S

          (T

          ,S

    符号对 >

          S#

    T) 

          T,

     

    (3)

     FIRSTVT(S)={a,^,(}

    符号对:

    #S

    ,S

     FIRSTVT(T)={, ,a,^,(}

    符号对:

    (T

    LASTVT(S)={a,^,)}

    符号对:

    S#

    LASTVT(T)={, ,a,^,)}

    T) 

    T,

     

    a

    ^

    (

    )

    ,

    #

    a

     

     

     

     >

    ^

     

     

     

     >

    (

    =

     

    )

     

     

     

     >

    ,

     

    #

     

     

    =

     

     

     

  • 相关阅读:
    poj 2253
    POJ 3273
    python基本运算符
    python基本数据类型以及常量变量
    pycharm的快捷键
    计算机基础
    day100 scrapy请求传参 中间件 去重规则 分布式爬虫
    day99 爬虫 scrapy介绍 结构介绍
    day98 爬虫 selenium
    day97 爬虫bs4
  • 原文地址:https://www.cnblogs.com/chock/p/11995351.html
Copyright © 2020-2023  润新知