Course Outline

cs4713

syllabus

lecture notes

references

set up

 

Updated 2020-12-13 (subject to change)

All lecture notes are in BlackBoard.

1. Overview

Overview

 LC, CT 1, D 1

2. Lexical Analysis

 

 LC, CT 2, D 3

 

Tokens and Delimiters

 

 

Numeric Constants, String Literals

 CT 2.3

 

Comments

 

 

Classification

 

3. Symbol Tables

CT 5.5

 

Control symbols

 

 

Function symbols

 

 

Identifier Symbols

 

4. Grammars

D 4.1-4.3, CT 3.1-3.2

 

Ambiguous

 

 

Parse Trees

 

5. Defining our Source Language

Common Requirements

LC

 

Flexible Requirements

LC

6. Parsing Part 1

top down

CT 3.3, D 4.4

 

bottom up

CT 3.4, D 4.5

 

rem left recursion

left factoring

other issues

CT 3.5, D 4.3

7. Parsing Part 2

recursive descent

CT 3.3

 

intermediate output

CT 5

 

error handling

LC

Midterm Tentative Th Feb 25th (week 6)


8. Parsing Part 3 Prefix Expressions

 

LC

 

interpreting prefix

 

 

compiling prefix

 

9. Parsing Part 4 Infix Expressions

 

LC, CT 7.3, D 6.4

 

precedence

 

 

convert to postfix

 

 

evaluate postfix

 

 

generate parsetree

 

 

recursive descent

 

 

10. Flow Constructs

LC, CT 7.8, D 6

 

select when statement

 

 

while

 

 

for

 

 

break, continue

 

11. Arrays

LC

Declarations - fixed and unbounded

Array references in expressions

for loops

assignment - scalar to array

assignment - array to array

12. Functions

Symbol table

LC, CT 5.5

Expressions Involving

LC

 

Scope

LC, CT 5.5 

Parameter Passing

LC

12. Code Generation and Optimization

 

CT 8-13

13. Misc