• 自下而上语法分析


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

    1)计算FIRSTVT和 LASTVT。

    2)找三种关系对。

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

    (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

     

     

    >

     

    ^

     

     

    >

     

    ,

    <

    <

    >

    <

    >

     

    (

    <

    =

     

    )

     

     

    >

     

    #

     

     

    =

     

  • 相关阅读:
    MAC使用小技巧(一)
    开发者:网站 & SDK
    编译 & 预处理
    归并排序 & 快速排序
    算法 & 分析 (收集)
    栈 & 堆 |--> 内存管理
    [ 单例、代理 & 通知 ]
    博客园:CSS & HTML
    比较、字符串
    Swift # 异常处理
  • 原文地址:https://www.cnblogs.com/Gidupar/p/11997489.html
Copyright © 2020-2023  润新知