首页> 外文期刊>SIGCSE bulletin >Teaching The Compilers Course
【24h】

Teaching The Compilers Course

机译:教学编译器课程

获取原文
获取原文并翻译 | 示例
           

摘要

I've always enjoyed teaching the compilers course. Compiler design is a beautiful marriage of theory and practice ~ it is one of the first major areas of systems programming for which a strong theoretical foundation has developed that is now routinely used in practice. I am a strong believer in Donald Knuth's credo: "Theory and practice are not mutually exclusive; they are intimately connected. They live together and support each other" [5]. In the past five decades, a number of forces have evolved the traditional compilers course in a computer science curriculum [6]. This article looks at how compilers courses have responded to these forces since their inception. I've organized the evolution based on material in the four books on compilers that I have coauthored and used in compilers courses over the last three decades [1-4]. Many of the earliest compilers courses put a heavy emphasis on the theory of parsing and syntax-directed translation. However, it we quickly realized that just focusing on the theory does not necessarily teach students how to build a useful compiler. This observation was positively reinforced by my interactions with the exceptionally talented researchers in the Computing Sciences Research Center at Bell Labs where I worked right after graduation. I began my career there as a computer science theorist after creating indexed grammars and nested stack automata for my PhD thesis at Princeton. With the excitement surrounding the invention of Unix, C, and C++ around me, however, I quickly became involved in the wonderful opportunities for the fruitful symbiosis of theory and practice in systems and compilers.
机译:我一直很喜欢教编译器课程。编译器设计是理论与实践的完美结合–它是系统编程的第一批主要领域之一,为此,它已经建立了坚实的理论基础,现已在实践中常规使用。我坚信唐纳德·克努斯(Donald Knuth)的信条:“理论与实践不是相互排斥的;它们是紧密相连的。它们生活在一起并相互支持” [5]。在过去的五十年中,许多力量已经在计算机科学课程中发展了传统的编译器课程[6]。本文着眼于自编写以来,编译器课程对这些力量的反应。我根据过去三十年中我合着并在编译器课程中使用过的四本关于编译器的材料[1-4],组织了演化。许多最早的编译器课程都非常重视解析和语法定向翻译的理论。但是,我们很快意识到,仅关注理论并不一定会教给学生如何构建有用的编译器。我与贝尔实验室计算机科学研究中心的杰出研究人员的互动为我的观察提供了积极的支持,毕业后我就在那里工作。在普林斯顿大学为博士论文创建索引语法和嵌套堆栈自动机之后,我以计算机科学理论家的身份开始了我的职业生涯。然而,随着周围围绕着Unix,C和C ++的发明的激动,我很快就参与了在系统和编译器中实现理论与实践共生的绝妙机会。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号