zoukankan      html  css  js  c++  java
  • 编译原理 二

    1.理解符号串与集合运算。

    I={A,B, … ,Z,a,b, … ,z}

    L={0,1, … ,9}

    说明下表示的含义:

    IUL

    IL

    I4

    I*

    L+

    I(IUL)*
    答:
    IUL:集合I与集合L的的并集
    IL:集合I取一个元素与集合L取一个元素构成的字符串集合
    I^4:集合I取一个元素构成的4个元素的字符串集合
    I^*:集合I取一个元素构成的任意个数的元素的字符串集合
    L+:集合L取一个元素构成的大于1个数的元素的字符串集合
    I(IUL)^*:集合I取一个元素与集合I与集合L的并集I取一个元素构成的任意个数的元素的字符串构成的字符串集合
    2.文法G(Z):Z->aZb|ab定义的是什么样的语言?
    答:
    由Z->aZb|ab
    可得
    Z->aZb,Z->ab
    =>Z->aabb
    =>Z->aaa...bbb...
    所以改语言为I(G[Z])={a^nb^n|n>0},为2型文法
    3.写出教材22页例2.2中标识符的文法四元组形式(VN,NT,P,S)。
    答:
    设I为标识符,I为字母,L为数字
    VN={I,I,L},
    VT={a,b,c,...,x,y,z,0,1,2,...,9}
    p={
    <I>-><L>
    <I>-><I><L>
    <I>-><I><D>
    <I>->a
    <I>->b
    ...
    <I>->z
    <D>->0
    <D>->1
    ...
    <D>->9
    }
    S=<I>
    4.写出下列表达式的最左推导、最右推导。

    G(E):

    E=> E + T | T

    T=>T * F | F

    F=>(E)| i

    i*i+i
    i+i*i
    i+(i+i)
    注意观察最左和最右推导过程的不同。
    答:
    (1)i*i+i:
    最左推导:
    E=>E+T
    =>T+T
    =>T*F+T
    =>F*F+T
    =>i*F+T
    =>i*i+T
    =>i*i+F
    =>i*i+i
    最右推导:
    E=>E+T
    =>E+F
    =>E+i
    =>T+i
    =>T*F+i
    =>T*i+i
    =>F*i+i
    =>i*i+i
    (2)i+i*i:
    最左推导:
    E=>E+T
    =>T+T
    =>F+T
    =>i+T
    =>i+T*F
    =>i+F*F
    =>i+i*F
    =>i+i*i
    最右推导:
    E=>E+T
    =>E+T*F
    =>E+T*i
    =>E+F*i
    =>E+i*i
    =>T+i*i
    =>F+i*i
    =>i+i*i
    (3)i+(i+i):
    最左推导:
    E=>E+T
    =>T+T
    =>F+T
    =>i+T
    =>i+F
    =>i+(E)
    =>i+(E+T)
    =>i+(T+T)
    =>i+(F+T)
    =>i+(i+T)
    =>i+(i+F)
    =>i+(i+T)
    =>i+(i+i)
    最右推导:
    E=>E+T
    =>E+T
    =>E+F
    =>E+(E)
    =>E+(E+T)
    =>E+(E+F)
    =>E+(E+i)
    =>E+(T+i)
    =>E+(F+i)
    =>E+(i+i)
    =>T+(i+i)
    =>F+(i+i)
    =>i+(i+i)

  • 相关阅读:
    关于ueditor1.4.3版复制section标签丢失class和style样式问题
    关于移动手机端富文本编辑器qeditor图片上传改造
    移动web HTML5使用photoswipe模仿微信朋友圈图片放大浏览
    PLSQL Developer如何设置自动打开上次编辑的文件
    Linux目录结构
    git与代码托管工具
    mysql的索引
    Gson学习记录
    java线程池的初探
    netty学习总结(一)
  • 原文地址:https://www.cnblogs.com/huangwenshuo/p/11509119.html
Copyright © 2011-2022 走看看