<?xml version="1.0" encoding="UTF-8"?>
<mods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.loc.gov/mods/v3" version="3.1" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-1.xsd">
  <titleInfo>
    <title>Concepts of programming languages</title>
  </titleInfo>
  <name type="personal">
    <namePart>Sebesta, Robert W.</namePart>
    <role>
      <roleTerm authority="marcrelator" type="text">creator</roleTerm>
    </role>
  </name>
  <name type="personal">
    <namePart>Mukherjee, Soumen; Bhattacharjee, Arup Kumar</namePart>
  </name>
  <typeOfResource>text</typeOfResource>
  <originInfo>
    <place>
      <placeTerm type="code" authority="marccountry">xx</placeTerm>
    </place>
    <place>
      <placeTerm type="text">Harlow, Essex</placeTerm>
    </place>
    <publisher>Pearson Education Ltd.</publisher>
    <dateIssued>©2016</dateIssued>
    <dateIssued encoding="marc">2016</dateIssued>
    <edition>Eleventh, global edition</edition>
    <issuance>monographic</issuance>
  </originInfo>
  <language>
    <languageTerm authority="iso639-2b" type="code">und</languageTerm>
  </language>
  <physicalDescription>
    <form authority="marcform">print</form>
    <extent>785 pages:  illustrations</extent>
    <extent>24 cm</extent>
  </physicalDescription>
  <tableOfContents>Chapter 1 Preliminaries1.1 Reasons for Studying Concepts of Programming Languages1.2 Programming Domains1.3 Language Evaluation Criteria1.4 Influences on Language Design1.5 Language Categories1.6 Language Design Trade-Offs1.7 Implementation Methods1.8 Programming EnvironmentsSummary * Review Questions * Problem Set Chapter 2 Evolution of the Major Programming Languages2.1 Zuse`s Plankalkul2.2 Pseudocodes2.3 The IBM 704 and Fortran2.4 Functional Programming: Lisp2.5 The First Step Toward Sophistication: ALGOL 602.6 Computerizing Business Records: COBOL2.7 The Beginnings of Timesharing: BasicInterview: Alan Cooper-User Design and Language Design2.8 Everything for Everybody: PL/I2.9 Two Early Dynamic Languages: APL and SNOBOL2.10 The Beginnings of Data Abstraction: SIMULA 672.11 Orthogonal Design: ALGOL 682.12 Some Early Descendants of the ALGOLs2.13 Programming Based on Logic: Prolog2.14 History`s Largest Design Effort: Ada2.15 Object-Oriented Programming: Smalltalk2.16 Combining Imperative and Object-Oriented Features: C++2.17 An Imperative-Based Object-Oriented Language: Java2.18 Scripting Languages2.19 The Flagship .NET Language: C#2.20 Markup-Programming Hybrid LanguagesSummary * Bibliographic Notes * Review Questions * Problem Set * Programming Exercises Chapter 3 Describing Syntax and Semantics3.1 Introduction3.2 The General Problem of Describing Syntax3.3 Formal Methods of Describing Syntax3.4 Attribute GrammarsHistory Note3.5 Describing the Meanings of Programs: Dynamic SemanticsHistory NoteSummary * Bibliographic Notes * Review Questions * Problem Set Chapter 4 Lexical and Syntax Analysis 1614.1 Introduction4.2 Lexical Analysis4.3 The Parsing Problem4.4 Recursive-Descent Parsing4.5 Bottom-Up ParsingSummary * Review Questions * Problem Set * Programming Exercises Chapter 5 Names, Bindings, and Scopes 1975.1 Introduction5.2 NamesHistory Note5.3 Variables5.4 The Concept of Binding5.5 Scope5.6 Scope and Lifetime5.7 Referencing Environments5.8 Named ConstantsSummary * Review Questions * Problem Set * Programming Exercises Chapter 6 Data Types6.1 Introduction6.2 Primitive Data Types6.3 Character String TypesHistory Note6.4 Enumeration Types6.5 Array TypesHistory NoteHistory Note6.6 Associative ArraysInterview: ROBERTO IERUSALIMSCHY-Lua6.7 Record Types6.8 Tuple Types6.9 List Types6.10 Union Types6.11 Pointer and Reference TypesHistory Note6.12 Type Checking6.13 Strong Typing6.14 Type Equivalence6.15 Theory and Data TypesSummary * Bibliographic Notes * Review Questions * Problem Set * Programming Exercises Chapter 7 Expressions and Assignment Statements 3017.1 Introduction7.2 Arithmetic Expressions7.3 Overloaded Operators7.4 Type ConversionsHistory Note7.5 Relational and Boolean ExpressionsHistory Note7.6 Short-Circuit Evaluation7.7 Assignment StatementsHistory Note7.8 Mixed-Mode AssignmentSummary * Review Questions * Problem Set * Programming Exercises Chapter 8 Statement-Level Control Structures8.1 Introduction8.2 Selection Statements8.3 Iterative Statements8.4 Unconditional BranchingHistory Note8.5 Guarded Commands8.6 ConclusionsSummary * Review Questions * Problem Set * Programming Exercises Chapter 9 Subprograms9.1 Introduction9.2 Fundamentals of Subprograms9.3 Design Issues for Subprograms9.4 Local Referencing Environments9.5 Parameter-Passing MethodsHistory Note9.6 Parameters That Are SubprogramsHistory Note9.7 Calling Subprograms Indirectly9.8 Design Issues for Functions9.9 Overloaded Subprograms9.10 Generic Subprograms9.11 User-Defined Overloaded Operators9.12 Closures9.13 CoroutinesSummary * Review Questions * Problem Set * Programming Exercises Chapter 10 Implementing Subprograms10.1 The General Semantics of Calls and Returns10.2 Implementing "Simple" Subprograms10.3 Implementing Subprograms with Stack-Dynamic Local Variables10.4 Nested Subprograms10.5 Blocks10.6 Implementing Dynamic ScopingSummary * Review Questions * Problem Set * Programming Exercises Chapter 11 Abstract Data Types and Encapsulation Constructs11.1 The Concept of Abstraction11.2 Introduction to Data Abstraction11.3 Design Issues for Abstract Data Types11.4 Language ExamplesInterview: bjarne stroustrup-C++: Its Birth, Its Ubiquitousness, and Common Criticisms11.5 Parameterized Abstract Data Types11.6 Encapsulation Constructs11.7 Naming EncapsulationsSummary * Review Questions * Problem Set * Programming Exercises Chapter 12 Support for Object-Oriented Programming12.1 Introduction12.2 Object-Oriented Programming12.3 Design Issues for Object-Oriented Languages12.4 Support for Object-Oriented Programming in Specific LanguagesInterview: BJARNE STROUSTRUP-On Paradigms and Better Programming12.5 Implementation of Object-Oriented Constructs12.6 ReflectionSummary * Review Questions * Problem Set * Programming Exercises Chapter 13 Concurrency13.1 Introduction13.2 Introduction to Subprogram-Level Concurrency13.3 Semaphores13.4 Monitors13.5 Message Passing13.6 Ada Support for Concurrency13.7 Java Threads13.8 C# Threads13.9 Concurrency in Functional Languages13.10 Statement-Level ConcurrencySummary * Bibliographic Notes * Review Questions * Problem Set * Programming ExercisesChapter 14 Exception Handling and Event Handling 14.1 Introduction to Exception HandlingHistory Note14.2 Exception Handling in C++14.3 Exception Handling in Java14.4 Exception Handling in Python and Ruby14.5 Introduction to Event Handling14.6 Event Handling with Java14.7 Event Handling in C#Summary * Bibliographic Notes * Review Questions * Problem Set * Programming Exercises Chapter 15 Functional Programming Languages15.1 Introduction15.2 Mathematical Functions15.3 Fundamentals of Functional Programming Languages15.4 The First Functional Programming Language: Lisp15.5 An Introduction to Scheme15.6 Common Lisp15.7 ML15.8 Haskell15.9 F#15.10 Support for Functional Programming in Primarily Imperative Languages15.11 A Comparison of Functional and Imperative LanguagesSummary * Bibliographic Notes * Review Questions * Problem Set *Programming Exercises Chapter 16 Logic Programming Languages16.1 Introduction16.2 A Brief Introduction to Predicate Calculus16.3 Predicate Calculus and Proving Theorems16.4 An Overview of Logic Programming16.5 The Origins of Prolog16.6 The Basic Elements of Prolog16.7 Deficiencies of Prolog16.8 Applications of Logic ProgrammingSummary * Bibliographic Notes * Review Questions * Problem Set * Programming ExercisesBibliographyIndex</tableOfContents>
  <note type="statement of responsibility">Robert W. Sebesta ; global edition contributions by Soumen Mukherjee, Arup Kumar Bhattacharjee.</note>
  <note>Includes bibliographic references and index</note>
  <note>in English</note>
  <subject>
    <topic>Programming languages (Electronic computers)</topic>
  </subject>
  <classification authority="lcc">005.13 Se21c 2016</classification>
  <identifier type="isbn">978-1-292-10055-5</identifier>
  <recordInfo>
    <recordCreationDate encoding="marc">251212</recordCreationDate>
    <recordChangeDate encoding="iso8601">20260803094216.0</recordChangeDate>
  </recordInfo>
</mods>
