Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword or section
Like this

Table Of Contents

1.1 Software development process
1.2 Languages and software development environments
1.3 Languages and software design methods
1.4 Languages and computer architecture
1.5.3 Languages and efficiency
1.6.1 Early high-level languages: FORTRAN, ALGOL 60, and COBOL
1.6.2 Early schisms: LISP, APL, and SNOBOL4
1.6.3 Putting them all together: PL/I
1.6.4 The next leap forward: ALGOL 68, SIMULA 67, Pascal, and BASIC
1.6.5 C and the experiments in the 70’s
1.6.6 The 80’s: ML, Ada, C++ and object orientation
1.6.7 The present
1.7.1 A simple program
1.7.2 Syntax and semantics
1.7.3 Semantic elements
1.7.4 Program organization
1.7.5 Program data and algorithms
1.7.6 External environment
1.8 Bibliographic notes
1.9 Exercises
2.1.1 Syntax
2.1.2 Semantics
2.2.1 Interpretation
2.2.2 Translation
2.2.3 The concept of binding
2.3.1 Name and scope
2.3.2 Type
2.3.3 l_value
2.3.4 r_value
2.3.5 References and unnamed variables
2.4.1 Generic routines
2.4.2 More on scopes: aliasing and overloading
2.5 An abstract semantic processor
2.6.1 C1: A language with only simple statements
2.6.2 C2: Adding simple routines
2.6.3 C3: Supporting recursive functions Nesting via locally declared routines Activation records whose size becomes known at unit activation Fully dynamic data allocation Data parameters Routine parameters
2.7 Bibliographic notes
2.8 Exercises
3.1 Built-in types and primitive types
3.2.1 Cartesian product
3.2.2 Finite mapping
3.2.3 Union and discriminated union
3.2.4 Powerset
3.2.5 Sequencing
3.2.6 Recursion
3.2.7 Compound values Abstract data types in C++ Abstract data types in Eiffel
3.3.1 Static versus dynamic program checking
3.3.2 Strong typing and type checking
3.3.3 Type compatibility
3.3.4 Type conversions
3.3.5 Types and subtypes
3.3.6 Generic types
3.3.7 Summing up: monomorphic versus polymorphic type systems
3.4.1 Pascal
3.4.2 C++
3.4.3 Ada
3.5.1 Built-in and enumerations Cartesian product Finite mapping Union and discriminated union Powersets Sequences Classes Pointers and garbage collection
3.6 Bibliographic notes
3.7 Exercises
4.1 Expressions and statements
4.2 Conditional execution and iteration
4.3 Routines
4.4.1 Exception handling in Ada
4.4.2 Exception handling in C++
4.4.3 Exception handling in Eiffel
4.4.4 Exception handling in ML
4.4.5 A comparative evaluation
4.5 Pattern matching
4.6 Nondeterminism and backtracking
4.7 Event-driven computations
4.8.1 Processes Semaphores Monitors and signals Rendezvous Summing up Semaphores Monitors and signals Rendezvous
4.9 Bibliographic note
4.10 Exercises
5.2.2 Interface and implementation
5.2.3 Separate and independent compilation
5.2.4 Libraries of modules
5.3.1 Pascal
5.3.2 C Encapsulation in C++ Program organization Grouping of units Encapsulation in Ada Program organization Interface and implementation Grouping of units Encapsulation in ML Interface and implementation
5.3.6 Abstract data types, classes, and modules
5.4.1 Generic data structures
5.4.2 Generic algorithms
5.4.3 Generic modules
5.4.4 Higher levels of genericity
5.5 Summary
5.6 Bibliographic notes
5.7 Exercises
6.1.1 Classes of objects
6.1.2 Inheritance
6.1.3 Polymorphism
6.1.4 Dynamic binding of calls to member functions
6.2.1 Subclasses versus subtypes Type extension Overriding of member functions Single and multiple inheritance Implementation and interface inheritance Classes Virtual functions and dynamic binding Use of virtual functions for specification Protected members Tagged types Dynamic dispatch through classwide programming Abstract types and routines Classes and object creation Inheritance and redefinition
6.3.4 Smalltalk
6.4 Object-oriented analysis and design
6.5 Summary
6.6 Bibliographic notes
7.1 Characteristics of imperative languages
7.2 Mathematical and programming functions
7.3.1 Values, bindings, and functions
7.3.2 Lambda calculus: a model of computation by functions Functions in ML List structure and operations Type system Type inference Modules Data objects Functions Functional forms LISP semantics Objects Functions Functional Forms An APL Program
7.5.1 Functions as objects
7.5.2 Functional forms
7.5.3 Type inference
7.6 Summary
7.7 Bibliographic notes
7.8 Exercises
8.1.1 A first example
8.1.2 Another example
8.2 Principles of logic programming
8.4 Functional programming versus logic programming
8.5 Rule-based languages
8.6 Bibliographic notes
8.7 Exercises
0 of .
Results for:
No results containing your search query
P. 1
Programming Language Concepts - Ghezzi, Carlo

Programming Language Concepts - Ghezzi, Carlo

Ratings: (0)|Views: 373|Likes:

More info:

Published by: Federico Martín Alconada Verzini on May 22, 2012
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





You're Reading a Free Preview
Pages 9 to 23 are not shown in this preview.
You're Reading a Free Preview
Pages 32 to 101 are not shown in this preview.
You're Reading a Free Preview
Pages 110 to 272 are not shown in this preview.
You're Reading a Free Preview
Pages 281 to 401 are not shown in this preview.
You're Reading a Free Preview
Pages 410 to 418 are not shown in this preview.

Activity (7)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads
Lars Wirfelt liked this
Lars Wirfelt liked this
Long Nguyen liked this
Lars Wirfelt liked this
bugmenot540 liked this

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->