Assignment - COMPILER CONSTRUCTION
Objectives:
On completion of this course the student should be able to:
1.0 Know the differences among a compiler, assembler and an interpreter
2.0 Understand the compilation process.
3.0 Understand the concepts of grammar and languages.
4.0 Understand the functions of a scanner.
5.0 Understand the functions of recognizers.
6.0 Understand run time storage allocation.
7.0 Understand the function of error routine at each phase of compilation.
8.0 Understand code generation
1-2 Ability to understand:
• Compiler, assembler and interpreter
• The differences between compiler, interpreter and assembler
To:
-- Explain the functions of translating systems.
--Discuss the difference among the translating systems.
3-4 Ability to understand:
• The Compilation process and code optimization
To
.. Explain the compilation process: lexical analysis, syntax analysis, code reparation, code generation table of information and error routines.
--Explain code Optimization
5-6 Ability to understand:
• Grammar as a generating scheme for languages.
To:
--Define grammar, languages.
--Describe a grammar as a generating scheme for languages.
--Explain the rule of formal grammar.
--Define: An alphabet, string, a phase.
--Write production or rewriting rules.
--Construct syntax trees for sentences.
--Differentiate between ambiguous and unambiguous sentences.
--Define the relations between contains transpose, reflexive transitive.
--Select operations: Head, first last, within.
--Construct transitive closures and relations
--Differentiate: context free, context sensitive and regular grammars.
7-8 Ability to understand:
• The scanning process and internal form of token
To
-- Explain scanner and the scanning process
--Break up a simple source code into tokens (variables, constants, labels, literals, operands and decimeters).
--Describe internal forms of tokens.
--Recognize tokens using state diagrams.
9-10 Ability to understand :
• Passing and passing techniques
To.
--Describe parsing techniques.
--Parse the out put of the scanner using syntax frees and polishes notations.
--Parse sentence applying. Top-down and Bottom – up methods.
--Recognize basic constructs such as triples, indirect trip-les, and quadruples.
11-12 Ability to understand:
• Run time storage allocation
To
--Discuss storage allocating techniques and storage requirements:-
--Explain how to calculate storage requirements.
--Calculate storage requirements for elementary data itemsarrays and strings
13-14 Ability to understand:
• The function of error routines at each phase of compilation
To :
--Explain error routines
--Explain scanning error routines
--Explain semantic error routines
15 Ability to understand:
• Processes of code generation and optimization
To
--Explain code generation
--Generate code for simple arithmetic expressions. Triples, indirect triple and quadruples.
--Explain code optimization.