《程序设计语言》第3章 语言翻译问题

网络教学 Programming Language Design and Implementation 程序设计语言 E
程 序 设 计 语 言 Programming Language Design and Implementation 网络教学

第3语言翻译问题 学习目标]:学习和掌握语言的语法的基本概念 和基本要素,理解翻译的步骤;学习和掌握BNF 文法 了解通用语法的标准,学习语法的基本要素; 了解几种语言的特点; 学习和掌握源程序分析和目标程序综合的原理和 方法; 掌握和使用BNF文法;
第3 语言翻译问题 [学习目标]:学习和掌握语言的语法的基本概念 和基本要素,理解翻译的步骤;学习和掌握BNF 文法。 -了解通用语法的标准,学习语法的基本要素; -了解几种语言的特点; -学习和掌握源程序分析和目标程序综合的原理和 方法; -掌握和使用BNF文法;

[重点和难点]: 本章的重点是:源程序的分析和目标程序综合的 原理与方法;BNF文法 本章的难点是:语法二义性,语义分析原理; [知识点] 语法;语义;二义性;独立子程序定义;独立数 据定义;嵌套子程序定义;独立接口定义;词法 分析;语法分析;语义分析;优化;连接与载入; 系统自举;语法树;BNF文法
[重点和难点]: 本章的重点是:源程序的分析和目标程序综合的 原理与方法;BNF文法; 本章的难点是:语法二义性,语义分析原理; [知识点]: 语法;语义;二义性;独立子程序定义;独立数 据定义;嵌套子程序定义;独立接口定义;词法 分析;语法分析;语义分析;优化;连接与载入; 系统自举;语法树;BNF文法

本章概述 ●对于在虚拟计算机上实现的高级语言程序, 必须经过翻译才能在实际的计算机上运行。 ●翻译一般要经“词法分析”一>语法分 析”一>“语义分析” 代码优化” “目标程序生成”等5个阶段。其中,“语 法分析”阶段最为重要,它是描述程序结构 的主要手段。 “遍”的概念? “一遍”翻译?“二遍”翻译? 遍 翻译?
⚫ 对于在虚拟计算机上实现的高级语言程序, 必须经过翻译才能在实际的计算机上运行。 ⚫ 翻译一般要经“词法分析”—>“语法分 析” —>“语义分析” —>“代码优化” — >“目标程序生成”等5个阶段。其中, “语 法分析”阶段最为重要,它是描述程序结构 的主要手段。 ⚫ “遍”的概念? ⚫ “一遍”翻译?“二遍”翻译? “三遍” 翻译? 本章概述

本章主要内容 3,1编程语言语法 3,2翻译步骤 3.3BNF文法
本章主要内容 3.1 编程语言语法 3.2 翻译步骤 3.3 BNF文法

31编程语言语法 ●语法:以句子中词的排列来表明它们的彼此关系 如C语言中,x=y+l具有正确的语法,而x+-则语 法错误。 语法是理解一个程序的重要手段,也为将源程序 翻译成目标程序提供了必要的信息。 ●但,只有语法是不够的。如“张三踢足球”和 “足球踢张三”,语法都正确,但语义?如 x=254+367,结果为5,6,6,21?
3.1 编程语言语法 ⚫ 语法:以句子中词的排列来表明它们的彼此关系。 如C语言中,x=y+z具有正确的语法,而x+-则语 法错误。 ⚫ 语法是理解一个程序的重要手段,也为将源程序 翻译成目标程序提供了必要的信息。 ⚫ 但,只有语法是不够的。如“张三踢足球”和 “足球踢张三”,语法都正确,但语义?如 x = 2.54+3.67, 结果为5,6,6.21?

本节主要内容 ●通用语法标准 ●语言的语法要素 主程序一子程序结构
本节主要内容 ⚫ 通用语法标准 ⚫ 语言的语法要素 ⚫ 主程序-子程序结构

