① 文学着作的翻译和编译有什么区别
编译是在翻译的基础上根据需要进行内容选择,选取一部分构成一篇文章;翻译多数是中英翻译,有一种语言转化为另一种语言,不加选择。
英语翻译是要忠实地把英文转换成中文(或者反过来),对翻译者两种语言的水平都要求很高,而且翻译过程还有大量查词典的体力活以确保译文准确。哪怕是很小的误译、偏差都可能造成严重后果。
相比之下,编译不必完全忠实于原文,只要从英文材料中根据自己的需要选取材料写成中文的文章就可以了。编译的应用更为广泛,可以用于撰写科普文章、学术报告、新闻报道、商务PPT等。
编译是按照自己的写作和编辑思路为主,可以收集多个来源的英文材料进行处理,取其精华去其废话,最后写出来的作品对于国内读者来说往往比翻译更容易阅读。
翻译做到“信、达、雅”的难度极高,忠于英文的话中文就难免别扭,通常只有专业人士、英语大神等少数人才能翻译得既准确传神又通俗易懂。因此,编译更适合大部分非专业人士进行。
(1)编译词什么意思扩展阅读:
翻译的主要标准
翻译是语际交流过程中沟通不同语言的桥梁。一般来说,翻译的标准主要有两条:忠实和通顺。
1、忠实
是指忠实于原文所要传递的信息,也就是说,把原文的信息完整而准确地表达出来,使译文读者得到的信息与原文读者得到的信息大致相同。
2、通顺
是指译文规范、明白易懂,没有文理不通、结构混乱、逻辑不清的现象。
② 编译原理全部的名词解释
书上有别那么懒!.
编译过程的六个阶段:词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成
解释程序:把某种语言的源程序转换成等价的另一种语言程序——目标语言程序,然后再执行目标程序.解释方式是接受某高级语言的一个语句输入,进行解释并控制计算机执行,马上得到这句的执行结果,然后再接受下一句.
编译程序:就是指这样一种程序,通过它能够将用高级语言编写的源程序转换成与之在逻辑上等价的低级语言形式的目标程序(机器语言程序或汇编语言程序).
解释程序和编译程序的根本区别:是否生成目标代码
句子的二义性(这里的二义性是指语法结构上的.):文法G[S]的一个句子如果能找到两种不同的最左推导(或最右推导),或者存在两棵不同的语法树,则称这个句子是二义性的.
文法的二义性:一个文法如果包含二义性的句子,则这个文法是二义文法,否则是无二义文法.
LL(1)的含义:(LL(1)文法是无二义的; LL(1)文法不含左递归)
第1个L:从左到右扫描输入串 第2个L:生成的是最左推导
1 :向右看1个输入符号便可决定选择哪个产生式
某些非LL(1)文法到LL(1)文法的等价变换: 1. 提取公因子 2. 消除左递归
文法符号的属性:单词的含义,即与文法符号相关的一些信息.如,类型、值、存储地址等.
一个属性文法(attribute grammar)是一个三元组A=(G, V, F)
G:上下文无关文法.
V:属性的有穷集.每个属性与文法的一个终结符或非终结符相连.属性与变量一样,可以进行计算和传递.
F:关于属性的断言或谓词(一组属性的计算规则)的有穷集.断言或语义规则与一个产生式相联,只引用该产生式左端或右端的终结符或非终结符相联的属性.
综合属性:若产生式左部的单非终结符A的属性值由右部各非终结符的属性值决定,则A的属性称为综合属
继承属性:若产生式右部符号B的属性值是根据左部非终结符的属性值或者右部其它符号的属性值决定的,则B的属性为继承属性.
(1)非终结符既可有综合属性也可有继承属性,但文法开始符号没有继承属性.
(2) 终结符只有综合属性,没有继承属性,它们由词法程序提供.
在计算时: 综合属性沿属性语法树向上传递;继承属性沿属性语法树向下传递.
语法制导翻译:是指在语法分析过程中,完成附加在所使用的产生式上的语义规则描述的动作.
语法制导翻译实现:对单词符号串进行语法分析,构造语法分析树,然后根据需要构造属性依赖图,遍历语法树并在语法树的各结点处按语义规则进行计算.
中间代码(中间语言)
1、是复杂性介于源程序语言和机器语言的一种表示形式.
2、一般,快速编译程序直接生成目标代码.
3、为了使编译程序结构在逻辑上更为简单明确,常采用中间代码,这样可以将与机器相关的某些实现细节置于代码生成阶段仔细处理,并且可以在中间代码一级进行优化工作,使得代码优化比较容易实现.
何谓中间代码:源程序的一种内部表示,不依赖目标机的结构,易于代码的机械生成.
为何要转换成中间代码:(1)逻辑结构清楚;利于不同目标机上实现同一种语言.
(2)便于移植,便于修改,便于进行与机器无关的优化.
中间代码的几种形式:逆波兰记号 ,三元式和树形表示 ,四元式
符号表的一般形式:一张符号表的的组成包括两项,即名字栏和信息栏.
信息栏包含许多子栏和标志位,用来记录相应名字和种种不同属性,名字栏也称主栏.主栏的内容称为关键字(key word).
符号表的功能:(1)收集符号属性 (2) 上下文语义的合法性检查的依据: 检查标识符属性在上下文中的一致性和合法性.(3)作为目标代码生成阶段地址分配的依据
符号的主要属性及作用:
1. 符号名 2. 符号的类型 (整型、实型、字符串型等))3. 符号的存储类别(公共、私有)
4. 符号的作用域及可视性 (全局、局部) 5. 符号变量的存储分配信息 (静态存储区、动态存储区)
存储分配方案策略:静态存储分配;动态存储分配:栈式、 堆式.
静态存储分配
1、基本策略
在编译时就安排好目标程序运行时的全部数据空间,并能确定每个数据项的单元地址.
2、适用的分配对象:子程序的目标代码段;全局数据目标(全局变量)
3、静态存储分配的要求:不允许递归调用,不含有可变数组.
FORTRAN程序是段结构,不允许递归,数据名大小、性质固定. 是典型的静态分配
动态存储分配
1、如果一个程序设计语言允许递归过程、可变数组或允许用户自由申请和释放空间,那么,就需要采用动态存储管理技术.
2、两种动态存储分配方式:栈式,堆式
栈式动态存储分配
分配策略:将整个程序的数据空间设计为一个栈.
【例】在具有递归结构的语言程序中,每当调用一个过程时,它所需的数据空间就分配在栈顶,每当过程工作结束时就释放这部分空间.
过程所需的数据空间包括两部分
一部分是生存期在本过程这次活动中的数据对象.如局部变量、参数单元、临时变量等;
另一部分则是用以管理过程活动的记录信息(连接数据).
活动记录(AR)
一个过程的一次执行所需要的信息使用一个连续的存储区来管理,这个区 (块)叫做一个活动记录.
构成
1、临时工作单元;2、局部变量;3、机器状态信息;4、存取链;
5、控制链;6、实参;7、返回地址
什么是代码优化
所谓优化,就是对代码进行等价变换,使得变换后的代码运行结果与变换前代码运行结果相同,而运行速度加快或占用存储空间减少.
优化原则:等价原则:经过优化后不应改变程序运行的结果.
有效原则:使优化后所产生的目标代码运行时间较短,占用的存储空间较小.
合算原则:以尽可能低的代价取得较好的优化效果.
常见的优化技术
(1) 删除多余运算(删除公共子表达式) (2) 代码外提 +删除归纳变量+ (3)强度削弱; (4)变换循环控制条件 (5)合并已知量与复写传播 (6)删除无用赋值
基本块定义
程序中只有一个入口和一个出口的一段顺序执行的语句序列,称为程序的一个基本块.
给我分数啊.
③ 缂栬疟鏄浠涔堟剰镐
缂栬疟鏄浠涔堟剰镐濅粙缁嶅备笅锛
缂栬疟绋嫔簭锛圕ompiler锛宑ompiling program锛変篃绉颁负缂栬疟鍣锛屾槸鎸囨妸鐢ㄩ珮绾х▼搴忚捐¤瑷涔﹀啓镄勬簮绋嫔簭锛岀炕璇戞垚绛変环镄勬満鍣ㄨ瑷镙煎纺鐩镙囩▼搴忕殑缈昏疟绋嫔簭銆
瑙i喷绋嫔簭鏄涓绉嶈瑷澶勭悊绋嫔簭锛屽湪璇嶆硶銆佽娉曞拰璇涔夊垎鏋愭柟闱涓庣紪璇戠▼搴忕殑宸ヤ綔铡熺悊锘烘湰鐩稿悓锛屼絾鍦ㄨ繍琛岀敤鎴风▼搴忔椂锛屽畠鐩存帴镓ц屾簮绋嫔簭鎴栨簮绋嫔簭镄勫唴閮ㄥ舰寮(涓闂翠唬镰)銆
缂栬疟杩囩▼镞㈠彲浠ユ寜镦ц繖鍏涓阃昏緫姝ラら‘搴忓湴镓ц岋纴涔熷彲浠ユ寜镦у钩琛屼簰阌佹柟寮忓幓镓ц屻傚湪纭瀹氱紪璇戠▼搴忕殑鍏蜂綋缁撴瀯镞讹纴甯稿父鍒呜嫢骞查亶瀹炵幇銆傚逛簬婧愮▼搴忔垨涓闂磋瑷绋嫔簭锛屼粠澶村埌灏炬壂瑙嗕竴娆″苟瀹炵幇镓瑙勫畾镄勫伐浣灭О浣滀竴阆嶃傛疮涓阆嶅彲浠ュ畬鎴愪竴涓鎴栫浉杩炲嚑涓阃昏緫姝ラょ殑宸ヤ綔銆
鍙浠ユ妸璇嶆硶鍒嗘瀽浣滀负绗涓阆嶏绂璇娉曞垎鏋愬拰璇涔夊垎鏋愪綔涓虹浜岄亶锛涗唬镰佷紭鍖栧拰瀛桦偍鍒嗛厤浣滀负绗涓夐亶锛涗唬镰佺敓鎴愪綔涓虹锲涢亶銆傚弽涔嬶纴涓轰简阃傚簲杈冨皬镄勫瓨鍌ㄧ┖闂存垨鎻愰珮鐩镙囩▼搴忚川閲忥纴涔熷彲浠ユ妸涓涓阃昏緫姝ラょ殑宸ヤ綔鍒嗕负鍑犻亶铡绘墽琛屻
④ 编译和译有什么区别
译表示直译,原来表达的什么意思就翻译成什么意思,编译表示经过翻译者的稍微加工,把原来作者的意思加以润色、组织再表达出来的文字。
⑤ 解释和编译的区别
解释和编译的区别如下:
1、读音不同
解释:读音是jiě shì。
编译:读音是biān yì。
2、意思不同
解释:意思是指在观察的基础上进行思考,合理地说明事物变化的原因,事物之间的联系,或者是事物发展的规律。
编译:编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。
编译的词法分析
词法分析的任务是对由字符组成的单词进行处理,从左至右逐个字符地对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为单词符号串的中间程序。执行词法分析的程序称为词法分析程序或扫描器。
源程序中的单词符号经扫描器分析,一般产生二元式:单词种别;单词自身的值。单词种别通常用整数编码,如果一个种别只含一个单词符号,那么对这个单词符号,种别编码就完全代表它自身的值了。若一个种别含有许多个单词符号,那么,对于它的每个单词符号,除了给出种别编码以外,还应给出自身的值。
词法分析器一般来说有两种方法构造:手工构造和自动生成。手工构造可使用状态图进行工作,自动生成使用确定的有限自动机来实现。
⑥ 汇编和编译程序的区别急
汇编程序是将汇编语言(低级语言)翻译成二进制机器指令的程序
编译程序是将高级语言(java,c++)翻译成二进制机器指令的程序