100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached
logo-home
Solutions Manual For Concepts of Programming Languages 11th Edition By R.W. Sebesta / Latest & Updated Version 2024 A+ $12.99   Add to cart

Exam (elaborations)

Solutions Manual For Concepts of Programming Languages 11th Edition By R.W. Sebesta / Latest & Updated Version 2024 A+

 21 views  0 purchase
  • Course
  • Institution
  • Book

Solutions Manual For Concepts of Programming Languages 11th Edition By R.W. Sebesta / Latest & Updated Version 2024 A+ Preface Changes for the Eleventh Edition he goals, overall structure, and approach of this eleventh edition of Concepts of Programming Languages remain the same as those of the...

[Show more]

Preview 4 out of 61  pages

  • May 10, 2024
  • 61
  • 2023/2024
  • Exam (elaborations)
  • Questions & answers
avatar-seller
Instructor’s Solutions Manual

to



Concepts of Programming Languages
Eleventh Edition

R.W. Sebesta

,Preface


Changes for the Eleventh Edition

he goals, overall structure, and approach of this eleventh edition of


T Concepts of Programming Languages remain the same as those of the ten
earlier editions. The principal goals are to introduce the fundamental
constructs of contemporary programming languages and to provide the
reader with the tools necessary for the critical evaluation of existing and
future programming languages. A secondary goal is to prepare the reader for the
study of compiler design, by providing an in-depth discussion of programming
language structures, presenting a formal method of describing syntax, and
introducing approaches to lexical and syntactic analysis.
The eleventh edition evolved from the tenth through several different kinds of
changes. To maintain the currency of the material, much of the discussion of older
programming languages, particularly Ada and Fortran, has been removed. For
example, the descriptions of Ada’s records, union types, and pointers were
removed from Chapter 6. Likewise, the description of Ada’s for statement was
removed from Chapter 8 and the discussion of Ada’s abstract data types was
removed from Chapter 11.
On the other hand, a section on reflection that includes two complete program
examples was added to Chapter 12, a section on exception handling in Python and
Ruby was added to Chapter 14, and a table of the design choices of a few
common languages for support for object-oriented programming was added to
Chapter 12.
In some cases, material has been moved. For example, Section 9.10 was
moved backward to become the new Section 9.8.
In one case, example program MAIN_2 in Chapter 10 was rewritten in
JavaScript, previously having been written in Ada.
Chapter 12 was substantially revised, with several new paragraphs, two new
sections, and numerous other changes to improve clarity.




2

,The Vision

This book describes the fundamental concepts of programming languages by
discussing the design issues of the various language constructs, examining the
design choices for these constructs in some of the most common languages, and
critically comparing design alternatives.
Any serious study of programming languages requires an examination of
some related topics, among which are formal methods of describing the syntax
and semantics of programming languages, which are covered in Chapter 3. Also,
implementation techniques for various language constructs must be considered:
Lexical and syntax analysis are discussed in Chapter 4, and implementation of
subprogram linkage is covered in Chapter 10. Implementation of some other
language constructs is discussed in various other parts of the book.
The following paragraphs outline the contents of the eleventh edition.



Chapter Outlines

Chapter 1 begins with a rationale for studying programming languages. It then
discusses the criteria used for evaluating programming languages and language
constructs. The primary influences on language design, common design trade-
offs, and the basic approaches to implementation are also examined.
Chapter 2 outlines the evolution of the languages that are discussed in this
book. Although no attempt is made to describe any language completely, the
origins, purposes, and contributions of each are discussed. This historical
overview is valuable, because it provides the background necessary to
understanding the practical and theoretical basis for contemporary language
design. It also motivates further study of language design and evaluation. Because
none of the remainder of the book depends on Chapter 2, it can be read on its
own, independent of the other chapters.
Chapter 3 describes the primary formal method for describing the syntax of
programming language—BNF. This is followed by a description of attribute
grammars, which describe both the syntax and static semantics of languages. The
difficult task of semantic description is then explored, including brief
introductions to the three most common methods: operational, denotational, and
axiomatic semantics.
Chapter 4 introduces lexical and syntax analysis. This chapter is targeted to

3

, those Computer Science departments that no longer require a compiler design
course in their curricula. Similar to Chapter 2, this chapter stands alone and can be
studied independently of the rest of the book, except for Chapter 3, on which it
depends.
Chapters 5 through 14 describe in detail the design issues for the primary
constructs of programming languages. In each case, the design choices for several
example languages are presented and evaluated. Specifically, Chapter 5 covers the
many characteristics of variables, Chapter 6 covers data types, and Chapter 7
explains expressions and assignment statements. Chapter 8 describes control
statements, and Chapters 9 and 10 discuss subprograms and their implementation.
Chapter 11 examines data abstraction facilities. Chapter 12 provides an in-depth
discussion of language features that support object-oriented programming
(inheritance and dynamic method binding), Chapter 13 discusses concurrent
program units, and Chapter 14 is about exception handling, along with a brief
discussion of event handling.
Chapters 15 and 16 describe two of the most important alternative
programming paradigms: functional programming and logic programming.
However, some of the data structures and control constructs of functional
programming languages are discussed in Chapters 6 and 8. Chapter 15 presents an
introduction to Scheme, including descriptions of some of its primitive functions,
special forms, and functional forms, as well as some examples of simple functions
written in Scheme. Brief introductions to ML, Haskell, and F# are given to
illustrate some different directions in functional language design. Chapter 16
introduces logic programming and the logic programming language, Prolog.



To the Instructor

In the junior-level programming language course at the University of Colorado at
Colorado Springs, the book is used as follows: We typically cover Chapters 1 and
3 in detail, and though students find it interesting and beneficial reading, Chapter
2 receives little lecture time due to its lack of hard technical content. Because no
material in subsequent chapters depends on Chapter 2, as noted earlier, it can be
skipped entirely, and because we require a course in compiler design, Chapter 4 is
not covered.
Chapters 5 through 9 should be relatively easy for students with extensive
programming experience in C++, Java, or C#. Chapters 10 through 14 are more


4

The benefits of buying summaries with Stuvia:

Guaranteed quality through customer reviews

Guaranteed quality through customer reviews

Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.

Quick and easy check-out

Quick and easy check-out

You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.

Focus on what matters

Focus on what matters

Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!

Frequently asked questions

What do I get when I buy this document?

You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.

Satisfaction guarantee: how does it work?

Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.

Who am I buying these notes from?

Stuvia is a marketplace, so you are not buying this document from us, but from seller TestsBanks. Stuvia facilitates payment to the seller.

Will I be stuck with a subscription?

No, you only buy these notes for $12.99. You're not tied to anything after your purchase.

Can Stuvia be trusted?

4.6 stars on Google & Trustpilot (+1000 reviews)

66579 documents were sold in the last 30 days

Founded in 2010, the go-to place to buy study notes for 14 years now

Start selling

Recently viewed by you


$12.99
  • (0)
  Add to cart