zoukankan      html  css  js  c++  java
  • 第十三次作业——自下而上语法分析

    1.已知文法:

    E→E+T | T

    T→T*F | F

    F→(E) | i

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

    知识点:

    Firstvt
    找Firstvt的三条规则:如果要找A的Firstvt,A的候选式中出现:
               A->a.......,即以终结符开头,该终结符入Firstvt
               A->B.......,即以非终结符开头,该非终结符的Firstvt入A的Firstvt
               A->Ba.....,即先以非终结符开头,紧跟终结符,则终结符入Firstvt

    Lastvt
    找Lastvt的三条规则:如果要找A的Lastvt,A的候选式中出现:
               A->.......a,即以终结符结尾,该终结符入Lastvt
               A->.......B,即以非终结符结尾,该非终结符的Lastvt入A的Lastvt
               A->.....aB,即先以非终结符结尾,前面是终结符,则终结符入Firstvt

    1)求FIRSTVT和LASTVT 

     FIRSTVT(E) = {+,*,(,i}

     FIRSTVT(T) = {*,(,i}

     FIRSTVT(F) = {(,i}

     LASTVT(E) = {+,*,),i} 

     LASTVT(T) = {*,),i}

     LASTVT(F) = {),i}

     2)符号对:

    =

    (E)

    <

    +T

    *F

    (E

    >

    E+

    T*

    E)

    3)优先关系表的构造

     

    +

    *

    (

    )

    i

    +

    *

    (

    =

    )

     

     

    i

     

     


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

    E→#S#

    S→a|^|(T)

    T→T,S|S

    1)计算FIRSTVT和 LASTVT。

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

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

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

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

    2)找三种关系对。

    =

    #S#

    (T)

    <

    #S

    (T

    ,S

    >

    S#

    T)

    T,

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

     

    ^

    ,

    (

    )

    a

    #

    ^

     

    >

     

     >

     

    >

    ,

    <

    >

    <

     >

     <

     

    (

    =

     

    )

     

    >

     

     >

     

    >

    a

     

    >

     

     >

     

    >

    #

    <

     

    <

     

    <

    =

  • 相关阅读:
    HTML 5 视频/音频
    vue 未完待续
    asp.net中使用log4net
    图片预加载:jquery 图片预加载功能,可以实现先模糊在清晰的显示
    IIS配置PHP环境
    学习ASP.Net的过滤器
    最好用的jQuery插件,240多个,绝对的JQUERY插件库
    Windows7&IIS7.5部署Discuz全攻略
    AjaxPro使用
    ASP.NET XML读取、增加、修改和删除操作
  • 原文地址:https://www.cnblogs.com/lxml/p/11975763.html
Copyright © 2011-2022 走看看