zoukankan      html  css  js  c++  java
  • 作业十四

    1. 已知算符优先关系矩阵如下表:

     

    +

    *

    i

    (

    )

    #

    +

    *

    i

     

     

    (

    =

     

    )

     

     

    #

     

    =

     写出符号串(i+i)*i#的算符优先分析过程。

    关系

    输入串

    动作

    1

    #

    (i+i)*i#

    移近

    #(

    i+i)*i#

    移近

    #(i

    +i)*i#

    归约

    #(N

    +i)*i#

    移近

    #(N+

    i)*i#

    移近

    #(N+i

    )*i#

    规约

    #(N+N

    )*i#

    规约

    #(N

    =

    )*i#

    移近

    #(N)

    *i#

    规约

    #N

    *i#

    移近

    #N*

    i#

    移近

    #N*i

    #

    规约

    #N*N

    #

    规约

    #N

    =

    #

    接受

    2.接上个作业(P121练习1),完成4),5)两个步骤。

    1)计算FIRSTVT和 LASTVT。

    2)找三种关系对。

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

    4)是否算符优先文法?

    5)给出输入串(a,(a,a))#的算符优先分析过程。

    S->#S#

    S->a|∧|(T)

    T->T,S|S

    (3)优先关系表

     

    a

    ,

    (

    )

    #

    a

     

     

     

     

     

     

    ,

     

    (

    =

     

    )

     

     

     

    #

     

     

    =

    (4) 是

    (5)  算符优先分析过程如下:

    1

    关系

    输入串

    动作

    #

    (a,(a,a))#

    移进

    #(

    a,(a,a))#

    移进

    #(a

    ,(a,a))#

    归约

    #(N

    ,(a,a))#

    移进

    #(N,

    (a,a))#

    移进

    #(N,(

    a,a))#

    移进

    #(N,(a

    ,a))#

    归约

    #(N,(N

    ,a))#

    移进

    #(N,(N,

    a))#

    移进

    #(N,(N,a

    ))#

    归约

    #(N,(N,N

    ))#

    归约

    #(N,(N

    =

    ))#

    移进

    #(N,(N)

    )#

    归约

    #(N,N

    )#

    归约

    #(N

    )#

    移进

    #(N)

    #

    归约

    #N

    #

    接受

    3.写出a+b*(c-d)+e/(c-d)↑n 的逆波兰表达式,三元式,四元式。

    答案:逆波兰:abcd-*+ecd-n/+

               三元式:(1)(-,c,d)

                             (2)(*,b,(1))

                             (3)(+,a.(2))

                             (4)( ↑,(1),n)

                             (5)(/,e,(4))

                             (6)(+,(3),(5))

                                        

                四元式:

                              (1)(-,c,d,t1)

                    (2)(*,b,t1,t2)

                              (3)(+,a.t2,t3)

                              (4)( ↑,t1,n,t4)

                              (5)(/,e,t4,t5)

                             (6)(+,t3,t5,t6

  • 相关阅读:
    AutoCAD.Net/C#.Net QQ群:193522571 resultbuffer 中的typedvalue
    AutoCAD.Net/C#.Net QQ群:193522571 32位进程无法访问64位进程模块,解决getprocesses方法对32位无效的问题
    AutoCAD.Net/C#.Net QQ群:193522571 随机数
    AutoCAD.Net/C#.Net QQ群:193522571:取得当前方法名、父方法名
    每次打开office2007都会弹出安装autocad2007,如何解决?
    在自定义控件中,定义枚举类型需要使其首项默认值为0
    VS整死了,属性惹的祸
    委托的使用,排序
    为C#自定义控件添加自定义事件
    C#获取字符串宽度像素
  • 原文地址:https://www.cnblogs.com/renshenbenzuig/p/12037142.html
Copyright © 2011-2022 走看看