在北京网站建设的岗位,兰州网站订制,河北省建设厅网站网上建设大厅,《设计》完整版一、什么是编译程序编译程序是一种程序#xff0c;能够将某一种高级语言编写的源程序改造成另一种低级语言编写的目标程序#xff0c;他们在逻辑上等价、完成相同的工作二、编译阶段1、当目标程序是机器语言时#xff0c;编译阶段#xff1a;#xff08;1#xff09;编译…一、什么是编译程序编译程序是一种程序能够将某一种高级语言编写的源程序改造成另一种低级语言编写的目标程序他们在逻辑上等价、完成相同的工作二、编译阶段1、当目标程序是机器语言时编译阶段1编译阶段、2、执行阶段当目标程序是汇编语言时编译阶段1编译阶段 2汇编阶段 3执行阶段三、编译的两种方式1、编译方式此方式特点书写源程序的高级语言独立于机器2、解释方式四、编译过程的步骤Example1I wish you success词法分析 识别出句子中的每一个字符串语法分析主 谓 宾 间宾语义分析分析句子的含义中间代码生成用一种中间语言或内部形式表示的结果代码优化修饰工作目标代码生成将中间代码翻译成目标程序词法分析输入源程序对组成源程序的字符串从左到右进行扫描并根据语言的编写程序的高级语言的构词词法规则识别分解出一个个具有独立意义的字符串单词然后按顺序一一输出单词。单词关键字保留字、基本字标识符字符标点符号。输入源程序输出单词符号序列Example2分析源程序main{}词法分析后的输出保留字main{}2、语法分析在词法分析在词法分析的基础上根据语言高级语言的语法规则文法规则分析程序的语法结构把单词符号串分解成各类语法单位同时判断各种语法成分在语法结构上的正确性。语法单位短语、句子、程序端输入单词序列输出语法分析后的单词序列Example3分析程序 for i 1 to 100 do ii1经词法分析后的输出fori1to100doi1经过语法分析后为3、语义分析根据语法成分的结构分析其含义1类型审查 如C语言中*MOD☆若*为int则☆必为int否则报错2类型转化 如sumfirst count*10若count为浮点型则把10也转换为浮点型词法规则单词符号的形成规则如变量名用大写字母语法规定规定如何从单词符号形成语法单位4、中间代码生成用一种中间语言或内部形式表示的结果5、代码优化对中间代码进行优化处理使生成的代码更高效6、目标代码生成将中间代码翻译成目标程序五、编译阶段的组合编译前端与源语言有关与目标机无关的部分编译后端与目标机有关的部分遍对源程序或源程序的中间结果从头到尾扫描一次称为一遍六、编译程序实现的途径T型图将源语言S通过用语言H写的编译器翻译成目标语言TT型图的两种组合方式七、自展技术用“滚雪球”的方式生成编译程序思想先用目标机的语言书写源程序的一个子集的编译程序再用这个子集作为语言实现源语言的编译程序。八、自动生成技术LEX自动生成词法分析工具YACC自动生成语法分析工具编译的编译