Next: Course Module Nos., Title
Up: course_outline
Previous: Rationale
At the end of this course on Compiler Construction, the student should
be able to
- Understand the two models of language processing, viz. compilers and
interpreters, and realize their strengths and limitations.
- Understand the influence of various features of programming languages
and machine architectures on the efficiency of language translation.
- Appreciate the role of lexical analysis in compilation,
understand the theory behind design of lexical analysers and lexical
analyser generators, and be able to use Lex to generate lexical
analysers.
- Be proficient in writing grammars to specify syntax, understand
the theories behind different parsing strategies - their strengths and
limitations, understand how the generation of parsers can be automated,
and be able to use Yacc to generate parsers.
- Understand the error detection capabilities of a compiler and
how to report them in a user friendly manner.
- Understand the need for various static semantic
analyses such as declaration processing, type checking, and
intermediate code generation, and be able to perform such
analysis in a syntax directed fashion through the use of
attribute grammars.
- Understand the issues involved in allocation of memory to data
objects, and the relation of such issues with higher level language features such as
data types, scope and nesting rules, and recursion.
- Understand the key issues in the generation of efficient code for
a given architecture.
- Understand the role played by code optimisation.
Next: Course Module Nos., Title
Up: course_outline
Previous: Rationale
Amitabha Sanyal
2000-12-07