offs, and the basic app roaches 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 th e 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 la nguage —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 4 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 independent ly of the rest of the book, e xcept 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 presen ted and evaluated. Sp ecifically, Chapter 5 covers the many characteristics of variables, Cha pter 6 covers data types, and Chapter 7 explains expressions and assignment statements. Chapter 8 describes control statements, and Chapters 9 and 10 discuss subpro grams and their implementation. Chapter 11 examines data abstraction facilities. Chapter 12 provides an in -depth discussion of language features that support object -oriented programming (inhe ritance and dynamic method binding), Chapter 13 discusses concurr ent program units, and Chapter 14 is about exception ha ndling, 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 fun ctional 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 functiona l 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 progr amming la nguage, 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 recei ves 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 b ecause 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 exp erience in C ++, Java, or C#. Chapters 10 through 14 are more
Solution Manual For Concepts of Programming Languages 11th Edition by Robert Sebesta.
Solution Manual For Concepts of Programming Languages 11th Edition by Robert Sebesta.
Connected book
Written for
- Institution
- SM+TB
- Course
- SM+TB
Document information
- Uploaded on
- May 29, 2023
- Number of pages
- 61
- Written in
- 2022/2023
- Type
- Exam (elaborations)
- Contains
- Questions & answers
Subjects
-
solution manual for concepts of programming languages 11th edition by robert sebesta
Content preview
offs, and the basic app roaches 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 th e 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 la nguage —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 4 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 independent ly of the rest of the book, e xcept 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 presen ted and evaluated. Sp ecifically, Chapter 5 covers the many characteristics of variables, Cha pter 6 covers data types, and Chapter 7 explains expressions and assignment statements. Chapter 8 describes control statements, and Chapters 9 and 10 discuss subpro grams and their implementation. Chapter 11 examines data abstraction facilities. Chapter 12 provides an in -depth discussion of language features that support object -oriented programming (inhe ritance and dynamic method binding), Chapter 13 discusses concurr ent program units, and Chapter 14 is about exception ha ndling, 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 fun ctional 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 functiona l 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 progr amming la nguage, 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 recei ves 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 b ecause 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 exp erience in C ++, Java, or C#. Chapters 10 through 14 are more