- 1
- 0
- 约8.86千字
- 约 59页
- 2019-04-05 发布于湖北
- 举报
本章主要内容 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使用 “=” 作为比较
您可能关注的文档
- 资金筹集的经济分析.ppt
- 人事行政运营手册.doc
- 中级会计练习题.doc
- 甲级工程监理企业主项.doc
- 大客户服务条款.doc
- 第四章ECEU经济演示文稿新稿zuixinzuixin.ppt
- 福建省2013届新课标高考历史一轮复习课件:必修1汉到元政 治制度的演变与明清君主专制制度的加强.ppt
- 公共部门人员的培训.ppt
- 会计改革的新动态.ppt
- 企业会计财务分析培训材料非常有用1.ppt
- 抚顺石化工贸中心资金控制体系优化研究:理论、实践与创新.docx
- 探秘中华通草蛉滞育发育:生殖生物学特征与调控机制.docx
- 稀有鮈鲫受精机制及影响因素的深度剖析.docx
- 从美国强制反诉制度探寻我国民事诉讼反诉制度的革新路径.docx
- 中国职业足球管理体制:演进、困境与突破路径探究.docx
- 论我国网上个体经营活动法律规制的完善与实践.docx
- 论取保候审期间脱逃后又归案的自首认定困境与出路.docx
- 动调陀螺赋能双轴稳定平台控制系统的关键技术与优化策略研究.docx
- 论我国犯罪被害人国家补偿制度的构建与完善:法理、实践与发展路径.docx
- 光纤光栅传感监控软件:原理、应用与创新发展研究.docx
最近下载
- 2026年春教科版(新教材)小学科学二年级下册(全册)教学设计(附目录P91).pdf
- 2026年山东劳动职业技术学院单招(计算机)考试备考题库及答案解析(夺冠).docx VIP
- 超实用近五年(2021-2025)高考英语真题分类汇编:专题17 语法填空(全国通用)(原卷版).docx VIP
- 时尚流行文化解读.pptx VIP
- 文学类文本阅读青辰《梨花开了》【2023年四川省凉山州中考语文真题】.docx VIP
- 《毛笔楷书基础教程》职业院校书法课程全套教学课件.pptx
- (完整版)交管12123学法减分考试题库及答案.doc
- 2026年山东劳动职业技术学院单招(计算机)考试参考题库附答案.docx VIP
- 2025年教师资格考试高中学科知识与教学能力思想政治试卷与参考答案.docx VIP
- 基建项目财务咨询方案.docx VIP
原创力文档

文档评论(0)