|
Links
Ministery of Higher Education
Ministery of Higher Education in
Erbil
Salahaddin University
University of Sulaimani
Koya University
University
of Kurdistan
|
Compilers
Total hours: 60 theory + 60 practice.
Aim of Subject:
Introduce basic knowledge to students in the area of language processors–theory and practice of compiler writing. Improve programming skills by learning how a compiler works. Design and implement parts of a compiler for a small programming language.
Subjects Names:
Compilers.
Introduction to compiling, Basic concepts, Analysis of the source program, Phases of compiler
Introduction to Language Processors.
Evolution of programming languages. Classification of language processors. Basic algorithm of a compiler and an interpreter.
Formal Languages.
Sets, alphabets, strings, languages. Operators on sets of strings.
Lexical Analysis
The role of the lexical analyzer, Basic idea. Lexical units, specification of tokens, Recognition of token.
Symbol table
Compiler-Compilers
( Flex – a scanner generator,. Regular expressions. Actions. Ambiguous source rules. Source definitions. Examples.)
Syntax analysis
Introduction to parser, derivation, parse tree, ambiguity
Eliminating ambiguity, Associatively of operator
Top down parsing
Precedence of operator, Elimination of left recursion,
Left factoring a grammar
Non recursive predictive parsing
First and Follow function
LL(1) grammars
Constructing Predictive parsing table
Bottom-Up parsing
LR(0) Parser
Compiler-Compilers.
Bison – a parser generator. Source – basic specifications. Actions. Ambiguity and conflicts. Examples.
- SLR(1) Parser, LR(1) Parser, LALR(1) Parser
- Type checking
- Intermediate Code Generation
- Code Optimization
******************************************************
References:
Compilers: Principles, Techniques and Tools, Aho, Sethi, and Ullman, Addison-Wesley, 1986.
- cs.www.edu/~aabyan/Linux/compiler.pdf
|