编译器在语言处理系统中的位置源程序预处理器(Preprocessor)经过预处理的源程序链接器编译器将多个可重定位的机器代码文件(包括库文件)汇编语言程序连接到一起汇编器(Assembler)解决外部内存地址问题S可重定位的机器代码库文件链接器(Linker)/加载器(Loader其它可重定位目标程序目标机器代码
库文件 其它可重定位目标程序 链接器 将多个可重定位的机器 代码文件(包括库文件) 连接到一起 解决外部内存地址问题 编译器在语言处理系统中的位置 预处理器 (Preprocessor) 源程序 编译器 经过预处理的源程序 汇编语言程序 链接器 (Linker) /加载器 (Loader) 可重定位的机器代码 目标机器代码 汇编器 (Assembler)
第一章绪论编译系统的结构
编 译 系统的结构 第一章 绪论
59call sc60OVal,[31-1]编译系统的结构61callsc62[s1]NOVal,63call sc#include<stdio.h>64mOVal,int nain()65call ac66ret167 storechr endpint a,b,ge,shi,bai,m,n,i,number;60消屏,无入口参效printf("请输入(输入完两个数按一次回车键):In");69clearcrtprocnearscanf("%d%d,&a,&b);70OVax,0600h71bh,07hwhile(at=0,b!=0)mOV72cx,o0nOVscanf("%d%d",&a,&b);73BOV184thdx,if(a>=100,b<-999)7410hintif(a>b)retn=b,n=a;ertendp入口警数,行数noT.elseproc near,no:vordm=a,n=b:cx,no机器是怎么翻译的?for(i-n;i<-n;""O2cx,-bai=i/1o;.endit.repeatshi-(i%100)/1084ah,02hnoVge=i%10;85moVdl,crif(i=-bai*bai*bai+shi*shi*shi+ge*ge)8621hineprintf("%5d",i);8702hnovah,O.0BOVdl,1tnunber++;O8921hintprintf("n");90-untslcxs91retif(nunber==)9znextlien endp93printf("no\n");end94编译器汇编语言程序/机器语言程序高级语言程序
编译系统的结构 高级语言程序 编译器 汇编语言程序/机器语言程序 机器是怎么翻译的?
人工英汉翻译的例子在房间里,他用锤子砸了一扇窗户In therooml.hebrokewindow<with a hammer>a状语主语谓语补语宾语目标语言句子源语言句子第2步第1步句子的语义生成目标语言分析源语言语义分析(SemanticAnalvsis)山XAGENTOBJECTLOCATIONTOOL中间表示,独立于具体的语言
In the room , he broke a window with a hammer 人工英汉翻译的例子 ~~~~~~~~~~~ [ ] < > 在房间里,他用锤子砸了一扇窗户。 中间表示, 独立于具体的语言 状语 主语 谓语 宾语 补语 第1步 分析源语言 源语言句子 句子的语义 第2步 生成目标语言 目标语言句子 语义分析(Semantic Analysis)
人工英汉翻译的例子代词动词冠词名词介词 冠词名词介词冠词名词★+1++LIn theroom]hebrokewindow<with a hammer>a主语谓语状语补语宾语名短名短介短动短介短源语言句子目标语言句子第2步第1步句子的语义分析源语言生成目标语言语义分析(SemanticAnalysis)语法分析(SvntaxAnalysis)词法分析(LexicalAnalysis)
In the room , he broke a window with a hammer 介短 名短 动短 名短 介短 语法分析(Syntax Analysis) 词法分析(Lexical Analysis) 介词 冠词 名词 代词 动词 冠词 名词 介词 冠词 名词 ~~~~~~~~~~~ [ ] < > 状语 主语 谓语 宾语 补语 第1步 分析源语言 源语言句子 句子的语义 第2步 生成目标语言 目标语言句子 语义分析(Semantic Analysis) 人工英汉翻译的例子