Kenneth C.Louden的《程序设计语言——原理与实践》的一点笔记

本文探讨了不同编程范式,如面向对象、函数式和逻辑式程序设计,并介绍了Ada、FORTRAN、COBOL等早期语言。重点讨论了Scheme语言的语法和核心概念,包括表达式结构、变量、函数定义和表操作。同时,提到了C++的设计原则,强调兼容性、性能和强类型检查。
摘要由CSDN通过智能技术生成

编程范式:面向对象程序设计(C++、Java、Smalltalk)、函数式程序设计(Scheme、Haskell、ML)、逻辑式程序设计(Prolog)。

  • 以拜伦之女Ada(历史上第一位程序员:分析机)命名的Ada。
  • FORTRAN(FORmula TRANslation)
  • COBOL(公共的面向商业语言)——设计目的是使他人能够阅读程序元设计的程序,因而语法复杂。
  • Algol:Pascal、C、Ada的鼻祖。
  • LISP(LISt Processor):Common LISP、Scheme。垃圾回收、递归。
  • APL:函数式风格、具有大运算符集、要使用特殊终端的希腊符号集、运算能力强大、非结构化。深刻地影响的FP。
  • BASIC(Beginners All-purpose Symbolic Code)。
  • 趋势:Web编程、库以及脚本语言。

C++设计时的指导思想:

  • 不应无故不兼容(C和其他系统和语言)
  • 其发展应由实际编程需要驱动而非由理论上的考虑。
  • 不因有可能就增加一个纯粹的特性
  • 任何新增特性的实现,必须以不降低程序运行效率为前提,至少也要保证不增加额外开销。
  • 不应强调单一程序设计形式。
  • 维持和强化其强类型检查特点
  • “你不知道的东西不会伤害你”

Scheme的语法:

  • expression -> atom | list</
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理实践 名著 pdf 超清晰版 有完整的书签 非常好的书 Kenneth C.Louden 冯博琴 本书系统介绍了经典的编译理论和技术,同时也包含了面向对象语言等当前较新语言的编译技术。本书更可贵之处在于提供了较完整的适用于教学实践的样例语言,是一本理论和实践内容相结合的、不可多得的好书。 本书可用作大专院校教材、教师参考书以及编译器研究人员的参考资料。 【目录信息】目 录 译者序 前言 第1章 概论 1 1.1 为什么要用编译器 2 1.2 与编译器相关的程序 3 1.3 翻译步骤 5 1.4 编译器中的主要数据结构 8 1.5 编译器结构中的其他问题 10 1.6 自举与移植 12 1.7 TINY样本语言与编译器 14 1.7.1 TINY语言 15 1.7.2 TINY编译器 15 1.7.3 TM机 17 1.8 C-Minus:编译器项目的一种语言 18 练习 19 注意与参考 20 第2章 词法分析 21 2.1 扫描处理 21 2.2 正则表达式 23 2.2.1 正则表达式的定义 23 2.2.2 正则表达式的扩展 27 2.2.3 程序设计语言记号的正则表达式 29 2.3 有穷自动机 32 2.3.1 确定性有穷自动机的定义 32 2.3.2 先行、回溯和非确定性自动机 36 2.3.3 用代码实现有穷自动机 41 2.4 从正则表达式到DFA 45 2.4.1 从正则表达式到NFA 45 2.4.2 从NFA到DFA 48 2.4.3 利用子集构造模拟NFA 50 2.4.4 将DFA中的状态数最小化 51 2.5 TINY扫描程序的实现 52 2.5.1 为样本语言TINY实现一个扫描 程序 53 2.5.2 保留字与标识符 56 2.5.3 为标识符分配空间 57 2.6 利用Lex 自动生成扫描程序 57 2.6.1 正则表达式的Lex 约定 58 2.6.2 Lex输入文件的格式 59 2.6.3 使用Lex的TINY扫描程序 64 练习 65 编程练习 67 注意与参考 67 第3章 上下文无关文法及分析 69 3.1 分析过程 69 3.2 上下文无关文法 70 3.2.1 与正则表达式比较 70 3.2.2 上下文无关文法规则的说明 71 3.2.3 推导及由文法定义的语言 72 3.3 分析树与抽象语法树 77 3.3.1 分析树 77 3.3.2 抽象语法树 79 3.4 二义性 83 3.4.1 二义性文法 83……

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值