文档库 最新最全的文档下载
当前位置:文档库 › 孟祥莲嵌入式系统原理及应用教程部分习题答案

孟祥莲嵌入式系统原理及应用教程部分习题答案

孟祥莲嵌入式系统原理及应用教程部分习题答案
孟祥莲嵌入式系统原理及应用教程部分习题答案

习题1 1. 嵌入式系统的概念的是什么?答:嵌入式系统是以应用为中心,以计算机技

术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。(嵌入式系统是嵌入式到对象体系中的,用于执行独立功能的专用计算机系统。)

2. 嵌入式系统的特点是什么?

答:系统内核小;专用性强;运行环境差异大;可靠性要求高;系统精简和高实时性操作系统;具有固化在非易失性存储器中的代码嵌入式系统开发和工作环境

4. 嵌入式系统的功能是什么?答:提供强大的网络服务小型化,低成本,低

功能;人性化的人机界面;完善的开发平台

5. 嵌入式系统的硬件平台由哪些部分组成?答:嵌入式系统的硬件是以嵌入式处理器为核心,由存储器I/O 单元电路,通信模块,外部设备必要的辅助接口组成的。

7. 嵌入式操作系统的主要特点是什么?答:体积小;实时性;特殊的开发调试环境。

8. 叙述嵌入式系统的分类。答:按嵌入式微处理器的位数分类可以分为4 位、

8 位、16 位、32 位和64 位等;按软件实时性需求分类可以分为非实时系统(如PDA),

软实时系统(如消费类产品)和硬实时系统(如工业实时控制系统)按嵌入式系统的复杂程度分类可以分为小型嵌入式系统,中型嵌入式系统和复杂嵌入式系统。

习题2

处理器和工作状态有哪些?

答:ARM犬态:此时处理器执行32位的的字对齐的ARS旨令。

Thumb犬态:此时处理器执行16位的,半字对齐的Thumb旨令

2.叙述ARM9内部寄存器结构,并分别说明R13 R14 R15寄存器的

作用。

