全球旧事资料 分类
复习题
一、名词解释:1文法:文法是对于语言结构的定义和描述。文法必须有三个主要部分:(1)字母表,表中的字符称为终结符(2)一个中间字母集,称为非终结符(3)文法规则集合2有害规则:文法中凡是有形如AA的规则,称为有害规则。这种规则,一方面是不必要的,另一方面还会引起文法的二义性。3等价状态:从Si出发能导出的所有符号串集合记为LSi,设有两个状态Si和Sj,若有LSiLSj,则称Si和Sj是等价状态。4自动机:如果能用一种算法或一个过程来识别字母表E上的某个语言的句子,便能产生语言。假如有这样的识别器(转换器)机器模型,就能系统地产生E中的一切符号串,并能检查每个符号串,看它是否是该语言的句子,然后列表输出是该语言句子的那些符号串。这种能识别或生成语言的识别器称为自动机。5自顶向下分析:也称面向目标的分析方法,从文法的开始符号出发,向下推导,如果能推出给定的符号串,那么表示该符号串是符合语言语法的句子,否则不符合语言的语法。6语法制导翻译方法:直观上说就是为每个文法规则确定相应的语义,编写相应的翻译程序(称语义动作或语义子程序),整个翻译程序以语法分析为主导,在语法分析的同时执行这些子程序。即语法分析程序根据输入的单词串分析其是否与某个规则的右部相匹配,若相匹配,则根据所取的语法分析方法进行推导(对于自顶向下的分析)或归约(对于自底向上的分析),此时调用相应的语义子程序,完成既定的翻译任务。二、问答题:1.编译程序的五个阶段,以及每个阶段的任务是什么?2.编译程序的开发技术有哪些?并解释。1自编译。某种高级语言书写自己的编译程序称为自编译。2交叉编译。是指A机器上编译程序能产生B机器上的目标代码。3自展。首先确定一个非常简单的核心语言L0,然后用机器语言或汇编语言书写出它的编译程序T0,再把语言L0扩充到L1,此时L0属于L1,并用L0编写L1的编译程序T1,再把语言L1扩充为L2,则有L1属于L2,并用L1编写L2的编译程序T2,……如此逐步扩展下去,直到完成所要求的编译程序4移植。是将A机器上的某高级语言的编译程序移植到B机器上运行。3.什么是编译程序?什么是解释程序?它们有什么区别?编译程序是将高级语言写的源程序翻译成目标语言的程序。解释程序不是直接将高级语言的源程序翻译成目标程序后再执行,而是一个语句一个语句读入源程序,即边解释边执行。把源程序看成是自己的输入,源程r
好听全球资料 返回顶部