Download presentation
Presentation is loading. Please wait.
1
Final Review In Text: Chapters 1-3, 5-16
2
Ch. 1: Introduction Why study PLs? Language evaluation criteria
Two main influences on PL design 5 paradigms Implementation strategies Final Exam Review
3
Ch. 2: History and Evolution
What are the major contribution(s) of each language? Examples: Support for recursion Introduction of block structure First in a paradigm First formally described syntax Etc. Most important to review: FORTRAN, LISP, ALGOL Final Exam Review
4
Ch. 3: Syntax and Semantics
BNF & EBNF What makes a grammar ambiguous? How do you disambiguate a grammar? What does it mean for two grammars to “generate the same language”? Operational semantics Axiomatic semantics Applying axiomatic semantics to code segments Loop invariants, 5 criteria Denotational semantics Final Exam Review
5
Ch. 5: Names and Binding What are the six attributes? What do they mean? Binding and possible binding times Type checking Two type compatibility methods Scope vs. lifetime Final Exam Review
6
Ch. 6: Data Types Primitive types Type constructors: Arrays Records
Unions Sets Pointers Design issues Type checking issues Final Exam Review
7
Ch. 7: Expressions Precedence rules Associativity rules
Order of operand evaluation Type conversions: widening and narrowing Type coercions vs. explicit conversions Mixed-mode expressions Relational and boolean expressions Short-circuit evaluation Final Exam Review
8
Ch. 8: Control Structures
Design issues Selection One-way Two-way Multi-way Iteration Counter-controlled Logically-controlled Gotos Guarded statements Final Exam Review
9
Ch. 9: Subprograms Definitions Referencing environment
What are the common parameter passing modes and mechanisms? Independent vs. separate compilation Advanced subprogram issues Final Exam Review
10
Ch. 10: Implementing Subprograms
Activation records Accessing locals Accessing nonlocals (static scoping) Static chains Displays Implementing blocks Accessing nonlocals with dynamic scoping Final Exam Review
11
Ch. 11: ADTs What is an abstraction?
Separation of specification from implementation Encapsulation What is needed to support separate compilation? Final Exam Review
12
Ch. 12: Object-Oriented PLs
What are the three defining characteristics of OOP languages? What are the other hallmarks of OOP? Definition of OOP terms Familiarity with Smalltalk Design issues for OOPLs Final Exam Review
13
Ch. 13: Concurrency Competition synchronization
Cooperation synchronization Concurrency control mechanisms: Semaphores Monitors Rendezvous (message passing) Final Exam Review
14
Ch. 14: Exceptions What is an exceptional condition? Design issues:
How are handlers bound to exceptions? Where does control go to after handling? Are there default handlers? What about user-defined exceptions? What about cleaning up the stack? Final Exam Review
15
Ch. 15: Functional Programming
What are the hallmarks of FP? Definition of FP terms Scheme syntax You’ll have to write a Scheme function Final Exam Review
16
Ch. 16: Logic Programming What are the hallmarks of LP?
Definition of LP terms Prolog syntax You should be able to read Prolog code Final Exam Review
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.