Programming languages, OOP, and C++

ACM-SE 28 Pub Date : 1990-04-01 DOI:10.1145/98949.98981
Roger E. Lessman
{"title":"Programming languages, OOP, and C++","authors":"Roger E. Lessman","doi":"10.1145/98949.98981","DOIUrl":null,"url":null,"abstract":"The traditional core course entitled Programming Lan­ guage» is a nnturnl setting for the study of the currentlypopular programming paradigms. Within this course, it is also necessary and convenient to introduce stu­ dents to the design, specification, and implementation of programming languages and to emphasise the run-time features of high-level languages. A project is outlined which utilises the procedural/imperative paradigm to implement an interpreter for a small block-structured language. The project is enhanced to utilise data ab­ straction and object-oriented programming in C ++ to provide a contemporary implementation of the original interpreter. I n t r o d u c t i o n In Curriculum '78, Austing, el al., describe the core course CS8 Organization of Programming Languages. Objectives of CSS are 1. to introduce the formal study of programming lan­ guage specification and analysis; 2. to develop an understanding of the organisation of programming languages, especially the run-lime behavior; and 3. to continue the development of problem solution and programming skills [1], In an effort to meet the first two objectives, instruc­ tors of CSS have historically presented exposition on • formal language specification and its applications; • interpretation vs. compilation; Permission to copy without fee all or pari of this material is granted provided that lire copies are not made or distributed for direct com­ mercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific per­ mission. © 1990 ACM 0-89791-356-6/90/0400/0063 $1.50 • the run-time aspects of data types, data objects, and control structures; and • lexical analysis and parsing. Traditional texts have approached the third objective with an intensive study of language features as imple­ mented in several procedural and block-structured lan­ guages and in a functional programming language such as LISP [2J. In the Partial Draft Report of the ACM/IEEE Joint Curriculum Task Force, Tucker, et. al., itemise a num­ ber of PL modules which contain material covered in the traditional course for CSS [3]. In addition to the top­ ics listed earlier, these modules emphasise the following contemporary programming paradigms:","PeriodicalId":409883,"journal":{"name":"ACM-SE 28","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM-SE 28","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/98949.98981","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

The traditional core course entitled Programming Lan­ guage» is a nnturnl setting for the study of the currentlypopular programming paradigms. Within this course, it is also necessary and convenient to introduce stu­ dents to the design, specification, and implementation of programming languages and to emphasise the run-time features of high-level languages. A project is outlined which utilises the procedural/imperative paradigm to implement an interpreter for a small block-structured language. The project is enhanced to utilise data ab­ straction and object-oriented programming in C ++ to provide a contemporary implementation of the original interpreter. I n t r o d u c t i o n In Curriculum '78, Austing, el al., describe the core course CS8 Organization of Programming Languages. Objectives of CSS are 1. to introduce the formal study of programming lan­ guage specification and analysis; 2. to develop an understanding of the organisation of programming languages, especially the run-lime behavior; and 3. to continue the development of problem solution and programming skills [1], In an effort to meet the first two objectives, instruc­ tors of CSS have historically presented exposition on • formal language specification and its applications; • interpretation vs. compilation; Permission to copy without fee all or pari of this material is granted provided that lire copies are not made or distributed for direct com­ mercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific per­ mission. © 1990 ACM 0-89791-356-6/90/0400/0063 $1.50 • the run-time aspects of data types, data objects, and control structures; and • lexical analysis and parsing. Traditional texts have approached the third objective with an intensive study of language features as imple­ mented in several procedural and block-structured lan­ guages and in a functional programming language such as LISP [2J. In the Partial Draft Report of the ACM/IEEE Joint Curriculum Task Force, Tucker, et. al., itemise a num­ ber of PL modules which contain material covered in the traditional course for CSS [3]. In addition to the top­ ics listed earlier, these modules emphasise the following contemporary programming paradigms:
编程语言,OOP和c++
传统的核心课程“编程语言”是研究当前流行的编程范式的一个新环境。在本课程中,向学生介绍编程语言的设计、规范和实现,并强调高级语言的运行时特性,也是必要和方便的。本文概述了一个利用过程/命令式范式实现小型块结构语言解释器的项目。该项目被增强为利用c++中的数据抽象和面向对象编程来提供原始解释器的当代实现。在《课程78》中,austin等人描述了核心课程CS8编程语言组织。CSS的目标是1。介绍了编程语言规范与分析的形式化研究;2. 培养对编程语言组织的理解,特别是运行时的行为;和3。为了继续发展问题解决和编程技能[1],为了努力实现前两个目标,CSS的讲师历来都对形式语言规范及其应用进行了阐述;•解释vs.编译;允许免费复制本材料的全部或部分内容,前提是不为直接商业利益制作或分发活体副本,出现ACM版权声明和出版物标题及其日期,并通知复制是由计算机械协会许可的。以其他方式复制,或重新发布,需要费用和/或特定的任务。©1990 ACM 0-89791-356-6/90/0400/0063 $1.50•数据类型、数据对象和控制结构的运行时方面;•词法分析和解析。传统的文本通过深入研究语言特性来接近第三个目标,这些语言特性是在几种过程式和块结构语言以及像LISP这样的函数式编程语言中实现的[j]。在ACM/IEEE联合课程工作组的部分草案报告中,Tucker等人列出了一些PL模块,其中包含CSS传统课程中涵盖的材料[3]。除了前面列出的顶级技术,这些模块强调以下当代编程范式:
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信