通用语法标准 ●可读性: 如果一个程序的算法和数据结构能够明显的 从程序文本中观察出来,则这个程序是可读 的。可读的程序称之为自引证的。 可读性成为如今程序编制的重要目标是一。 增加可读性的方法:用自然语句格式、结构 化、自由使用关键字和噪声码、注释、不限 标识符长度、助记符、自由域格式、完整的 声明
通用语法标准 ⚫ 可读性: – 如果一个程序的算法和数据结构能够明显的 从程序文本中观察出来,则这个程序是可读 的。可读的程序称之为自引证的。 – 可读性成为如今程序编制的重要目标是一。 – 增加可读性的方法:用自然语句格式、结构 化、自由使用关键字和噪声码、注释、不限 标识符长度、助记符、自由域格式、完整的 声明

可写性: 可写性是指程序易于编写。语法结构简单的 语言程序可写性好。 增加可写性的方法:设计简洁、整齐的语法 结构。允许保留不明确声明和操作的隐含。 可写性与可读性是一对矛盾。简洁的结构可 增强程序的可写性,但降低了程序的可读性 如C语言,可写性较好,但可读性差。允许 保留不明确声明和操作的隐含可增强可写性, 但会降低可读性,同时可检验性差
⚫ 可写性: –可写性是指程序易于编写。语法结构简单的 语言程序可写性好。 – 增加可写性的方法:设计简洁、整齐的语法 结构。允许保留不明确声明和操作的隐含。 – 可写性与可读性是一对矛盾。简洁的结构可 增强程序的可写性,但降低了程序的可读性。 如C语言,可写性较好,但可读性差。允许 保留不明确声明和操作的隐含可增强可写性, 但会降低可读性,同时可检验性差

●易检验性: 证明程序的正确性。 这不仅涉及到语法,主要涉及到语义的正确 性验证。 目前,主要通过一些测试方法,以及谓词演 算方法来验证
⚫ 易检验性: – 证明程序的正确性。 – 这不仅涉及到语法,主要涉及到语义的正确 性验证。 – 目前,主要通过一些测试方法,以及谓词演 算方法来验证
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《程序设计语言》第2章 机器体系机构对语言的影响.ppt
- 《程序设计语言》课程简介.ppt
- 《程序设计语言》第1章 程序语言设计问题.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第九章 结构体与共用题.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第四章 C程序流程设计.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第三章 数据输入与输出.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第十章 文件.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第五章 数组.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第二章 数据描述.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第八章 指针.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第一章 C语言概念.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第七章 编译预处理.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第六章 函数.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第一讲 语言基础续.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第一讲 C语言基础.doc
- 《C语言程序设计(Visual C++ 6.0环境)》第十一讲 复杂数据类型及排序.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》C语言常考题型专题讲座.doc
- 《C语言程序设计(Visual C++ 6.0环境)》教学大纲.doc
- 《C语言程序设计(Visual C++ 6.0环境)》常见错误.doc
- 《C语言程序设计(Visual C++ 6.0环境)》电话号码存储.doc
- 《程序设计语言》第1章习题.ppt
- 《程序设计语言》集中复习.ppt
- 《程序设计语言》模拟试题.ppt
- 《程序设计语言》第7章 函数.ppt
- 《程序设计语言》第8章 编译预处理.ppt
- 《程序设计语言》第8章 指针.ppt
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第七章 指针.ppt
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第九章 文件.ppt
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第五章 预处理命令.ppt
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第十章 位运算.ppt
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第一章 程序设计概述.ppt
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第二章 数据类型、运算符与表达式.ppt
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第三章 语句及控制结构.ppt
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第四章 函数和程序结构.ppt
- 清华大学:《计算机程序设计基础》课程教学资源(PPT课件)第二章 基本数据类型及其运算.ppt
- 清华大学:《计算机程序设计基础》课程教学资源(PPT课件)第一章 C语言的基本概念(主讲:乔林).ppt
- 清华大学:《计算机程序设计基础》课程教学资源(PPT课件)第三章 程序控制结构.ppt
- 清华大学:《计算机程序设计基础》课程教学资源(PPT课件)第四章 复合数据结构基础.ppt
- 清华大学计算中心:《计算机程序设计基础》第五章 结构化程序设计概论.ppt
- 《C程序设计语言》课程PPT教学课件(讲稿)Chapter 1 An Overview of C(1.2)The feature of C.ppt