zoukankan      html  css  js  c++  java
  • 编译原理第二次作业9.11

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

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

    D={0,1, … ,9}

    说明下表示的含义:

    LUD:全部字母和数字在集合

    LD:由一个字母后跟一个数字组成的所有符号串的集合

    L4:由4个字母组成的所有符号串集合

    L*:由字母组成的所有符号串的集合

    D+:由一个或若干个数字组成的所有符号串集合

    L(LUD)*以字母开头,后跟字母、数字组成的所有符号串的集合

     

     

     

    1. 文法G(Z):Z->aZb|ab定义的是什么样的语言?

    答:

    因为Z->aZb

    所以Z->aaZbb

    因为 Z->ab

    所以Z-> aabb

    又因为Z->aZb

    所以aaZbb->aaabbb

    又因为Z->ab

    所以aabb->aaabbb

     LG={anbnn>=1} 

    因此定义LG)定义的是anbn

    3.写出教材22页例2.2中标识符的文法四元组形式(VN,NT,P,S)。

    有文法G=(Vn,Vt,P,S)

      Vn ={L(标识符)D(字母)H(数字)}Vt ={a,b,c,d,~~~,y,z,0,1,2,~~~,9}   

      P={

             <L>-><D>

        <L>-><L><D>

        <L>-><L><H>

        <D>->a

        <D>->b

        <D>->c

         ……

        <D>->z

        <H>->1

        <H>->2

        <H>->3

         ……

        <H>->9   

      }

      S=<L>

     

    4.写出下列表达式的最左推导、最右推导。

    G(E):

    E=> E + T | T

    T=>T * F | F

    F=>(E)| i

    • i*i+i
    • i+i*i
    • 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

  • 相关阅读:
    英语面试-Behavioral Question
    算法与数据结构-各种循环的时间复杂度分析(英语)
    英语面试-Behavioral Question
    CS硕士全日制考研资料(含完整复习计划)
    算法与数据结构-树-简单-合并二叉树
    算法与数据结构-树-简单-二叉树的所有路径
    gcd的理解
    数学总结
    图论总结
    数据结构总结
  • 原文地址:https://www.cnblogs.com/chock/p/11514903.html
Copyright © 2011-2022 走看看