翻译百科|《中国大百科全书》中的“翻译程序”
01
翻译程序|Translator
《中国大百科全书》(第三版·网络版)发布了黄春博士撰写的“翻译程序”词条。现转录如下,以资交流。
和编译器类似,翻译程序将高级语言程序转换为另一种语言程序需要经过:词法分析、语法分析、语义分析、将程序转换为中间表示以及目标代码生成。词法分析是输入源程序,对构成源程序的字符流进行扫描,将字符组成有意义的单词符号序列。语法分析在词法分析的基础上,根据源语言的语法规则,把单词符号串分解成各类语法单位,确定整个输入符号串是否符合语言的语法规范。语义分析与中间代码生成对语法分析所识别出的各类语法范畴,分析其含义,并产生中间表示。为了方便进行源到源转换,翻译程序使用的中间表示往往是抽象语法树(Abstract Syntax Tree,AST)。代码生成将中间代码翻译成目标语言程序。
为新的语言研制可靠、高效的编译器难度较大,而和编译器相比,翻译程序主要关注同抽象级别的程序语言之间源到源的翻译,只进行很少的优化,和底层平台的体系结构无关,实现相对容易。翻译程序最初就是为了快速实现新的程序设计语言而研制的,至今,这仍是翻译程序的主要用途。例如IBM提出的高效能并行语言X10,通过源到源翻译器将其翻译成C++和Java语言,由于C++和Java在绝大多数计算机平台上都能够运行,这样新语言也可以在这些平台上执行。
随着计算机应用范围的不断扩大,又相继出型了各种类型的翻译程序。很多自动并行化工具,常常通过将高级语言程序翻译成带并行指导的高级语言程序,以实现并行化,例如OpenMP、OpenACC并行程序。有的翻译器是为了实现遗留程序向语言的新版本迁移,例如将Python 2程序向Python3迁移,以避免版本不兼容的问题。
在程序的翻译过程中,为了实现源程序的语法机制,翻译程序可能会对源程序的结构进行变换,例如源到源实现OpenMP并行程序时,OpenMP并行区会被抽取出来形成单独的子程序,翻译器需要记录源程序和目标程序之间的映射关系,方便对源程序进行开发和调试。
02
作者简介
02
文献来源
原文发表于《中国大百科全书》第三版网络版,欢迎各位学者阅读、分享。
特别说明:本文仅用于学术交流,如有侵权请后台联系小编删除。
- END -
翻译圈公众号旨在为读者提供名师和专家对口笔译的真知灼见,CATTI考试和MTI入学考试信息,翻译等语言服务就业资讯,以及口笔译学习资源和知识,希望在翻译之路上,为大家助上一臂之力。欢迎大家积极留言,为我们提供建设性意见,我们共同进步!
转载来源:《中国大百科全书》(第三版网络版)
转载编辑:郭可妍
审核:吴志雄、刘一葶
项目统筹:吴志雄
资讯推荐
▶精品课程
精品课程|GenAI时代的西部翻译技术实战研修班(一号通知)
▶资源宝库
资源宝库|如何用Python调用智谱AI的API进行智能问答
资源宝库|习近平代表第十九届中央委员会向大会作报告(日语版)
▶翻译百科
▶代码分享
翻译技术|代码分享——将上英下中excel转换为上中下英txt
▶文献精读
文献精读|Explicitation in Neural Machine Translation
文献精读|Haidee Kruger:翻译和编辑语言的中介效应
文献精读|Vanmassenhove:机器翻译中语言丰富性缺失
文献精读|基于Universal Dependicies的人工翻译变体中的句法特征
▶译界动态
CATTI和MTI资讯
语言服务就业信息
翻译名师真知灼见
翻译学习精品课程