答:共有37个内部寄存器,被分为若干个组(BANK,这些寄存器包括31个通用寄存器,包括程序计数器(PC指针)6个状态寄存器。R13用作堆栈指针,R14称为子程序链接寄存器,R15用作程序计数器。处理器的工作模式有哪些?

答:用户模式:ARM处理器正常的程序执行状态。

快速中断模式:用于高速数据传输或通道处理

外部中断模式:用于通用中断处理管理模式:操作系统使用的保护模式数据访问终止模式:当数据或指令预期终止时进入该模式,可用于虚拟存储器及存储保护

系统模式:运行具有特权的操作系统任务

未定义指令终止模式:当未定义的指令执行时进入该模式,可用

于支持硬件协处理器的软件仿真。

微处理器支持的数据类型有哪些?

答:ARM微处理器中支持字节(8位)、半字(16位),字(32 位)

三种数据类型。其中,字需要4 字节对齐,半字需要2 字节对齐。

7.叙述CPSR寄存器及其各位数据位的作用?

答:CPSR是当前程序状态寄存器,是在任何模式下都可以访问的通用状态寄存器,它包括条件标志位,中断禁止位,当前处理器模式标志位,以及其他一些相关的一些相关的控制和状态位①条件码标识;N,

乙C, V均为条件码标识,它们的内容可被算术或逻辑的结果所改变,并且可以决定某条指令是否被执行。②控制位:CPSR的低8位称为控

制位,当发生异常时这些位可被改变,如果处理器运行特权模式,这些位也可以由程序修改。③保留位:CPSF中的其余位为保留位,当改变CPSF中的条件码标志位或者控制位时保留位不要被改变,在程序中也不要使用保留位来存储数据

习题3

指令有哪几种寻址方式?试分别叙述其各自的特点,并举例说明。

答:①寄存器寻址:寄存器寻址就是利用寄存器中的内容作为操作数,寄存器本身就是操作数地址,例:M0XR2, R3 ;R2-R3指R3中的内

容赋给F2

②立即寻址:操作数没有存储在寄存器或存储器中,而是包含在指令的操作码中,只要取出指令也就取到了操作数. 例:ADDF1,F2,#1234;F1- F1+1234

③寄存器间接寻址:以寄存器中的内容作为操作数的地址,而操作数本身存放在存储器中。例:LDF F1,[F2] ;F1-[F2]

④变址寻址:将寄存器的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。例LDF F0,[F1,#8] ;F0-[F1+8]

⑤寄存器移位寻址:操作数由寄存器的数值进行相应移位而得到

MOV R0,R1,LSL#4

⑥多寄存器寻址:一条指令可以完成多个寄存器值的传送例:LDMIA

R1,{ R2— R4, R5}; R2 —[ R1] R3—[ R1+4] R4 —[ R1+80 R5 —

[R1+12]

⑦堆栈寻址:一种数据结构,按先进后出的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。

⑧相对寻址:以程序计数器PC的当前值为基地址,指令中的地址标号作为为偏移量,将两者相加之后得到操作数的有效地址

2. 简述ARM9指令集的分类

答:交换指令、ARM数据处理器指令、ARM分支指令、ARM协处理器指令

⑤ARM软件中断指令

4. 请叙述处理器如何实现ARM犬态和Thumb状态的切换。

答:进入Thumb状态:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM犬态切换到Thumb状态,此外,当处理处于Thumb状态时发生异常,则异常返回时,自动切换到Thumb状态。

进入ARM犬态:当操作数寄存器的状态位为0时,执行BX指令时可以微处理器从Thumb状态切换到ARM犬态,此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以是处理器模式切换到ARM犬态

6. 简述ARM9的LDM/STMf栈指令中空、满,递增、递减的含义。

答:当堆栈指针指向最后压入堆栈的数据时,称为满堆栈。当堆栈指针指向下一个将要放入数据的空位置时,称为空堆栈;当堆栈由低向低地址向高地址生

成时,称为递增堆栈;

当堆栈由高地址向低地址生成时,称为递减堆栈

和BL指令有什么不同

答:BX指令是分支和交换指令,寄存器的地址是目标地址其中的位[0]不是地址信息,当寄存器的位[0]为1时,表明目标地址处是Thumb 指令,当寄存器的位[0]为0时,表明目标地址是ARM指令,此时,要求字对准,BL 指令是分支和链接指令,将一条指令的地址复制到R14,并引起处理器移位到目标地址,但目标地址不可以是ARM指令,BL指定不能转移到当前指令+4MB以外的地址。

习题4

1. ARM伪指令与Thumb伪指令有什么区别?

答:与ARM指令相关的伪指令共有4 条: ADR、ADRL LDR、NOP 这四条伪指令和通用的指令不同,在程序编译过程中,编译程序会

为这四条指令产生代码,但这些代码不是它们自己的代码,所以尽管它们可以产生代码,但还是伪指令,与Thumb指令相关的伪指令共有3条,ADR LDR NOP,但这些伪指令必须出现在Thumb程序段。

3. 编写一个完整的程序,结构是什么?

答:在汇编语言程序中,用AREA伪指令定义一个段,并说明所定

义段的相关属性,ENTPY伪指令标示程序的入口点,接下来为语句

段,执行主代码后,通过返回控制终止应用程序,并返回到DEBDG

通过使用软件中断指令实现返回,在程序的末尾为END伪指令,该

伪指令通知编译器停止对源文件的处理,每一个汇编程序段都必须有一条END伪指令,指示代码段的结束。

4.. 汇编语言中的表达式有哪些?试举例说明答:数字表达式、逻辑表达式、字符串表达式、以寄存器和程序计数器(PC为基址的表达式。例:BASE:A.

5. 汇编语言中的运算符有哪些?试说明它们的特点及使用方法.

答:数字运算符:表明两个表达式之间的关系。

算术运算符“ +”、“ - ”、“x”及“ MOD

移位运算符” RDR”、“ RDL“、“ SHL、“ SHR“ 逻辑运算符

“ AND”、“ OR”、“ NOT”、” EOR” 逻辑运算符包括

LAND,LDR,LNOT,LEO运算符关系运算符:“ =”、“ >“、“ >=”,“ =<”,“ /= ”、“ <”运算符

单目运算符,双目运算符

7. 汇编语言与C/C++的混合编程通常有几种方式?

答:有三种方式:在C/C++代码中嵌入汇编指令;在汇编程序和C/C++ 的程序之间进行变量的互访;汇编程序,C/C++程序间的相互调用。

习题5

1. S3C2440A芯片外部可寻址的存储空间是多少?

答S3C2440A芯片外部可寻址的存储空间是1GB被分为8个存储模块,

每块128MB

2. S3C2440A中的中断控制器可以从多少个中断源接收中断请求?

答:S3C2440A中的中断控制器可以60个中段源接收中断请求。这

些中断源由内部的外围I/O端口或部件如DMA空制器,UART,IIC 等提供。

芯片有几个通道DMA共有多少个寄存器?

答:S3C2440A芯片有4个通道DMA共有36个寄存器,其中6个

用于控制DMA专输,3个用于监视DMA勺控制器的状态。

5. 看门狗定时器原理是什么?答:看门狗定时器用于当噪音或系统错误引起故障时恢复控制器操作的定时,看门狗定时器是一普通的16 位时间间隔定时器,定时溢出

来请求中断服务,每128个PCLK时钟周期产生一个复位信号。

6. 触摸屏接口模式分为几类?答:触摸屏接口模式可分为:正常转换模式、分离xy 坐标转换模式、自动xy 坐标转换模式、等待中断模式、备用模式

习题6

芯片的I2C总线时序中,ACK信号的作用是什么?结合相应的时序图加

以说明

答:在完成一个字节的传输操作后,接收器应该发送一个ACK位给

发送器。ACK位应该出现在SCL线的第9个时钟,当接收器收到第

9 个时钟周期时,发送器应该通过使SDA

信号线变为高电平来释放SDA信号线变为低电平,以便使SDA信号

线保持在低电平,而发出ACK信号。

芯片的I2S总线有几条信号线?分别是什么?

答:i2s总线有4线,即串行数据输入(IISDI ),串行数据输出(IISDD),左右通道选择(IISLRCK)和串行位时钟(IISCLK)

中的音频串行接口D模式是什么?

答:i2s总线格式、MSBJUSTIFIED格式、采样频率和主设备时钟芯片的AC97控制器的操作流程是什么?

编译原理课后习题答案(第三版)

精品文档 第二章 P36-6 (1) L G ()1是0~9组成的数字串 (2) 最左推导: N ND NDD NDDD DDDD DDD DD D N ND DD D N ND NDD DDD DD D ??????????????????0010120127334 556568 最右推导: N ND N ND N ND N D N ND N D N ND N ND N D ??????????????????77272712712701274434 886868568 P36-7 G(S) O N O D N S O AO A AD N →→→→→1357924680||||||||||| P36-8 文法: E T E T E T T F T F T F F E i →+-→→|||*|/()| 最左推导: E E T T T F T i T i T F i F F i i F i i i E T T F F F i F i E i E T i T T i F T i i T 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 E T F T F F F E F E T F E F F E i F T i F F i F i i i i i ?+?+?+?+?+?+?+?+?????+?+?+?+?+?+?+**********()*()*()*()*()*()*()*() 语法树:/********************************

嵌入式系统及应用 实验大纲

《嵌入式系统及应用》课程实验 一、实验课程的性质、目的和任务 性质:《嵌入式系统及应用》课程是自动化专业的专业基础课程,本实验课是该课程教学大纲中规定必修的实验教学内容。 目的和任务:通过实验环节来巩固和加深学生对嵌入式系统的理解,使学生掌握MCS51单片机和ARM的基本原理和应用技术。通过熟悉MCS51开发环境和ARM集成开发环境,使学生掌握嵌入式系统开发的一般规律和方法。在集成开发环境下,进行系统功能程序的编写和调试的训练,掌握嵌入式系统软硬件调试的一般方法和系统设计的能力。 二、实验内容、学时分配及基本要求

三、考核及实验报告 (一)考核 本课程实验为非独立设课,实验成绩占课程总成绩的15%,综合评定实验成绩。(二)实验报告 实验报告应包括: 实验名称 实验目的 实验内容与要求 设计思路(如:分析、程序流程图等) 实验步骤 实验代码(含必要注释) 实验结果分析 实验小结(本题调试过程中遇到的问题和解决方法、注意事项、心得体会等)注:综合型实验需写出系统功能、设计过程 实验报告的要求: 实验报告以文本形式递交,实验报告要书写规范、文字简练、语句通顺、图表清晰。 四、主要仪器设备 硬件:微型计算机;嵌入式系统开发平台。 软件:Keil C51;ADT 五、教材及参考书 教材

[1] 高锋.单片微型计算机原理与接口技术(第二版).北京:科学出版社,2007 [2] 自编.嵌入式系统及应用 参考书 [1] 王田苗.嵌入式系统设计与实例开发.北京:清华大学出版社,2003 [2] 陈赜.ARM9 嵌入式技术及Linux高级实践教程.北京:北京航空航天大学出版社,2005 [3] 李忠民等.ARM嵌入式VxWorks实践教程.北京:北京航空航天大学出版社,2006

嵌入式系统设计题库

一、单项选择题 1、在CPU和物理内存之间进行地址转换时,(B )将地址从虚拟(逻辑)地址空间映射到物理地址空间。 A.TCB B.MMU C.CACHE D.DMA 2、进程有三种状态:(C )。 A.准备态、执行态和退出态B.精确态、模糊态和随机态 C.运行态、就绪态和等待态D.手工态、自动态和自由态 3、以下叙述中正确的是(C )。 A.宿主机与目标机之间只需要建立逻辑连接即可 B.在嵌入式系统中,调试器与被调试程序一般位于同一台机器上 C.在嵌入式系统开发中,通常采用的是交叉编译器 D.宿主机与目标机之间的通信方式只有串口和并口两种 4、中断向量是指(C )。 A.中断断点的地址B.中断向量表起始地址 C.中断处理程序入口地址D.中断返回地址 5、在微型计算机中,采用中断方式的优点之一是(C )。 A.简单且容易实现B.CPU可以不工作 C.可实时响应突发事件D.传送速度最快 6、在ARM处理器中,(A )寄存器包括全局的中断禁止位,控制中断禁止位就可以打开或者关闭中断。 A.CPSR B.SPSR C.PC D.IR 7、嵌入式系统的三要素下面哪一个不是:(B )。 A、嵌入 B、存储器 C、专用 D、计算机 8、若R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令LDR R0,[R1,#8]!后R0的值为()。 A、0x2000 B、0x28 C、0x2008 D、0x87 9、μCOS-II操作系统属于(B )。 A、顺序执行系统 B、占先式实时操作系统 C、非占先式实时操作系统 D、分时操作系统 10、ARM寄存器组有( C )个状态寄存器。 A、7 B、32 C、6 D、37 11、C++源程序文件的默认扩展名为(A )。 A、cpp B、exe C、obj D、lik 12、与十进制数254等值的二进制数是(A )。 A、B、 C、D、

编译原理教程课后习题答案——第六章

第六章运行时存储空间组织 6.1 完成下列选择题: (1) 过程的DISPLAY表中记录了。 a. 过程的连接数据 b. 过程的嵌套层次 c. 过程的返回地址 d. 过程的入口地址 (2) 过程P1调用P2时,连接数据不包含。 a. 嵌套层次显示表 b. 老SP c. 返回地址 d. 全局DISPLAY地址 (3) 堆式动态分配申请和释放存储空间遵守原则。 a. 先请先放 b. 先请后放 c. 后请先放 d. 任意 (4) 栈式动态分配与管理在过程返回时应做的工作有。 a. 保护SP b. 恢复SP c. 保护TOP d. 恢复TOP (5) 如果活动记录中没有DISPLAY表,则说明。 a. 程序中不允许有递归定义的过程 b. 程序中不允许有嵌套定义的过程 c. 程序中既不允许有嵌套定义的过程,也不允许有递归定义的过程 d. 程序中允许有递归定义的过程,也允许有嵌套定义的过程 【解答】 (1) b (2) a (3) d (4) b (5) b 6.2 何谓嵌套过程语言运行时的DISPLAY表?它的作用是什么? 【解答】当过程定义允许嵌套时,一个过程在运行中应能够引用在静态定义时包围它的任一外层过程所定义的变量或数组。也就是说,在栈式动态存储分配方式下的运行中,一个过程Q可能引用它的任一外层过程P的最新活动记录中的某些数据。因此,过程Q运行时必须知道它的所有(静态)外层过程的最新活动记录的地址。由于允许递归和可变数组,这些外层过程的活动记录的位置也往往是变迁的。因此,必须设法跟踪每个(静态)外层的最新活动记录的位置,而完成这一功能的就是DISPLAY嵌套层次显示表。 也即,每当进入一个过程后,在建立它的活动记录区的同时也建立一张DISPLAY表,它自顶而下每个单元依次存放着现行层、直接外层等,直至最外层(主程序层)等每一层过程的最新活动记录的起始地址。 6.3 (1) 写出实现一般递归过程的活动记录结构以及过程调用、过程进入与过程返回的指令; (2) 对以return(表达式)形式(这个表达式本身是一个递归调用)返回函数值的特殊函数过程,给出不增加时间开销但能节省存储空间的实现方法。假定语言中过程参数只有传值和传地址两种形式,为便于理解,举下例说明这种特殊的函数调用: int gcd (int p,int q) { if (p % q ==0) return q; else return gcd (q, p % q) } 【解答】(1) 一般递归过程的活动记录如图6-1所示。

(完整版)编译原理课后习题答案

第一章 1.典型的编译程序在逻辑功能上由哪几部分组成? 答:编译程序主要由以下几个部分组成:词法分析、语法分析、语义分析、中间代码生成、中间代码优化、目标代码生成、错误处理、表格管理。 2. 实现编译程序的主要方法有哪些? 答:主要有:转换法、移植法、自展法、自动生成法。 3. 将用户使用高级语言编写的程序翻译为可直接执行的机器语言程序有哪几种主要的方式? 答:编译法、解释法。 4. 编译方式和解释方式的根本区别是什么? 答:编译方式:是将源程序经编译得到可执行文件后,就可脱离源程序和编译程序单独执行,所以编译方式的效率高,执行速度快; 解释方式:在执行时,必须源程序和解释程序同时参与才能运行,其不产生可执行程序文件,效率低,执行速度慢。

第二章 1.乔姆斯基文法体系中将文法分为哪几类?文法的分类同程序设计语言的设计与实现关 系如何? 答:1)0型文法、1型文法、2型文法、3型文法。 2) 2. 写一个文法,使其语言是偶整数的集合,每个偶整数不以0为前导。 答: Z→SME | B S→1|2|3|4|5|6|7|8|9 M→ε | D | MD D→0|S B→2|4|6|8 E→0|B 3. 设文法G为: N→ D|ND D→ 0|1|2|3|4|5|6|7|8|9 请给出句子123、301和75431的最右推导和最左推导。 答:N?ND?N3?ND3?N23?D23?123 N?ND?NDD?DDD?1DD?12D?123 N?ND?N1?ND1?N01?D01?301 N?ND?NDD?DDD?3DD?30D?301 N?ND?N1?ND1?N31?ND31?N431?ND431?N5431?D5431?75431 N?ND?NDD?NDDD?NDDDD?DDDDD?7DDDD?75DDD?754DD?7543D?75431 4. 证明文法S→iSeS|iS| i是二义性文法。 答:对于句型iiSeS存在两个不同的最左推导: S?iSeS?iiSes S?iS?iiSeS 所以该文法是二义性文法。 5. 给出描述下面语言的上下文无关文法。 (1)L1={a n b n c i |n>=1,i>=0 } (2)L2={a i b j|j>=i>=1} (3)L3={a n b m c m d n |m,n>=0} 答: (1)S→AB A→aAb | ab B→cB | ε (2)S→ASb |ab

嵌入式系统设计师练习题及答案解析

嵌入式系统设计师练习题及答案第一套 (1) 嵌入式系统设计师练习题及答案第二套 (5) 嵌入式系统设计师练习题及答案第三套 (16) 嵌入式系统设计师练习题及答案解析第四套 (27) 嵌入式系统设计师练习题及答案解析第五套 (45) 嵌入式系统设计师练习题及答案解析第六套 (59) 嵌入式系统设计师练习题及答案解析第七套 (67) 嵌入式系统设计师练习题及答案解析第八套 (75) 嵌入式系统设计师练习题及答案解析第九套 (81) 嵌入式系统设计师练习题及答案解析第十套 (90) 嵌入式系统设计师练习题及答案解析第十一套 (99) 嵌入式系统设计师练习题及答案解析第十二套 (106) 嵌入式系统设计师练习题及答案解析第十三套 (115) 嵌入式系统设计师练习题及答案解析第十四套 (126) 嵌入式系统设计师练习题及答案解析第十五套 (139) 嵌入式系统设计师练习题及答案解析第十六套 (154) 嵌入式系统设计师练习题及答案解析第十七套 (161) 嵌入式系统设计师练习题及答案解析第十八套 (169) 嵌入式系统设计师练习题及答案解析第十九套 (177) 嵌入式系统设计师练习题及答案解析第二十套 (189) 嵌入式系统设计师练习题及答案解析第二十一套 (199) 嵌入式系统设计师练习题及答案解析第二十二套 (212) 嵌入式系统设计师练习题及答案第一套 1、以下关于CPU的叙述中,错误的是 A.CPU产生每条指令的操作信号并将操作信号送往相应的部件进行控制

B.程序计数器PC除了存放指令地址,也可以临时存储算术/逻辑运算结果 C.CPU中的控制器决定计算机运行过程的自动化 D.指令译码器是CPU控制器中的部件 2、以下关于Cache的叙述中,正确的是 A.在容量确定的情况下,替换算法的时间复杂度是影响Cache命中率的关键因素 B.Cache的设计思想是在合理成本下提高命中率 C.Cache的设计目标是容量尽可能与主存容量相等 D.CPU中的Cache容量应大于cPu之外的Cache容量 3、风险预测从两个方面评估风险,即风险发生的可能性以及 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 4、许多程序设计语言规定,程序中的数据都必须具有类型,其作用不包括 A.便于为数据合理分配存储单元 B.便于对参与表达式计算的数据对象进行检查 C.便于定义动态数据结构 D.使于规定数据对象的取值范围及能够进行的运算 5、在计算机系统中,对程序员是透明的。 A.磁盘存储器 B.高速缓存 C.RAM存储器 D.flash存储器

编译原理教程课后习题答案——第七章

第七章目标代码生成 7.1 对下列四元式序列生成目标代码: T=A-B S=C+D W=E-F U=W/T V=U*S 其中,V是基本块出口的活跃变量,R0和R1是可用寄存器。 【解答】简单代码生成算法依次对四元式进行翻译。我们以四元式T=a+b为例来说明其翻译过程。 汇编语言的加法指令代码形式为 ADD R, X 其中,ADD为加法指令;R为第一操作数,第一操作数必须为寄存器类型;X为第二操作数,它可以是寄存器类型,也可以是内存型的变量。ADD R,X指令的含意是:将第一操作数R与第二操作数相加后,再将累加结果存放到第一操作数所在的寄存器中。要完整地翻译出四元式T=a+b,则可能需要下面三条汇编指令: MOV R, a ADD R, b MOV T, R 第一条指令是将第一操作数a由内存取到寄存器R中;第二条指令完成加法运算;第三条指令将累加后的结果送回内存中的变量T。是否在翻译成目标代码时都必须生成这三条汇编指令呢?从目标代码生成的优化角度考虑,即为了使生成的目标代码更短以及充分利用寄存器,上面的三条指令中,第一条和第三条指令在某些情况下是不必要的。这是因为,如果下一个四元式紧接着需要引用操作数T,则第三条指令就不急于生成,可以推迟到以后适当的时机再生成。 此外,如果必须使用第一条指令,即第一操作数不在寄存器而是在内存中,且此时所有可用寄存器都已分配完毕,这时就要根据寄存器中所有变量的待用信息(也即引用点)来决定淘汰哪一个寄存器留给当前的四元式使用。寄存器的淘汰策略如下: (1) 如果某寄存器中的变量已无后续引用点且该变量是非活跃的,则可直接将该寄存器作为空闲寄存器使用。 (2) 如果所有寄存器中的变量在基本块内仍有引用点且都是活跃的,则将引用点最远的变量所占用寄存器中的值存放到内存与该变量对应的单元中,然后再将此寄存器分配给当前的指令使用。 因此,本题所给四元式序列生成的目标代码如下: MOV R0, A SUB R0, C /*R0=T*/ MOV R1, C ADD R1, D /*R1=S*/ MOV S, R1 /*S引用点较T引用点远,故将R1的值送内存单元S*/ MOV R1, E SUB R1, F /*R1=W*/ SUB R1, R0 /*R1=U*/ MUL R1, S /*R1=V*/ 7.2 假设可用的寄存器为R0和R1,且所有临时单元都是非活跃的,试将以下四元式基本

编译原理_第三版_课后答案.docx

编译 原理 课后题答案 第二章 P36-6 (1) L ( G 1 ) 是 0~9 组成的数字串 (2) 最左推导 : N ND NDD NDDD DDDD 0DDD 01DD 012D 0127 N ND DD 3D 34 N ND NDD DDD 5DD 56D 568 最右推导 : N ND N 7 ND 7 N 27 ND 27 N 127 D127 0127 N ND N 4 D 4 34 N ND N 8 ND 8 N 68 D68 568 P36-7 G(S) O 1|3|5|7|9 N 2|4|6|8|O D 0|N S O| AO A AD | N P36-8 文法: E T| E T|E T T F |T * F |T / F F ( E)|i 最左推导 : E E T T T F T i T i T * F i F * F i i * F i i * i E T T * F F * F i * F i *( E ) i *( E T) i *( T T ) i *( F T ) i *( i T ) 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 E T F * T F * F F *( E) F *( E T) F *( E F ) F *( E i ) F *( T i ) F *( F i ) F *( i i ) i *( i i ) 语法树: /******************************** E E+T E+T F T F i F i i i+i+i *****************/ P36-9 句子 iiiei有两个语法树: S iSeS iSei iiSei iiiei S iS iiSeS iiSei iiiei E E E+T E-T T T*F E-T F F F i T F i i i F i i i-i-i i+i*i P36-10 /************** S TS | T T( S) | ( ) ***************/ P36-11 /*************** L1: S AC A aAb | ab C cC | L2:

编译原理课后答案

第二章 2.3叙述由下列正规式描述的语言 (a) 0(0|1)*0 在字母表{0, 1}上,以0开头和结尾的长度至少是2的01 串 (b) ((ε|0)1*)* 在字母表{0, 1}上,所有的01串,包括空串 (c) (0|1)*0(0|1)(0|1) 在字母表{0, 1}上,倒数第三位是0的01串 (d) 0*10*10*10* 在字母表{0, 1}上,含有3个1的01串 (e) (00|11)*((01|10)(00|11)*(01|10)(00|11)*)* 在字母表{0, 1}上,含有偶数个0和偶数个1的01串 2.4为下列语言写正规定义 C语言的注释,即以 /* 开始和以 */ 结束的任意字符串,但它的任何前缀(本身除外)不以 */ 结尾。 [解答] other → a | b | … other指除了*以外C语言中的其它字符 other1 → a | b | … other1指除了*和/以外C语言中的其它字符 comment → /* other* (* ** other1 other*)* ** */ (f) 由偶数个0和偶数个1构成的所有0和1的串。 [解答]由题目分析可知,一个符号串由0和1组成,则0和1的个数只能有四种情况: x 偶数个0和偶数个1(用状态0表示); x 偶数个0和奇数个1(用状态1表示); x 奇数个0和偶数个1(用状态2表示); x 奇数个0和奇数个1(用状态3表示);所以, x 状态0(偶数个0和偶数个1)读入1,则0和1的数目变为:偶数个0和奇数个1(状态1) x 状态0(偶数个0和偶数个1)读入0,则0和1的数目变为:奇数个0和偶数个1(状态2) x 状态1(偶数个0和奇数个1)读入1,则0和1的数目变为:偶数个0和偶数个1(状态0) x 状态1(偶数个0和奇数个1)读入0,则0和1的数目变为:奇数个0和奇数个1(状态3) x 状态2(奇数个0和偶数个1)读入1,则0和1的数目变为:奇数个0和奇数个1(状态3) x 状态2(奇数个0和偶数个1)读入0,则0和1的数目变为:偶数个0和偶数个1(状态0) x 状态3(奇数个0和奇数个1)读入1,则0和1的数目变为:奇数个0和偶数个1(状态2) x 状态3(奇数个0和奇数个1)读入0,则0和1的数目变为:偶数个0和奇数个1(状态1) 因为,所求为由偶数个0和偶数个1构成的所有0和1的串,故状态0既为初始状态又为终结状态,其状态转换图: 由此可以写出其正规文法为: S0 → 1S1 | 0S2 | ε S1 → 1S0 | 0S3 | 1 S2 → 1S3 | 0S0 | 0 S3 → 1S2 | 0S1 在不考虑S0 →ε产生式的情况下,可以将文法变形为: S0 = 1S1 + 0S2 S1 = 1S0 + 0S3 + 1 S2 = 1S3 + 0S0 + 0 S3 = 1S2 + 0S1 所以: S0 = (00|11) S0 + (01|10) S3 + 11 + 00 (1) S3 = (00|11) S3 + (01|10) S0 + 01 + 10 (2) 解(2)式得: S3 = (00|11)* ((01|10) S0 + (01|10)) 代入(1)式得: S0 = (00|11) S0 + (01|10) (00|11)*((01|10) S0 + (01|10)) + (00|11) => S0 = ((00|11) + (01|10) (00| 11)*(01|10))S0 + (01|10) (00|11)*(01|10) + (00|11) => S0 = ((00|11)|(01|10) (00|11)*(01|10))*((00|1

嵌入式系统及应用试题

课程名称:_嵌入式系统开发_ 考试形式:闭卷考试日期: 2012年月日考试时长:120分钟课程成绩构成:平时 5 %,期中 10 %,实验 25 %,期末 60 % 本试卷试题由__5 _部分构成,共__9___页。 一、判断题(共15分,共 15题,每题1分,正确用“T”表示,错误用“F”表示) 1.优先级位图法是通过牺牲空间赢得时间。() 2.EDF调度策略可用于调度周期性任务() 3.在嵌入式操作系统中一般不使用虚拟存储技术,避免页面置换的开销所引起的不确定性。()4.自陷、异常和中断基本上具有相同的中断服务程序结构。() 5. 嵌入式多任务系统中,任务间的耦合程度越高,它们之间的通信越少。() 6.存储器映射编址是指I/O端口的地址与内存地址统一编址,即I/O单元与内存单元在同一地址空间。其优点是可采用丰富的内存操作指令访问I/O单元、无需单独的I/O地址译码电路、无需专用的I/O指令。() 7.嵌入式系统中,优先级抢占调度可以在任意位置、任意时刻发生。() 8.当二值信号量用于任务之间同步时,其初始值为1。() 9.如果一个实时调度算法使得任务充分利用了CPU,则CPU的利用率为100%。()10.RISC处理器常用高效流水线技术提高处理器的并行性。() 11.弱实时对系统响应时间有要求,但是如果系统响应时间不能满足,不会导致系统出现致命的错误或崩溃。() 12.循环轮询系统适合于慢速和非常快速的简单系统。() 13.单处理器多任务系统无需嵌入式操作系统的支持。() 14.任务控制块的内容在任务创建时进行初始化,在系统运行过程中不会发生变化。()15.支持实时特性的DARTS设计方法也采用了面向对象技术。()

编译原理教程课后习题答案——第四章

第四章语义分析和中间代码生成 4.1 完成下列选择题: (1) 四元式之间的联系是通过实现的。 a. 指示器 b. 临时变量 c. 符号表 d. 程序变量 (2) 间接三元式表示法的优点为。 a. 采用间接码表,便于优化处理 b. 节省存储空间,不便于表的修改 c. 便于优化处理,节省存储空间 d. 节省存储空间,不便于优化处理 (3) 表达式(┐A∨B)∧(C∨D)的逆波兰表示为。 a. ┐AB∨∧CD∨ b. A┐B∨CD∨∧ c. AB∨┐CD∨∧ d. A┐B∨∧CD∨ (4) 有一语法制导翻译如下所示: S→bAb {print″1″} A→(B {print″2″} A→a {print″3″} B→Aa) {print″4″} 若输入序列为b(((aa)a)a)b,且采用自下而上的分析方法,则输出序列为。a. 32224441 b. 34242421 c. 12424243 d. 34442212 【解答】 (1) b (2) a (3) b (4) b 4.2 何谓“语法制导翻译”?试给出用语法制导翻译生成中间代码的要点,并用一简例予以说明。 【解答】语法制导翻译(SDTS)直观上说就是为每个产生式配上一个翻译子程序(称语义动作或语义子程序),并且在语法分析的同时执行这些子程序。也即在语法分析过程中,当一个产生式获得匹配(对于自上而下分析)或用于归约(对于自下而上分析)时,此产生式相应的语义子程序进入工作,完成既定的翻译任务。 用语法制导翻译(SDTS)生成中间代码的要点如下: (1) 按语法成分的实际处理顺序生成,即按语义要求生成中间代码。 (2) 注意地址返填问题。 (3) 不要遗漏必要的处理,如无条件跳转等。 例如下面的程序段: if (i>0) a=i+e-b*d; else a=0; 在生成中间代码时,条件“i>0”为假的转移地址无法确定,而要等到处理“else”时方可确定,这时就存在一个地址返填问题。此外,按语义要求,当处理完(i>0)后的语句(即“i>0”为真时执行的语句)时,则应转出当前的if语句,也即此时应加入一条无条件跳转指令,并且这个转移地址也需要待处理完else之后的语句后方可获得,就是说同样存在着地址返填问题。对于赋值语句a=i+e-b*d,其处理顺序(也即生成中间代码顺序)是先生成i+e的代码,再生成b*d的中间代码,最后才产生“-”运算的中间代码,这种顺序不能颠倒。 4.3 令S.val为文法G[S]生成的二进制数的值,例如对输入串101.101,则S.val= 5.625。按照语法制导翻译方法的思想,给出计算S.val的相应的语义规则,G(S)如下: G[S]: S→L.L|L

编译原理课后习题答案

第1 章 1、编译过程包括哪几个主要阶段及每个 阶段的功能。 答案:编译过程包括词法分析、语法分析、语义分析和中间代码生成、优化、目标代码生成5 个阶段。词法分析的功能是对输入的高级语言源程序进行词法分析,识别其中的单词符号,确定它们的种类,交给语法分析器,即把字符串形式的源程序分解为单词符号串形式。语法分析的功能是在词法分析结果的基础上,运用语言的语法规则,对程序进行语法分析,识别构成程序的各类语法范畴及它们之间的层次关系,并把这种层次关系表达成语法树的形式。词义分析和中间代码生成的功能是在语法分析的基础上,对程序进行语义分析,“理解”其含义,产生出表达程序语义的内部表达形式(中间代码)。优化的功能是按照等价变换的原则,对语义分析器产生的中间代码序列进行等价变换,删除其中多余的操作,对耗时耗空间的代码进行优化,以期最后得到高效的可执行代码。目标代码生成的功能是把优化后的中间代码变换成机器指令代码,得到可在目标机器上执行的机器语言程序。 第2 章 1、写一上下文无关文法G,它能产生配 对的圆括号串(如:(),(()),()(())等,甚至 包括0 对括号) 文法为:S→(L)|LS|L L→S| ε 2 、已知文法G :E→E+T|E-T|T T→T*F|T/F|F F→(E) |i (1)给出i+i*i,i*(i-i)的最左推导,最右推导以及语法树。 (2)i-i+i 哪个算符优先。 【解答】 (1)最左推导:E?E+T?T+T? F+T ? i+T ? i+T*F ? i+F*F ?i+i*F ?i+i*i E?T?T*F? F*F ? i*F ? i*(E) ? i*(E-T) ? i*(T-T) ? i*(F-T) ? i*(i-T) ? 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 E?T?T*F? T*(E) ? T*(E-T) ? T*(E-F) ? T*(E-i) ? T*(T-i) ? T*(F-i) ?T*(i-i) ? F*(i-i) ?i*(i-i) i+i*i 以及i*(i-i)的语法树如下所示: (2)i-i+i 的语法树如下图所示。 从上图的语法树可知:“-”的位置位 于“+”的下层,也就是前面两个i 先进 行“-”运算,再与后面的i 进行“+” 运算,所以“-”的优先级高于“+”的 优先级。 3 、文法G: E→ET+|T T→TF*|F F→FP↑|P P→E|i (1)试证明符号串TET+*i↑是G 的一 个句型(要求画出语法树). (2)写出该句型的所有短语,直接短语和句柄. 【解答】(1)采用最右推导: E?T?F? FP↑? Fi↑? Pi↑? Ei↑ ? Ti↑? TF*i↑? TP*i↑? TE*i↑? TET+*i↑ 语法树如下图所示。 从文法G 的起始符号出发,能够推导 出符号串TET+*i↑,所以给定符号串是文法G的句型。 (2) 该句型的短语有: ET+,TET+*,i ,TET+*i↑ 直接短语有:ET+, i 句柄是:ET+ 4、已知文法G:S→iSeS|iS|i ,该文法 是二义文法吗?为什么? 【解答】该文法是二义文法。 因为对于句子iiiei 存在两种不同的最 左推导: 第 1 种推导:S? iSeS? iiSeS? iiieS? iiiei 第2种推导:S?iS?iiSeS?iiieS?iiiei 第3 章 1、用正规式描述下列正规集: (1)C 语言的十六进制整数; (2)以ex 开始或以ex 结束的所有小写字母构成的符号串; (3)十进制的偶数。 【解答】 (1)C 语言十六进制整数以0x 或者0X 开头,所以一般形式应该为(+|-|ε) (0x|0X)AA*,其中前面括号表示符号, 可以有正号、负号,也可以省略(用ε表示)默认是正数,A 表示有资格出现在十六进制整数数位上的数字,AA*表示一位或者多位(一个或者多个数字的

嵌入式系统模拟试题及答案

学习中心/函授站_ 姓名学号 西安电子科技大学网络与继续教育学 院 2014学年下学期 《嵌入式系统》期末考试试题 (综合大作业) 题号一二三四五总分 题分2010302020 得分 考试说明: 1、大作业于2014年12月25日下发,2015年1月10日交回; 2、考试必须独立完成,如发现抄袭、雷同均按零分计; 3、答案须手写完成,要求字迹工整、卷面干净。 一、问题简述(每小题4分,共20分) 1、简述嵌入式系统的定义和组成结构。 答:嵌入式系统是以应用为中心,以计算机技术为基础,并软硬件可剪裁、功能、 ,可靠性、体积、重量、成本、功耗、成本、安装方式等方面符合要求的专用计算机系统。 嵌入式系统一般由嵌入式微处理器、存储与I/O部分、外设与执行部分、嵌入式软件等四个部分组成。 2、简单说明ARM微处理器的特点。 答:(1) 体积小、低功耗、低成本、高性能。 (2) 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼 容8位/16位器件。

(3) 大量使用寄存器,指令执行速度更快。 (4) 大多数数据操作都在寄存器中完成,通过Load/Store结 构在内存和寄存器之间批量传递数据。 (5) 寻址方式灵活简单,执行效率高。 (6) 指令长度固定。 3、简述嵌入式系统产品的设计和开发过程。 答:①在嵌入式系统的开发过程中,一般采用的方法是首先在通用PC机上的集成开发环境中编程;②然后通过交叉编译和链接,将程序转换成目标平台(嵌入式系统)可以运行的二进制代码;③接着通过嵌入式调试系统调试正确;④最后将程序下载到目标平台上运行。 要强调,选择合适的开发工具和调试工具,对整个嵌入式系统的开发都非常重要。 4、简述嵌入式系统设计中要考虑的因素。 答:在嵌入式系统的开发过程中,要考虑到实时性、可靠性、稳 定性、可维护性、可升级、可配置、易于操作、接口规范、抗干 扰、物理尺寸、重量、功耗、成本、开发周期等多种因素。 5、什么是BootLoader,了解其在嵌入式系统中作用。 答:就是启动载入或引导加载又叫自举装载。由于系统加电后需 要首先运行BootLoader这段程序,因此它需要放在系统加电后 最先取指令的地址上。嵌入式处理器的生产厂商都为其处理器预 先安排了一个在系统加电或复位后最先取指令的地址。 二、名词解释(每小题2分,共10分) 1、DSP(Digital Signal Processor),数字信号处理器,一种特别用于快速处理数字信号的微处理器。DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。 2、RTOS Real Time Operating System. 译为实时操作系统。实时系统是指一个能够在指定的或者确定的时间内,实现系统功能和对外部或内部、同步或异步事件作出响应的系统。 3、BSP设计板级支持包(BSP)的目的主要是为驱动程序提供访问硬件设备寄存器的函数包,从而实现对操作系统的支持。类似于PC机上的BIOS,是一个承上启下的软件层次。由嵌入OS和用户开发相结合取得。BSP一般是在嵌入式系统上固化存放。 4、总线竞争就是在同一总线上,同一时刻,有两个以上器件要通

嵌入式系统及应用

嵌入式系统及应用习题 第一章操作系统概述 1.什么是嵌入式系统? 2.简述嵌入式系统的发展过程。 3.嵌入式系统有哪些特点? 4.嵌入式系统的应用领域有哪些? 5.举出几个嵌入式系统应用的例子,通过查资料和独立思考,说明这些嵌入式系统产品主要由哪几部分组成,每个组成部分完成什么功能。(提示:数码相机、办公类产品、工业控制类产品的例子等。) 6.通过查阅资料,你认为嵌入式系统的发展趋势如何? 第二章嵌入式系统基础知识 1.从硬件系统来看,嵌入式系统由哪些部分组成? 2.从软件系统来看,嵌入式系统由哪几部分组成? 3.嵌入式处理器的按体系结构分哪几类? 4.半导体存储器分为哪几种?说明它们的特点及用途。 5. 嵌入式软件体系结构有哪几种类型,优缺点如何? 6. 嵌入式系统产品开发一般包括哪几个阶段?每一个阶段的主要工作有哪些? 7.嵌入式系统主要由软件和硬件两大部分组成,其中有的功能可以用软件实现,又可以用硬件实现,那么软件和硬件的划分一般有哪些原则?举出几个同一个功能既可以用软件实现,又可以用硬件实现的例子。 大作业1: 选择一个嵌入式系统产品(如手机、PDA、工业控制产品、智能家用电器等),利用本章学过的知识,假设你是系统的总设计师,那么你认为应该如何运作这个产品的开发,直到把产品从实验室推向市场。 提示:题目较大,嵌入式系统开发包括需求分析、设计、实现、测试等方面。在实现方面,不必把产品开发出来(即不必设计电路图,不必编写程序代码,只需概括地写出软件硬件需要完成的工作即可)。 第三章嵌入式系统平台构建 1.嵌入式系统的硬件有哪几个组成部件? 2.通用处理器与嵌入式处理器有哪些相同和不同的地方? 3.常用的嵌入式处理器、控制器、数字信号处理器有哪些?各自有什么特点,通常适用于哪些方面的应用?除了书上介绍的嵌入式处理器之外,你还能提供哪些嵌入式处理器(型号和制造商)? 4.设计嵌入式系统时,.选择嵌入式处理器需要考虑哪些因素? 5.嵌入式操作系统有哪些特点,怎样选择嵌入式操作系统? 6. 举例说明ARM处理器和ucos操作系统的应用。 7. 说明S3C44B0X存储空间的分配。 第四章 ARM嵌入式微处理器体系结构 1. ARM处理器的特点有哪些? 2. 简述ARM处理器的工作状态。 3. 简述ARM处理器的7种运行模式。

嵌入式系统设计复习题

山东理工大学成人高等教育嵌入式系统设计复习题 一、简述题 1、画出MCS-51单片机的总线形成图,并写出地址线和数据线的数量 2、简述定时器/计数器方式1和方式2的最长定时器时间与最短定时时间(外部晶振为6MHz) 3、简述串行口的控制寄存器SCON中的SM0、SM1、SM2的含义 4、如果一个8位的D/A转换器满量程为5V,试分别确定当数字量为75H、0ACH时对应的模拟量。 5.MCS-51系列单片机三总线如何产生?说明各控制总线的名称及含义。 6.写出MCS-51单片机P3口的第二功能名称含义。 7.MCS-51单片机工作寄存器区字节地址范围是多少?若选择当前工作寄存器区为2区,应如何设置? 8.当中断控制寄存器IE的内容为92H时的含义是什么? 9.简述程序状态字PSW各位的含义。 10.MCS-51系列单片机内部有哪些主要逻辑部件组成? 11.P3口的第二功能是什么。 12.MCS-51单片机内部RAM如何分配的? 13.写出将片内RAM 30H单元、片外RAM 3000H单元的内容读入A中的指令。 14.位地址20H与字节地址20H有何区别?位地址20H具体在片内RAM中什么位置?15.写出特殊功能寄存器IE、IP、TMOD的名称及功能。 二、名词解释 1、A/D分辨率 2、中断

三、编程 1、定时器/计数器初始化编程 若要求T0作为定时器以方式1工作,定时时间为50ms; T1作为计数器以方式2工作,计3个脉冲溢出。设单片机晶振频率为12MHZ,编写初始化程序。 2、编程将片内RAM31H单元的高3位和30H单元的高5位合并为1个字节送片内RAM32H,要求31H的高3位在高位上。 3.以30H为起始地址的内部RAM中,连续存放8个单字节无符号数, 试编一程序,求其平均值送52H单元。 4.片内RAM的40H、41H单元存放2个压缩的BCD码,编制程序将其转换成七段码,并存入片内30H~33H单元中。已知七段码表的首地址为TAB。 四、设计 1、画出利用8255A管理LED3位静态显示的原理简图,并编写显示数字5、7、9的程序。 五、指令题 1.设片内RAM(30H)=0EH,执行下面程序后,(A)=?该程序完成何功能? MOV R0,#30H 答: MOV A,@R0 结果A= RL A 功能: MOV B,A RL A RL A ADD A,B RET 2.设(A)=40H,(R1)=23H,(40H)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值? (1)XCH A,R1 (2)XCHD A,@R1 3.设内部RAM中44H单元的内容为43H,执行下列程序后 MOV SP,#78H MOV R1,#44H

编译原理课后习题答案(陈火旺+第三版)

第二章 P36-6 (1) L G ()1是0~9组成的数字串 (2) 最左推导: N ND NDD NDDD DDDD DDD DD D N ND DD D N ND NDD DDD DD D ??????????????????0010120127334 556568 最右推导: N ND N ND N ND N D N ND N D N ND N ND N D ??????????????????77272712712701274434 886868568 P36-7 G(S) O N O D N S O AO A AD N →→→→→1357924680||||||||||| P36-8 文法: E T E T E T T F T F T F F E i →+-→→|||*|/()| 最左推导: E E T T T F T i T i T F i F F i i F i i i E T T F F F i F i E i E T i T T i F T i i T 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 E T F T F F F E F E T F E F F E i F T i F F i F i i i i i ?+?+?+?+?+?+?+?+?????+?+?+?+?+?+?+**********()*()*()*()*()*()*()*() 语法树:/********************************

编译原理(清华大学 第2版)课后习题答案

第三章 N=>D=> {0,1,2,3,4,5,6,7,8,9} N=>ND=>NDD L={a |a(0|1|3..|9)n且 n>=1} (0|1|3..|9)n且 n>=1 {ab,} a n b n n>=1 第6题. (1) <表达式> => <项> => <因子> => i (2) <表达式> => <项> => <因子> => (<表达式>) => (<项>) => (<因子>)=>(i) (3) <表达式> => <项> => <项>*<因子> => <因子>*<因子> =i*i (4) <表达式> => <表达式> + <项> => <项>+<项> => <项>*<因子>+<项> => <因子>*<因子>+<项> => <因子>*<因子>+<因子> = i*i+i (5) <表达式> => <表达式>+<项>=><项>+<项> => <因子>+<项>=i+<项> => i+<因子> => i+(<表达式>) => i+(<表达式>+<项>) => i+(<因子>+<因子>) => i+(i+i) (6) <表达式> => <表达式>+<项> => <项>+<项> => <因子>+<项> => i+<项> => i+<项>*<因子> => i+<因子>*<因子> = i+i*i 第7题

第9题 语法树 s s s* s s+a a a 推导: S=>SS*=>SS+S*=>aa+a* 11. 推导:E=>E+T=>E+T*F 语法树: E +T * 短语: T*F E+T*F 直接短语: T*F 句柄: T*F 12.

短语: 直接短语: 句柄: 13.(1)最左推导:S => ABS => aBS =>aSBBS => aBBS => abBS => abbS => abbAa => abbaa 最右推导:S => ABS => ABAa => ABaa => ASBBaa => ASBbaa => ASbbaa => Abbaa => a1b1b2a2a3 (2) 文法:S → ABS S → Aa S →ε A → a B → b (3) 短语:a1 , b1 , b2, a2 , , bb , aa , abbaa, 直接短语: a1 , b1 , b2, a2 , , 句柄:a1 14 (1) S → AB A → aAb | ε B → aBb | ε (2) S → 1S0 S → A A → 0A1 |ε 第四章 1. 1. 构造下列正规式相应的DFA (1)1(0|1)*101 NFA (2) 1(1010*|1(010)*1)*0 NFA

相关文档
相关文档 最新文档