zoukankan      html  css  js  c++  java
  • 作业13 自下而上语法分析

    1.已知文法:

    E→E+T | T

    T→T*F | F

    F→(E) | i

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

     答:该符号串‘i+i*i#‘的语法树如下:

      

       符号串‘i+i*i#’的"移进-归约"分析过程如下:

      

    步骤

    符号栈

    输入符号串

    动作

    (1)

    #

    i+i*i#

    移进

    (2)

    #i

    +i*i#

    归约

    (3)

    #F

    +i*i#

    归约

    (4)

    #T

    +i*i#

    归约

    (5)

    #E

    +i*i#

    移进

    (6)

    #E+

    i*i#

    移进

    (7)

    #E+i

    *i#

    归约

    (8)

    #E+F

    *i#

    归约

    (9)

    #E+T

    *i#

    移进

    (10)

    #E+T*

    i#

    移进

    (11)

    #E+T*i

    #

    归约

    (12)

    #E+T*F

    #

    归约

    (13)

    #E+T

    #

    归约

    (14)

    #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)构造算符优先关系表

      

     

    a

    ^

    (

    )

    ,

    #

    a

     

     

     

     >

    ^

     

     

     

     >

    (

    =

     

    )

     

     

     

     >

    ,

     

    #

     

     

    =

  • 相关阅读:
    day006 数字类型和字符串类型的内置方法
    awk技巧 nginx access.log
    测试访问速度
    ELK Deployed
    jenkins权限控制
    linux 系统优化
    nginx 刷新显示404
    虚拟机安装的ubutun全屏
    在线生成二维码
    GIT 命令集
  • 原文地址:https://www.cnblogs.com/hs01/p/11980637.html
Copyright © 2011-2022 走看看