云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 程序设计语言与编译教学指导

程序设计语言与编译教学指导

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 16:31:33

程序设计语言与编译——语言的设计和实现(第2版)

教师用教学参考指南

龚天富?编?

(本内容版权归作者所有,为非买品,只免费提供给教师教学之用,使用者不得随意翻印)

本指南包括三个部分。第1部分给出本教材的知识点与教学重点;第2部分为必须布置的习题的参考答案。书中出现的程序不是教学重点,只需讲清思路即可。第3部分为参考试卷及其参考答案。

第1部分 知识点与教学重点

笔者将各章的知识点分为三级——重点理解、理解和知道。对重点理解的知识点应讲深讲透,对知道的知识点可以不讲,或在其他课程(如高级程设计语言概论)中去讲,或由学生自学。

第1章 绪 论

重点理解 引言,强制式语言,程序单元。 知道 程序设计语言发展简介(学生必须自学)。 第2章 数据类型

重点理解 引言,内部类型,用户定义类型,Pascal数据类型结构,C语言类型结构,SIMULA 67语言类机制,CLU语言的抽象数据类型,C++语言的抽象数据类型,类型检查,类型转换,类型等价。

知道 Ada语言的抽象数据类型(自学),Modula-2语言的抽象数据类型(自学),实现模型(自学)。

第3章 控制结构

重点理解 引言,顺序结构,选择结构,重复结构,语句级控制结构分析,显式调用从属单元,异常处理(异常处理的5个问题),PL/1语言的异常处理机制,CLU语言的异常处理机制,Ada语言异常处理机制(主要讨论三种语言异常处理机制的异同),SIMULA 67语言协同程序,并发单元,信号灯,会合。

知道 管程。

第4章 程序语言的设计 重点理解 全章。

第5章 非过程式程序设计语言

知道 全章(可以不要求,自学,作为高级程序设计语言概论课的内容)。 第6章 形式语义学简介 知道 全章(同第5章)。 第7章 编译概述 重点理解 全章。

·1·

第8章 词法分析 重点理解 全章。

第9章 自上而下的语法分析

重点理解 回溯分析法,预测分析法。 理解 递归下降分析法。

第10章 自下而上的语法分析 重点理解 全章。

第11章 语义分析和中间代码生成 重点理解 全章。

第12章 代码优化和目标代码生成 重点理解 全章。

第13章 运行时存储空间的组织

重点理解 程序的存储空间,栈式分配。 理解 静态分配。 知道 符号表(自学)。 附录A Java语言概述 知道 整个附录A(自学)。

第2部分 部分习题参考答案

本书习题可分为思考题和必做题,这里仅给出必做题的参考答案。 习题1

1-1至1-11均为思考题。 习题2

2-1至2-14均为思考题。 习题3

3-1至3-13均为思考题。 习题4

4-1至4-4均为思考题。

4-5 解:上下文有关文法(1型文法),产生的语言L(G){=aibici | i≥1,i为整数} 4-6 解:3型文法,L(G)={ai | i≥1,i为奇数} 4-7 解:2型文法,L(G)={aibi | i≥1,i为整数} 4-8 解:1型文法,L(G)={aibici | i≥1,i为整数} 4-9 解: 1. 最左推导 最右推导 S? (A) ? (B) ?(SdB) ? ((A)dB) ? ((B)dB) ? ((S)dB) ? ((b)dB) ? ((b)dS) ? ((b)da)

S? (A) ? (B) ? (SdB) ? (SdS) ? (Sda) ? ((A)da ? ((B)da) ? ((s)da? ((b)da)

·2·

2. 语法树

4-10解:

1. 因为存在推导S ? SbF ? SbP ? Sbc ? Fbc ? FaPbc 所以FaPbc是文法G (S) 的一个句型。 2. 语法树

4-11解:

因为串aaabaa可有下列两棵不同的语法树

所以文法G (S)是二义文法。 4-12解:

因为串i (*可有下列两棵不同的语法树

·

4-13解:

假定所设计的语言面向的机器为一般通用机。 按照题目给出的问题,如果不考虑输入和输出语句,那么所要设计的语言仅包含字符串数据类型和赋值语句。语言设计如下:

<程序>→<分程序>

<分程序>→begin<语句说明表>;<执行语句>end

<说明语句表>→<说明语句>|<说明语句表>;<说明语句> <说明语句>→<变量说明> <变量说明>→string<变量表>

说明:string是变量的类型,表示变量为字符串。 <字符串>→<字符>|<字符串><字符> <字符>→一切可由键盘输入的字符 <变量表>→<变量>|<变量表>,<变量>

<执行语句表>→<执行语句表>;<执行语句>|<执行语句> <执行语句>→<赋值语句>

<赋值语句>→<变量>:=<表达式> <表达式>→<变量>|<表达式>‖<变量>

说明:符号“‖”为字符串连接运算符,例如字符串abc和字符串xyz经过连接运算的结果为abcxyz。

<变量>→<标识符>

<标识符>→<字母>|<标识符><字母>|<标识符><数字> <字母>→a|b|…|x|y|z

<数字>→0|1|2|3|4|5|6|7|8|9

说明:本语言未设置任何控制语句,若要进行较为复杂的程序设计,必须增加控制语句,本语言的程序只能完全顺序执行。

例:将字符串abc和xyz连接成字符串abcxyz。

begin

string A1, A2, A3, A4; string B1, B2 B3, B4; A1:=a; A2:=b; A3:=c; B1:=x; B2:=g; B3:=z;

A4:=A1‖A2; A4:=A4‖A3; B4:=B1‖B2; B4:=B4‖B3; B4:=A4‖B4 ·4·

搜索更多关于: 程序设计语言与编译教学指导 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

程序设计语言与编译——语言的设计和实现(第2版) 教师用教学参考指南 龚天富?编?(本内容版权归作者所有,为非买品,只免费提供给教师教学之用,使用者不得随意翻印) 本指南包括三个部分。第1部分给出本教材的知识点与教学重点;第2部分为必须布置的习题的参考答案。书中出现的程序不是教学重点,只需讲清思路即可。第3部分为参考试卷及其参考答案。 第1部分 知识点与教学重点 笔者将各章的知识点分为三级——重点理解、理解和知道。对重点理解的知识点应讲深讲透,对知道的知识点可以不讲,或在其他课程(如高级程设计语言概论)中去讲,或由学生自学。 第1章 绪 论 重点理解 引言,强制式语言,程序单元。 知道 程序设计语言发展简介(学生必须自学)。 第2章 数据类型

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com