Midterm Review In Text: Chapters 1-3, 5-11, 15.

Slides:



Advertisements
Similar presentations
Semantics Static semantics Dynamic semantics attribute grammars
Advertisements

ICE1341 Programming Languages Spring 2005 Lecture #13 Lecture #13 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information and Communications University.
Semantic Analysis Chapter 6. Two Flavors  Static (done during compile time) –C –Ada  Dynamic (done during run time) –LISP –Smalltalk  Optimization.
Programming Languages and Paradigms
Subprogram Control - Data sharing Mechanisms to exchange data Arguments - data objects sent to a subprogram to be processed. Obtained through  parameters.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 330 Programming Language Structures Ch.2: Syntax and Semantics Fall 2005.
Chapter 9 Subprogram Control Consider program as a tree- –Each parent calls (transfers control to) child –Parent resumes when child completes –Copy rule.
ALGOL 60 Design by committee of computer scientists: Naur, Backus, Bauer, McCarthy, van Wijngaarden, Landin, etc. Design by committee of computer scientists:
Chapter 3 Program translation1 Chapt. 3 Language Translation Syntax and Semantics Translation phases Formal translation models.
Chapter 9: Subprogram Control
Summer 02-03Programming Language Concepts1 Programming Language Concepts (CS 360) Lecture 1: Overview, Grammars, and Little Languages Jeremy R. Johnson.
Dr. Muhammed Al-Mulhem 1ICS ICS 535 Design and Implementation of Programming Languages Part 1 Fundamentals (Chapter 4) Denotational Semantics ICS.
Imperative Programming
1 Programming Languages Implementation of Control Structures Cao Hoaøng Truï Khoa Coâng Ngheä Thoâng Tin Ñaïi Hoïc Baùch Khoa TP. HCM.
CSC3315 (Spring 2009)1 CSC 3315 Programming Languages Hamid Harroud School of Science and Engineering, Akhawayn University
5-1 Chapter 5: Names, Bindings, Type Checking, and Scopes Variables The Concept of Binding Type Checking Strong Typing Type Compatibility Scope and Lifetime.
Programming Languages and Design Lecture 7 Subroutines and Control Abstraction Instructor: Li Ma Department of Computer Science Texas Southern University,
Programming Language C++ Xulong Peng CSC415 Programming Languages.
1 Programming Language History and Evolution In Text: Chapter 2.
1 Type Checking Type checking ensures that the operands and the operator are of compatible types Generalized to include subprograms and assignments Compatible.
Programming Languages and Paradigms Imperative Programming.
Arithmetic Expressions
April 2, ICE 1341 – Programming Languages (Lecture #12) In-Young Ko Programming Languages (ICE 1341) Lecture #12 Programming Languages (ICE 1341)
1 Structure of Compilers Lexical Analyzer (scanner) Modified Source Program Parser Tokens Semantic Analysis Syntactic Structure Optimizer Code Generator.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 330 Programming Language Structures Operational Semantics (Slides mainly.
Chapter 1: Preliminaries Lecture # 2. Chapter 1: Preliminaries Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation.
CSCE 343 – Programming Language Concepts Welcome!.
Scott C. Johnson Lecturer Rochester Institute of Technology Spring 2016.
Programming Language History and Evolution
Chapter 3 – Describing Syntax
Zuse’s Plankalkül – 1945 Never implemented Problems Zuse Solved
Type Checking, and Scopes
CS 326 Programming Languages, Concepts and Implementation
Review: Chapter 5: Syntax directed translation
Chapter 8: Control Structures
FORTRAN 04 February 1999; CS655.
Programming Language History and Evolution
CS 3304 Comparative Languages Fall 2011
Midterm Review In Text: Chapters 1, 2, 3, 5, 15.
Midterm Review In Text: Chapters 1, 2, 3, 11, 14, 15.
CPSC 388 – Compiler Design and Construction
Expressions and Assignment Statements
Final Review In Text: Chapters 1-3, 5-11,
Midterm Review In Text: Chapters 1-3, 5, 15.
Midterm Review In Text: Chapters 1-3, 5-7, 15, 16.
Final Review In Text: Chapters 1-11,
Final Review In Text: Chapters 1-3, 5-10, 12,
Final Review In Text: Chapters 1-3, 5-10, 12,
Final Review In Text: Chapters 1-3, 5-10,
Midterm Review In Text: Chapters 1, 2, 3, 5, 6, 15.
Midterm Review In Text: Chapters 1, 2, 3, 5, 15.
Midterm Review In Text: Chapters 1-3, 5-9, 15.
Final Review In Text: Chapters 1-3, 5-10,
Midterm Review In Text: Chapters 1-3, 5-6, 15.
CSCE 330 Programming Language Structures Ch.2: Syntax and Semantics
Midterm Review In Text: Chapters 1-3, 5-10, 15.
Subprograms In Text: Chapter 9.
Final Review In Text: Chapters 1-3, 5-12,
Final Review In Text: Chapters 1-3, 5-16.
Final Review In Text: Chapters 1-3, 5-16.
Final Review In Text: Chapters 1-9, 11, 14, 15.
Semantic Analysis Chapter 6.
Languages and Compilers (SProg og Oversættere)
Final Review In Text: Chapters 1-3, 5-16.
Names and Binding In Text: Chapter 5.
Overview of Programming Paradigms
Final Review In Text: Chapters 1-3, 5-16.
Midterm Review In Text: Chapters 1-3, 5-9, 15.
Expressions and Assignment Statements
Types and Related Issues
Presentation transcript:

Midterm Review In Text: Chapters 1-3, 5-11, 15

Ch. 1: Introduction Why study PLs? Language evaluation criteria Two main influences on PL design 5 paradigms Implementation strategies  Final Exam Review 

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 

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 

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 

Ch. 6: Data Types Primitive types Type constructors: Arrays Records Unions Sets Pointers Design issues Type checking issues  Final Exam Review 

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 

Ch. 8: Control Structures Design issues Selection One-way Two-way Multi-way Iteration Counter-controlled Logically-controlled Gotos Guarded statements  Final Exam Review 

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 

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 

Ch. 11: ADTs What is an abstraction? Separation of specification from implementation Encapsulation What is needed to support separate compilation?  Final Exam Review 

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 