- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本章主要内容 3.1 编程语言语法 3.2 翻译步骤 3.3 BNF文法 3.1 编程语言语法 语法:以句子中词的排列来表明它们的彼此关系。如C语言中,x=y+z具有正确的语法,而x+-则语法错误。 语法是理解一个程序的重要手段,也为将源程序翻译成目标程序提供了必要的信息。 但,只有语法是不够的。如“张三踢足球”和“足球踢张三”,语法都正确,但语义?如 x = 2.54+3.67, 结果为5,6,6.21? 本节主要内容 通用语法标准 语言的语法要素 主程序-子程序结构 通用语法标准 可读性: 如果一个程序的算法和数据结构能够明显的从程序文本中观察出来,则这个程序是可读的。可读的程序称之为自引证的。 可读性成为如今程序编制的重要目标是一。 增加可读性的方法:用自然语句格式、结构化、自由使用关键字和噪声码、注释、不限标识符长度、助记符、自由域格式、完整的声明。 可写性: 可写性是指程序易于编写。语法结构简单的语言程序可写性好。 增加可写性的方法:设计简洁、整齐的语法结构。允许保留不明确声明和操作的隐含。 可写性与可读性是一对矛盾。简洁的结构可增强程序的可写性,但降低了程序的可读性。如C语言,可写性较好,但可读性差。允许保留不明确声明和操作的隐含可增强可写性,但会降低可读性,同时可检验性差。 易检验性: 证明程序的正确性。 这不仅涉及到语法,主要涉及到语义的正确性验证。 目前,主要通过一些测试方法,以及谓词演算方法来验证。 易翻译性: 源程序容易翻译成可执行的目标程序。易翻译性与翻译器密切关联。 易于翻译的关键是结构的规范化。 易翻译性与可读性和可写性之间存在矛盾。如LISP程序易于翻译,但可读性和可写性较差。COBOL语言程序的语义较为简单,可读性和可写性较好,但由于存在数量庞大的语句和声明,翻译极为困难。 无二义性: 所谓二义性是指:相同的语法结构存在两种或更多种理解。无二义性是每个程序语言设计的中心问题。二义性问题通常不是出现在单个的程序元素中,而是在不同结构的相互作用下表现出来的。 例1:C语言中存在两种不同的条件形式: if (ConE) S if (ConE) S1 else S2 每一条语句均清楚的解释了语义,不存在二义性。但将两个语句组合为: if (ConE1) if (ConE2) S1 else S2 此时,存在二义性。 语句S2的执行控制存在不同的理解,是ConE1为假时执行,还是ConE1为假时执行? 解决方法: 插入定界符,如 if (ConE1) if (ConE1) { if (ConE2) S1; 或 { if (ConE2) S1}; else S2;} else S2; 二者语义中强制的选择一种作为合法的解释,如就近匹配原则,即else与最近的 if 匹配。 例2:Fortran语言中,函数调用和数组引用语法是完全相同的。如语句 x = A(i,j) 存在二义性。此时A(i,j)是函数A的调用?还是数组A的引用? 解决方法:若没有数组A的声明,就默认为是函数A的调用。Pasacl和C语言中的解决方案是:用[]表示数组,()表示函数,如A[i,j]理解为数组引用, A(i,j)解释为函数调用。 语言的语法要素 选用不同的基本语法要素就形成了一种语言的基本风格。下面,将简介一些语法要素。 字符集: 字符集的选择是语法设计的第一步。通常选择的字符集是ASCII字符集。 目前,通常使用8为(一个Byte)来表示一个字符,这足够表示52个大小写字母、10个数字、标点符号以及一些特殊字符。但如今,计算机工业越来越国际化,各个国家的文字、货币符号等已远远超过256。因此,考虑使用16位表示字符集。 标识符: 大多数语言都遵循以字母开始字母和数字组成的字符串作为标识符的原则。有的语言还允许包括“.”和“_”之类的特殊字符。如name_student是C中的合法标识符。这样,可以增强可读性和改善长度方面的限制。 标识符长度应该不受限制。 操作符: 大多数语言均使用 “+” 和 “-” 来表示基本的数学运算操作,除此之外,很少有相同的。 如Pascal使用 “:=”作为赋值操作,而C使用 “=”。 Pascal使用 “=” 作为比较
您可能关注的文档
- 第一讲 半导体的n型、p型掺杂.ppt
- 第十章 EpiDate 简介.ppt
- 第9章 Dos远程登录mysql数据库详细图文教程 _pc6资讯.pdf
- 操作系统实验幻灯片.ppt
- 信号和系统第5章 离散时间Fourier变换.pdf
- 比比谁更快 六款USB3.0移动硬盘横评副本.doc
- 第01讲 ACM基本输入输出.ppt
- CAN-bus总线现场布线及接口设计及电缆及连接器选择.pdf
- 第十章 EPSON无线打印机 使用手册.pdf
- 第八章 SQL Server 2008数据库—创建、建表、查询语句.docx
- 区域教师数字素养差异分析:基于教师培训效果的评价研究教学研究课题报告.docx
- 2025计算机一级c试题及答案.doc
- 初中音乐课堂数字教育资源跨学科融合设计研究教学研究课题报告.docx
- 融合计算机视觉的智能课表生成系统在小学班级行为管理中的应用课题报告教学研究课题报告.docx
- 初中化学灭火器原理的家庭实验安全改良实验安全措施课题报告教学研究课题报告.docx
- 江苏省南京市玄武区南京外国语学校2025-2026学年高一上学期10月月考英语试题(含解析).docx
- 2025计算机一级excel 试题及答案.doc
- 2025年低空旅游无人机航线设计技术报告.docx
- 教育培训机构2025年单店盈利模式创新研究.docx
- 2025年低空旅游无人机航线设计手册报告.docx
原创力文档


文档评论(0)