9、器语言代码;汇编语言程序;待装配的机器语言代码模块考虑的问题包括:每一个语法成分的语义;目标代码中需要哪些信息,怎样截取这些信息。5、符号表的作用是什么?符号表的查找的整理技术有哪几种?作用:登记源程序中出现的各种名字及其信息,以及编译各阶段的进展状况。主要技术:线性表,对折查找与二叉树,杂凑技术。1、实现高级语言程序的途径有哪几种?它们之间的区别?计算机执行用于高级语言编写的程序主要有两种途径:解释和编译。在解释方式下,翻译程序并不对高级语言进行彻底的翻译,而是读入一条语句,就解释其含义并执行,
10、然后再读入下一条语句,再执行。收集于网络,如有侵权请联系管理员删除精品文档在编译方式下,翻译程序先对高级语言进行彻底的翻译并生成目标代码,然后再对目标代码进行优化,即对源程序的处理是先翻译后执行。从速度上看,编译方式下,源程序的执行比解释方式下快,但在解释方式下,有利于程序的调试。2、文法G[S]为:S->Ac
11、aBA->abB->bc该文法是否为二义的?为什么?对于串abc(1)S=>Ac=>abc(2)S=>aB=>abc即存在两不同的最右推导所以,该文法是二义的。3、将文法G[S]改写为等价
12、的G'[S],使G'[S]不含左递归和左公共因子。 G[S]:S→SAe
13、Ae收集于网络,如有侵权请联系管理员删除精品文档 A→dAbA
14、dA
15、d文法G[S]改写为等价的不含左递归和左公共因子的G'[S]为: S→AeS' S'→AeS'
16、ε A→dA' A'→AB
17、ε B→bA
18、ε4、证明LL(1)文法是无二义性文法证明:LL(1)文法中任意两个产生式Pi,Pj,(Pi,Pj具有相同的左部非终极符) Predict(Pi)∩Predict(Pj)为空
19、 设Pi:A→α1α2…αn Pj:A→α11α21…αm1 (A∈VN,α1α2…αn,α11α21…αm1∈VN∪VT) 因为Predict(Pi)∩Predict(Pj)为空,因此Pi,Pj中的A经一步推导, 最左的终极符肯定不同,因此,对于一个字符串,不可能有两种方法推导。收集于网络,如有侵权请联系管理员删除精品文档5、文法G[S]为:S->Ac
20、aBA->abB->bc写出L(G[S])的全部元素S=>Ac=>abc或S=>aB=
21、>abc所以L(G[S])={abc}1、解释什么是推导?我们称αAβ直接推出αγβ,即αAβTαγβ,仅当A→γ是一个产生式,且α、β∈(VN∪VT)*。如果α1α2…αn,则我们称这个序列是从α1至α2的一个推导。若存在一个从α1αn的推导,则称α1可推导出αn。推导是归约的逆过程。2、将文法G[S]改写为等价的G′[S],使G′[S]不含左递归和左公共因子。 G[S]:S→bSAe
22、bA A→Ab
23、d文法G[S]改写为等价的不含左递归和左公共因子的G'[S]为: S→bB B→
24、SAe
25、A A→dA' A'→bA'
26、ε收集于网络,如有侵权请联系管理员删除精品文档3、写出Pascal或C语言的字母表。pascal语言的字母表是:{0,1,……,9}∪{a,……,z}∪{A,……,Z}∪{+,-,*,/,,↑,?,?,_,(,),[,],;,:,=,<,>,',",Enter,Space,Tab}C语言的字母表是:_,0……9,a……z,A……Z,+,-,*,/,,%,(,),[,],.,&,
27、,!,=,#,{,},’,”,?,:,<,>,Enter,