Syllabus 
1 
Introduction to Compilers 
• Definition of Compilers
• Language Processing System
• The phases of compilers 

2 
Introduction to Compilers 
• Translation of a statement
 (The compiler phases of assignment statement)
• Working with Files 

3 
Compilers Construction Tools 
• Compilers Construction Tools
 (Example, how to double space input file into output file)
• Structure of Compiler FrontEnd 

4 
Context Free Grammar (CFG) 
• Context Free Grammar (CFG)
  Arithmetic Operations
  A sequence of statement separated by ;
• Ambiguity
• Associativity 

5 
Context Free Grammar (CFG) cont. 
• Precedence
• TopDawn Parsing
• Interface to Code Generator:
Designing a Simple Mapper
 (How to map my code into ccode) 

6 
Context Free Grammar (CFG) cont. 
• Left Recursion Elimination
• Conversion from Infix to Postfix 

7 
Interface to Lexical Analyzer 
• Interface to Lexical Analyzer (1/8): Eliminating white spaces and collecting numbers. 

8 
Interface to Lexical Analyzer cont. 
• Interface to Lexical Analyzer (2/8): Specification of Tokens
• Interface to Lexical Analyzer (3/8): Strings and Languages
• Interface to Lexical Analyzer (4/8): Operations on Languages
• Interface to Lexical Analyzer (5/8): Regular Expressions
• Interface to Lexical Analyzer (6/8): Regular Definitions
• Interface to Lexical Analyzer (7/8): Recognition of Tokens
• Interface to Lexical Analyzer (8/8): Implementing a transition Diagram 

9 
Finite Automata 
• Finite Automata
  NonDeterministic Finite State Automata (NFA)
  Deterministic Finite State Automata (DFA) 

10 
Designing a Language 
• Designing a Simple Language Named "MyLanguage"
• Implementing Transitions Diagrams of "MyLanguage" 

11 
Designing a Language 
• Checking Statement Program 

12 
Binary Search 
• Binary Search Program 

13 
Source Handler 
• Source Handler
• GETSYM Functions 

Assignments 
1 
Assignement 1. Due Date: // 

2 
Assignement 2. Due Date: // 

3 
Assignement 3. Due Date: // 

Tests  Quizes 
1 
Sample Test 1 

2 
Sample Test 2 

3 
MidTerm Exam 

4 
Sample Test 4 

5 
Sample Test 5 

Final Tests 
* 
Final Test for Compilers and Programming Language 

The Complete Reference Portfolio for this subject (in Arabic).. Prepared By: Salha Alzahrani 
