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

    1.已知文法:

    E→E+T | T

    T→T*F | F

    F→(E) | i

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

    符号栈

    输入串

    动作

    #

    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)。

    S -> a | ^ | (T)

    T -> T , S | S

    1)计算FIRSTVT和 LASTVT。

    A= # S #

    S -> a | ^ | (T)

    T -> T , S | S

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

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

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

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

    2)找三种关系对。

    关系对=

    #S#

    (T)

    关系对<

    # S

    (T

    ,S

    关系对>

    S #

    T)

    T,

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

     

    a

    ^

    (

    )

    ,

    #

    a

     

     

     

     >

    ^

     

     

     

     >

    (

     <

    =

     <

     

    )

     

     

     

    ,

    <

    <

    <

    >

     

    #

    <

    <

    <

     

     

    =

  • 相关阅读:
    DOM节点类型
    javascript中的变量、作用域
    this 不同情况指代的对象
    BOM对象节点
    浏览器兼容性
    总结
    javascript事件流讲解和实例应用
    7.20
    7.16总结
    飞机大战
  • 原文地址:https://www.cnblogs.com/lychee2333/p/11981915.html
Copyright © 2011-2022 走看看