`
utensil
  • 浏览: 152437 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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

阅读更多

编程范式:面向对象程序设计(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
  • atom -> number | string | identifier | character | boolean
  • list -> `(' expression-sentence `)'
  • expression-sentence -> expression expression-sentence | expression

Scheme的核心内容:

  • 表达式中operator要写为前缀(prefix)
  • 读入-求值-打印 循环。避免求值:quotelist | ' list
  • (if 条件 真时的值 假时的值)
  • (cond (条件1 值1) (条件2 值2) (条件3 值3) (else 缺省值))
  • 没有变量。常量:(define 名字 值),在“将一个名字约束到一个值”的意义上理解。同样的方式可以定义函数。
  • 暂时约束:(let ((名字1 值1) (名字2 值2)) expression )
  • I/O: (read) 、(display 内容) 、(newline)
  • 表操作:若L为(1 2 3) ,(car L)为1,(cdr L)为(2 3),(cons 4 L)为 (4 1 2 3)。
  • λ演算:(lamda param-list body )
分享到:
评论

相关推荐

    Kenneth+C.Louden编译原理及实践

    Louden的编译原理及实践》是一本深入浅出的编译器设计领域的经典教材,由冯博琴翻译成中文。这本书详细介绍了编译器的基础理论和实际构建过程,对于理解计算机科学中的编译过程具有重要的指导价值。 编译原理是...

    编译原理部分答案(作者:Kenneth C. Louden 编译原理)

    《编译原理部分答案》是基于Kenneth C. Louden所著的《编译原理》一书的课后作业解答集。编译原理是计算机科学领域的重要学科,它研究如何将高级编程语言转换为机器可执行的低级代码。这份资料对于学习编译器设计、...

    Compiler Construction: Principles and Practice Kenneth C. Louden 

    搜了半天没找到我想要的,要么不清晰,要么是分隔开的,最后自己找,是从http://b-ok.org/book/963110/6344c1这个网站上下载的。文字可以选择,不过是djvu格式的不是pdf

    kenneth c.louden 编译原理与实践中文版

    《编译原理与实践》是肯尼思·C·劳登(Kenneth C. Louden)撰写的一本经典教材,中文版为广大学者和程序员提供了深入理解编译器设计和实现的重要资源。这本书详细阐述了编译器的基础理论、技术和方法,涵盖了编译...

    编译原理及实践+课后答案+(Kenneth+C,Louden+著)

    ### 正则表达式 #### 练习题解 - **字符集表达** ...在编译器的实现过程中,理解词法分析器如何通过正则表达式来解析源代码,并通过NFA和DFA的构建和转换来优化处理速度,是编译原理实践中的关键技能。

    tiny:Kenneth C. Louden的编译器构造原理和实践

    Louden的编译器构造原理和实践》是一本深入探讨编译器设计与实现的专业书籍,作者是计算机科学领域的专家Kenneth C. Louden。这本书籍主要面向对编译器技术感兴趣的程序员、计算机科学学生以及软件工程师,旨在通过...

    编译原理与实践二到七章答案

    《编译原理与实践》是计算机科学领域的一本经典教材,由Kenneth C. Louden撰写,冯博琴翻译。这本书深入浅出地讲解了编译器设计的基础知识,包括词法分析、语法分析、语义分析等核心概念。课后的习题提供了实践和...

    编译原理与实践 中文版

    《编译原理与实践》是计算机科学领域的一本经典著作,由Kenneth C. Louden撰写,这本书深入浅出地介绍了编译器的设计与实现,是学习编译技术的重要参考资料。编译器是将高级语言转化为机器语言的关键工具,理解和...

    编译原理及实践 英文版 Compiler.Construction-Principles.and.Practice

    《编译原理及实践》是计算机科学领域的一本经典教材,由Kenneth C. Louden撰写,主要探讨了编译器的设计与实现。编译器是将高级编程语言转化为机器可执行代码的关键工具,理解其工作原理对于软件开发人员、系统架构...

    编译原理与实践

    这是一本比较老的编译原理教材,阅读此教材需要在老师的讲解下进行,因为课本中将很多原理讲的很简要,需要老师的提示。

    TISC:肯尼斯·卢登(Kenneth C. Louden)对“微型机器”计算机的翻新

    TISC(正在进行的主要工作) “微型机器”计算机由肯尼思·C·劳登(Kenneth C. Louden)根据“编译器构造:原理与实践”创建,原始的TM代码归于他。 这仅仅是他原始代码的重构(希望是重新设计)。资源

    编译原理及实践部分答案

    本文是关于编译原理及实践的答案,涵盖了 Kenneth C.Louden 的相关知识点。以下是详细的知识点解释: 第二章作业 2.1(a,c,d):在编译原理中,正则表达式是一个重要的概念。这里,a | a[a-z]*a(c)[1-9][0-9]*(d)[0-...

    John.Wiley.and.Sons.Smart.Card智能卡大全——智能卡的结构·功能·应用

    《John.Wiley.and.Sons.Smart.Card智能卡大全——智能卡的结构·功能·应用》是一本详尽探讨智能卡技术的专业书籍,由Wolfgang Rankl和Wolfgang Effing编写,经Kenneth Cox翻译成英文版。本书是智能卡领域的权威资料...

    离散数学及其应用(英文第七版) Kenneth H.Rosen

    与传统的连续数学不同,离散数学通常涉及有限或可数无限的结构,这使得它在计算机科学领域中尤为重要,因为计算机处理的信息是离散的。 《离散数学及其应用(英文第七版)》是由Kenneth H. Rosen撰写的一本教科书,...

    tiny编译器源码

    它检查词法单元序列是否符合语言的语法规则,形成抽象语法树(AST)表示程序的结构。 3. **语义分析**:语义分析阶段检查代码的逻辑意义,确保其符合语言的语义规则。这包括类型检查、常量折叠和作用域解析。 4. *...

    离散数学及其应用 原书第7版 ,(美)KENNETH H.ROSEN著 ,P793

    离散数学中文版,离散数学及其应用 原书第7版 ,(美)KENNETH H.ROSEN著 ,P793

    离散数学及其应用_本科教学版_第6版_Kenneth H. Rosen_课后答案[1-10章]

    标题“离散数学及其应用_本科教学版_第6版_Kenneth H. Rosen_课后答案[1-10章]”表明,我们关注的是本科层次的离散数学教学材料,此教材的第6版由Kenneth H. Rosen编写。离散数学是计算机科学与数学中的一个重要领域...

    离散数学及其应用 (第四版) Kenneth H.Rosen

    根据提供的信息,《离散数学及其应用(第四版)》由Kenneth H. Rosen撰写,是计算机科学领域中的一本重要教材。尽管部分内容未给出具体章节或摘要,但我们可以基于书名、描述及常见主题来概述本书涵盖的关键知识点。...

Global site tag (gtag.js) - Google Analytics