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

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

  D={0,1, … ,9}

说明下表示的含义:

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

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

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

  L*            :由字母组成的所有符号串(包括∑)的集合

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

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

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

解析:

  产生式:Z->aZb, Z->ab       >>可以推导出: Z=>ab, Z=>aZb=>a²b²

  重复使用产生式:Z->aZb    >>得 :                 Z=>aZb=>a²Zb²...=>aⁿ﹣¹Zbⁿ﹣¹=>aⁿbⁿ

  所以语言为L(G[Z])={aⁿbⁿ|n≥1}

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

解析:

  有文法 G=(VN,VT,P,S),设L为标识符,D为字母,H为数字

      VN={L,D,H},VT={a,b,c,...,x,y,z,0,1,2,...,9}

        P= {<L>-><D>

       <L>-><L><D>

       <L>-><L><H>

        {<D>-><a>}

       {<D>-><b>}

       ┊

       {<D>-><z>}

       {<H>-><0>}

       {<H>-><1>}

       ┊

       {<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

转载于:https://www.cnblogs.com/zhif97/p/11505377.html

编译原理:理解文法和语文相关推荐

  1. java实验文法报告_西安邮电大学编译原理LL文法分析器实验(java).doc

    西安邮电大学编译原理LL文法分析器实验(java) <编译原理>实验报告 题目: 语法分析器的制作 学生姓名: 班 级: 软件1202 学 号: 指导教师: 成 绩: 西安邮电大学计算机学 ...

  2. 编译原理 LL1文法的判断和句子识别

    编译原理 LL1文法的判断和句子识别 LL1文法概述 点击查看百度百科 对文法G的句子进行确定的自顶向下语法分析的充分必要条件是,G的任意两个具有相同左部的 产生式A->α|β 满足下列条件: ...

  3. 编译原理实验 -- 文法分析

    编译原理实验 – 文法分析 终结符 和 非终结符 终结符 通常使用小写字母表示,例如 abcdef 非终结符 通常使用大写字母表示,例如 ABCDEF 产生式 通俗来说,就是由终结符和非终结符组合成的 ...

  4. 编译原理:文法及其二义性(判定及消除)

    (请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 学编译原理时,会学到文法,老师在介绍完文法的相关定义后又 ...

  5. 编译原理——证明文法的二义性(1)

    目录 推导和语法树 推导 语法树 文法二义性 在证明文法的二义性之前,我们需要熟悉几个基本的概念. 推导和语法树 推导 这里的推导,简单的来说就是指根据给出的句型(句子),对文法进行推理变化最终得到句 ...

  6. 编译原理(文法、符号表)

    文法 在计算机科学中,文法是编译原理的基础,是描述一门程序设计语言和实现其编译器的方法(文法是用于描述语言的语法结构的形式规则). 1个文法 G 是一个四元组 G = (VN , VT , S, P) ...

  7. 编译原理-正则文法与正则表达式的相互转化

    正则文法与正则表达式的相互转化 前言 一.正则文法 1.定义 2.例子 二.正则表达式 1.定义 2.例子 三.转换规则 1.正则文法转换为正则表达式 2.正则表达式转换为正则文法 四.转换例子 1. ...

  8. 编译原理:文法和语言总结与梳理

    1. 梳理第二章的内容,写一篇理解与总结. 一. 对程序设计语言的描述从语法.语义和语用三个因素考虑: 语法:对语言结构的定义: 语义:语言的含义: 语用:从使用的角度描述语言. 形式语言理论是编译的 ...

  9. 第二次作业:理解文法和语文

    1.理解符号串与集合运算. L={A,B, - ,Z,a,b, - ,z} D={0,1, - ,9} 说明下表示的含义: LUD LD L4 L* D+ L(LUD)* 解: LUD:所有大小写字母 ...

最新文章

  1. STL的remove函数和list的remove成员函数
  2. php pdo操作数据库
  3. BZOJ-1024 生日快乐 DFS+一丝sb的数学思考
  4. java hanoi塔问题_java 解决汉诺塔问题
  5. PHP笔记-AES加解密(PHP7)
  6. 服务器几种邮件报警设置之ESXI账号登陆报警[一]
  7. 宝塔控制面板配置Nginx 安全证书
  8. 进入顶尖行业的人,都是把职业当乐趣的
  9. docker添加加速器
  10. linux内核无锁cas,无锁编程以及CAS
  11. 华为鸿蒙系统英语报纸_“鸿蒙”系统的英文名叫这个!华为注册的这些名字都该怎么翻译?...
  12. Testin徐琨:颠覆测试行业的四个必杀技
  13. 海森堡bug_海森堡因超速而停下来警察说,你知道你要走多快,海森堡说
  14. 复选框的全选、全不选、和获取选中的值;
  15. Ubuntu系统配置花生壳内网穿透
  16. TI芯片GPIO的内部上拉
  17. 【读书笔记】商业自传-耐克科技,鞋狗:耐克创始人菲尔.奈特亲笔自传_2020.06.01
  18. HDU 2075 JAVA
  19. JS / JQ 学习记录
  20. Codechef June Challenge 2020 简要题解

热门文章

  1. 记一次腾讯面试:进程之间究竟有哪些通信方式?如何通信? ---- 告别死记硬背
  2. 基于L0边缘保持滤波的图像融合 matlab代码
  3. python文本编辑器_python最好的ide和文本编辑器
  4. 科林明伦杯 哈尔滨理工大学第十届程序设计竞赛 (补)
  5. java spu sku_SPU与SKU区别小结
  6. PostgreSQL表膨胀终结者
  7. 超低功耗离线智能语音识别芯片AT6811
  8. JAMon Introduction
  9. 踩坑记-- UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xa6 in position 17: illegal multibyte seque
  10. python金融量化书籍_超强干货 | Python金融数据量化分析教程+机器学习电子书