《语言翻译问题》PPT课件.ppt

《语言翻译问题》PPT课件.ppt

ID:52109282

大小:420.50 KB

页数:59页

时间:2020-03-31

《语言翻译问题》PPT课件.ppt_第1页
《语言翻译问题》PPT课件.ppt_第2页
《语言翻译问题》PPT课件.ppt_第3页
《语言翻译问题》PPT课件.ppt_第4页
《语言翻译问题》PPT课件.ppt_第5页
资源描述:

《《语言翻译问题》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3语言翻译问题[学习目标]:学习和掌握语言的语法的基本概念和基本要素,理解翻译的步骤;学习和掌握BNF文法。了解通用语法的标准,学习语法的基本要素;了解几种语言的特点;学习和掌握源程序分析和目标程序综合的原理和方法;掌握和使用BNF文法;[重点和难点]:本章的重点是:源程序的分析和目标程序综合的原理与方法;BNF文法;本章的难点是:语法二义性,语义分析原理;[知识点]:语法;语义;二义性;独立子程序定义;独立数据定义;嵌套子程序定义;独立接口定义;词法分析;语法分析;语义分析;优化;连接与载入;系

2、统自举;语法树;BNF文法对于在虚拟计算机上实现的高级语言程序,必须经过翻译才能在实际的计算机上运行。翻译一般要经“词法分析”—>“语法分析”—>“语义分析”—>“代码优化”—>“目标程序生成”等5个阶段。其中,“语法分析”阶段最为重要,它是描述程序结构的主要手段。“遍”的概念?“一遍”翻译?“二遍”翻译?“三遍”翻译?本章概述本章主要内容3.1编程语言语法3.2翻译步骤3.3BNF文法3.1编程语言语法语法:以句子中词的排列来表明它们的彼此关系。如C语言中,x=y+z具有正确的语法,而x+-则语法

3、错误。语法是理解一个程序的重要手段,也为将源程序翻译成目标程序提供了必要的信息。但,只有语法是不够的。如“张三踢足球”和“足球踢张三”,语法都正确,但语义?如x=2.54+3.67,结果为5,6,6.21?本节主要内容通用语法标准语言的语法要素主程序-子程序结构通用语法标准可读性:如果一个程序的算法和数据结构能够明显的从程序文本中观察出来,则这个程序是可读的。可读的程序称之为自引证的。可读性成为如今程序编制的重要目标是一。增加可读性的方法:用自然语句格式、结构化、自由使用关键字和噪声码、注释、不限标

4、识符长度、助记符、自由域格式、完整的声明。可写性:可写性是指程序易于编写。语法结构简单的语言程序可写性好。增加可写性的方法:设计简洁、整齐的语法结构。允许保留不明确声明和操作的隐含。可写性与可读性是一对矛盾。简洁的结构可增强程序的可写性,但降低了程序的可读性。如C语言,可写性较好,但可读性差。允许保留不明确声明和操作的隐含可增强可写性,但会降低可读性,同时可检验性差。易检验性:证明程序的正确性。这不仅涉及到语法,主要涉及到语义的正确性验证。目前,主要通过一些测试方法,以及谓词演算方法来验证。易翻译性

5、:源程序容易翻译成可执行的目标程序。易翻译性与翻译器密切关联。易于翻译的关键是结构的规范化。易翻译性与可读性和可写性之间存在矛盾。如LISP程序易于翻译,但可读性和可写性较差。COBOL语言程序的语义较为简单,可读性和可写性较好,但由于存在数量庞大的语句和声明,翻译极为困难。无二义性:所谓二义性是指:相同的语法结构存在两种或更多种理解。无二义性是每个程序语言设计的中心问题。二义性问题通常不是出现在单个的程序元素中,而是在不同结构的相互作用下表现出来的。例1:C语言中存在两种不同的条件形式:if(Co

6、nE)Sif(ConE)S1elseS2每一条语句均清楚的解释了语义,不存在二义性。但将两个语句组合为:if(ConE1)if(ConE2)S1elseS2此时,存在二义性。语句S2的执行控制存在不同的理解,是ConE1为假时执行,还是ConE1为假时执行?解决方法:插入定界符,如if(ConE1)if(ConE1){if(ConE2)S1;或{if(ConE2)S1};elseS2;}elseS2;二者语义中强制的选择一种作为合法的解释,如就近匹配原则,即else与最近的if匹配。例2:Fortr

7、an语言中,函数调用和数组引用语法是完全相同的。如语句x=A(i,j)存在二义性。此时A(i,j)是函数A的调用?还是数组A的引用?解决方法:若没有数组A的声明,就默认为是函数A的调用。Pasacl和C语言中的解决方案是:用[]表示数组,()表示函数,如A[i,j]理解为数组引用,A(i,j)解释为函数调用。返回本节语言的语法要素选用不同的基本语法要素就形成了一种语言的基本风格。下面,将简介一些语法要素。字符集:字符集的选择是语法设计的第一步。通常选择的字符集是ASCII字符集。目前,通常使用8为(

8、一个Byte)来表示一个字符,这足够表示52个大小写字母、10个数字、标点符号以及一些特殊字符。但如今,计算机工业越来越国际化,各个国家的文字、货币符号等已远远超过256。因此,考虑使用16位表示字符集。标识符:大多数语言都遵循以字母开始字母和数字组成的字符串作为标识符的原则。有的语言还允许包括“.”和“_”之类的特殊字符。如name_student是C中的合法标识符。这样,可以增强可读性和改善长度方面的限制。标识符长度应该不受限制。操作符:大多数语言均使用“+”和“

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。