CSC448
:
Winter 2002 Notes
[0/133]
Overview: Are You In The Right Room?
[1/133]
Overview: Overview of Today's Class
[2/133]
Overview: Course Overview
[3/133]
Overview: Why Take This Course?
[4/133]
Overview: Course Homepage
[5/133]
Overview: Contact Information
[6/133]
Overview: Course Mailing List
[7/133]
Overview: Policies
[8/133]
Overview: Assessment
[9/133]
Overview: Plagiarism
[10/133]
Overview: Textbooks
[11/133]
Overview: Prerequisites
[12/133]
Overview: Development Tools
[13/133]
Overview: Installing MinGW
[14/133]
Overview: Installing Apache Ant
[15/133]
Overview: Installing CLOGS
[16/133]
Overview: Tell Me About Yourself
[17/133]
Overview: Lexing and Parsing Overview
[18/133]
Overview: Review of Regular Expressions
[19/133]
Overview: Regular Expression Examples
[20/133]
Overview: Review of Context-Free Grammars, BNF, and EBNF
[21/133]
Overview: JFlex and CUP
[22/133]
Overview: Arithmetic
[23/133]
Overview: Homework
[24/133]
Parsing: Overview of Today's Class
[25/133]
Parsing: Discussion
[26/133]
Parsing: Clogs
[27/133]
Parsing: Parsing Refresher
[28/133]
Parsing: Coding Conventions
[29/133]
Parsing: Abstract Syntax Trees
[30/133]
Parsing: Abstract Syntax Trees for Clogs
[31/133]
Parsing: CUP for Clogs
[32/133]
Parsing: Homework
[33/133]
Type Checking: Overview of Today's Class
[34/133]
Type Checking: Discussion
[35/133]
Type Checking: Type Checking: Overview
[36/133]
Type Checking: Well-Formedness
[37/133]
Type Checking: Integers and Strings
[38/133]
Type Checking: Integers, Strings, AND Variables
[39/133]
Type Checking: Adding Null
[40/133]
Type Checking: Statements
[41/133]
Type Checking: Functions
[42/133]
Type Checking: Clogs Implementation
[43/133]
Type Checking: If Time Permits
[44/133]
AST Transformations: Overview of Today's Class
[45/133]
AST Transformations: Discussion
[46/133]
AST Transformations: Eliminating Initializers I
[47/133]
AST Transformations: Eliminating Initializers II
[48/133]
AST Transformations: Fresh Labels/Variables
[49/133]
AST Transformations: Eliminating High-Level Control Structures
[50/133]
AST Transformations: Three Address Code
[51/133]
Code Generation: Overview of Today's Class
[52/133]
Code Generation: Discussion
[53/133]
Code Generation: Run-Time Environment I
[54/133]
Code Generation: Run-Time Environment II
[55/133]
Code Generation: Run-Time Environment III
[56/133]
Code Generation: Run-Time Environment IV
[57/133]
Code Generation: Run-Time Environment V
[58/133]
Code Generation: Run-Time Environment VI
[59/133]
Code Generation: Run-Time Environment VII
[60/133]
Code Generation: Learning via GCC I
[61/133]
Code Generation: Learning via GCC II
[62/133]
Code Generation: Learning via GCC III
[63/133]
Code Generation: Simplified Example
[64/133]
Code Generation: GNU Debugger (GDB) Walk Through
[65/133]
Code Generation: GNU Debugger (GDB)
[66/133]
Code Generation: Learning via GCC IV
[67/133]
Code Generation: Code Generation
[68/133]
Code Generation: Run-Time Storage Location I
[69/133]
Code Generation: Run-Time Storage Location II
[70/133]
Code Generation: Run-Time Storage Location III
[71/133]
Code Generation: Code Generation for Assignment Statements I
[72/133]
Code Generation: Code Generation for Assignment Statements II
[73/133]
Code Generation: Code Generation for Assignment Statements III
[74/133]
Code Generation: Run-Time Storage for Objects I
[75/133]
Code Generation: Run-Time Storage for Objects II
[76/133]
Code Generation: Run-Time Storage for Objects III
[77/133]
Code Generation: Code Generation for Other Statements
[78/133]
Code Generation: Examples and Library Code
[79/133]
Code Generation: Building an Executable
[80/133]
Code Generation: Naming and Differences Between Windows and Linux
[81/133]
Code Generation: Homework
[82/133]
Program Analysis I: Overview of Today's Class
[83/133]
Program Analysis I: Discussion
[84/133]
Program Analysis I: Control Flow Graphs I
[85/133]
Program Analysis I: Control Flow Graphs II
[86/133]
Program Analysis I: Control Flow Graphs III
[87/133]
Program Analysis I: Control Flow Graphs IV
[88/133]
Program Analysis I: Obtaining Graphviz, Ghostscript, and Ghostview
[89/133]
Program Analysis I: Does a Block Return Anything? I
[90/133]
Program Analysis I: Does a Block Return Anything? II
[91/133]
Program Analysis I: Similar Problems
[92/133]
Program Analysis II: Overview of Today's Class
[93/133]
Program Analysis II: Discussion
[94/133]
Parsing Revisited: Overview of Today's Class
[95/133]
Parsing Revisited: Discussion
[96/133]
Parsing Revisited: TO DO
[97/133]
Parsing Revisited: Derivations
[98/133]
Parsing Revisited: Stack Machines
[99/133]
Parsing Revisited: LALR Parsing
[100/133]
Parsing Revisited: Parsing Issues
[101/133]
Parsing Revisited: Derivations I
[102/133]
Parsing Revisited: Derivations II
[103/133]
Parsing Revisited: Derivations III
[104/133]
Parsing Revisited: Parsing Tables
[105/133]
Parsing Revisited: Notes
[106/133]
Parsing Revisited: LL(1)
[107/133]
Parsing Revisited: Hand-Written Parsers
[108/133]
Type Checking Revisited: Overview of Today's Class
[109/133]
Type Checking Revisited: Discussion
[110/133]
Type Checking Revisited: Generic Polymorphism I
[111/133]
Type Checking Revisited: Generic Polymorphism II
[112/133]
Type Checking Revisited: Generic Polymorphism III
[113/133]
Type Checking Revisited: Type Inference
[114/133]
Type Checking Revisited: Substitutions and Instances
[115/133]
Type Checking Revisited: Simple Functional Language
[116/133]
Type Checking Revisited: Example Program
[117/133]
Type Checking Revisited: Hindley-Milner Type Inference
[118/133]
Type Checking Revisited: Hindley-Milner Type Inference: Implementation I
[119/133]
Type Checking Revisited: Hindley-Milner Type Inference: Implementation II
[120/133]
Type Checking Revisited: Let Polymorphism I
[121/133]
Type Checking Revisited: Let Polymorphism II
[122/133]
Code Generation Revisited: Overview of Today's Class
[123/133]
Code Generation Revisited: Discussion
[124/133]
Code Generation Revisited: Inheritance
[125/133]
Code Generation Revisited: Exceptions
[126/133]
Code Generation Revisited: Syntax and Operational Semantics
[127/133]
Code Generation Revisited: Implementation Strategies I
[128/133]
Code Generation Revisited: Implementation Strategies II
[129/133]
Code Generation Revisited: Type and Effect Analysis
[130/133]
Code Generation Revisited: Better Exceptions
[131/133]
Code Generation Revisited: Compilation of Functional Languages
[132/133]
Code Generation Revisited: Finally Blocks
[133/133]