jagomart
digital resources
picture1_Programming Languages Pdf Notes 187674 | Book Item Download 2023-02-02 13-12-02


 184x       Filetype PDF       File size 3.23 MB       Source: www.cs.ecu.edu


File: Programming Languages Pdf Notes 187674 | Book Item Download 2023-02-02 13-12-02
concepts of programming languages aunied approach karl abrahamson august 2011 2 copyright c 2011 karl abrahamson contents i fundamental concepts 17 1 introduction to programming languages 19 2 language classication ...

icon picture PDF Filetype PDF | Posted on 02 Feb 2023 | 2 years ago
Partial capture of text on file.
                Concepts of Programming Languages:
                        AUnified Approach
                           Karl Abrahamson
                             August 2011
           2
                       Copyright (c) 2011 Karl Abrahamson.
                            Contents
                            I    Fundamental Concepts                                                                         17
                            1 Introduction to Programming Languages                                                            19
                            2 Language Classification                                                                           21
                                2.1     Imperative programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       21
                                2.2     Declarative programming . . . . . . . . . . . . . . . . . . . . . . . . . . . .        22
                                2.3     Language classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     23
                                2.4     Summary of terminology and concepts . . . . . . . . . . . . . . . . . . . . .          24
                                2.5     Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  25
                                2.6     Bibliographic notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    25
                            3 Encapsulation and Information Hiding                                                             27
                                3.1     Encapsulation and modification . . . . . . . . . . . . . . . . . . . . . . . . .        27
                                3.2     Some kinds of encapsulations . . . . . . . . . . . . . . . . . . . . . . . . . .       27
                                3.3     Intension and extension      . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
                                3.4     Language support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     28
                                3.5     Summary of terminology and concepts . . . . . . . . . . . . . . . . . . . . .          29
                                3.6     Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  30
                            4 Implementation of Programming Languages                                                          31
                                4.1     Compilers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    31
                                4.2     Linkers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  31
                                4.3     Interpreters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   32
                                4.4     Comparison of compilers and interpreters        . . . . . . . . . . . . . . . . . . .  33
                                4.5     Hybrid implementations . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       34
                                4.6     Libraries and run-time support . . . . . . . . . . . . . . . . . . . . . . . . .       35
                                4.7     Languages are not their implementations . . . . . . . . . . . . . . . . . . . .        35
                                4.8     Summary of terminology and concepts . . . . . . . . . . . . . . . . . . . . .          37
                                4.9     Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  38
                                4.10    Bibliographic notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    39
                            II    Syntax and Semantics                                                                        41
                            5 Form and Function                                                                                43
                                5.1     The syntax of a language       . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
                                5.2     Form suggests function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     43
                                                                              3
                            4                                                                                      CONTENTS
                                5.3     Summary of terminology and concepts . . . . . . . . . . . . . . . . . . . . .          45
                                5.4     Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  45
                                5.5     Bibliographic notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    46
                            6 Describing Syntax and Structure                                                                  47
                                6.1     Describing the syntax of a language . . . . . . . . . . . . . . . . . . . . . . .      47
                                6.2     Lexical rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  47
                                6.3     Program structure and parse trees        . . . . . . . . . . . . . . . . . . . . . . . 49
                                6.4     Using grammars to indicate allowed trees        . . . . . . . . . . . . . . . . . . .  51
                                6.5     Commongrammatical forms . . . . . . . . . . . . . . . . . . . . . . . . . . .          52
                                6.6     Ambiguity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    53
                                6.7     Syntax is not meaning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      56
                                6.8     Extended BNF notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        56
                                6.9     Syntax diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      57
                                6.10    Summary of terminology and concepts . . . . . . . . . . . . . . . . . . . . .          59
                                6.11    Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  60
                                6.12    Bibliographic notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    62
                            7 Semantics                                                                                        63
                                7.1     Introduction to semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . .      63
                                7.2     Operational semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      63
                                7.3     Denotational semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     63
                                7.4     Axiomatic semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      64
                                7.5     Partial semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    64
                                7.6     Relational semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     65
                                7.7     Semantic black holes and infinite loops . . . . . . . . . . . . . . . . . . . . .       65
                                7.8     Resource limitations and semantics . . . . . . . . . . . . . . . . . . . . . . .       66
                                7.9     Summary of terminology and concepts . . . . . . . . . . . . . . . . . . . . .          66
                                7.10    Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  67
                                7.11    Bibliographic notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    68
                            III     Managing Information                                                                      69
                            8 Data and Data Representation                                                                     71
                                8.1     Programs and data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      71
                                8.2     Simple values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    71
                                8.3     Tuples and records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     72
                                8.4     Lists and arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   73
                                8.5     Sets   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
                                8.6     Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  77
                                8.7     Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   79
                                8.8     Tags and tagged values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     79
                                8.9     First class data items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   80
                                8.10    Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    81
                                8.11    Persistent and ephemeral data . . . . . . . . . . . . . . . . . . . . . . . . . .      81
                                8.12    Summary of terminology and concepts . . . . . . . . . . . . . . . . . . . . .          82
                                8.13    Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  83
The words contained in this file might help you see if this file matches what you are looking for:

...Concepts of programming languages aunied approach karl abrahamson august copyright c contents i fundamental introduction to language classication imperative declarative summary terminology and exercises bibliographic notes encapsulation information hiding modication some kinds encapsulations intension extension support implementation compilers linkers interpreters comparison hybrid implementations libraries run time are not their ii syntax semantics form function the a suggests describing structure lexical rules program parse trees using grammars indicate allowed commongrammatical forms ambiguity is meaning extended bnf notation diagrams operational denotational axiomatic partial relational semantic black holes innite loops resource limitations iii managing data representation programs simple values tuples records lists arrays sets tables tags tagged first class items objects persistent ephemeral...

no reviews yet
Please Login to review.