A. I. Cuza University of Iaşi


Compiler Construction

Course nameCompiler Construction CodeCS2209
Class Computer Science, 2006 - 2009
Level Undergraduate Year 2 Semester 2 Status Compulsory
Hours per weekTotal hours per semesterTotal hours of individual workCreditsEvaluation typeTeaching language
CSLPr
2 0 2 0 56 94 5 E ro
Taught byAcademic and scientific title, name
Professor, PhD, Gheorghe Grigoraş
Required courses Algorithms and Programming ; Formal Languages and Automata
Objectives
  • to construct a lexical analyzer using regular expressions and a scanner generator tool,
  • to construct a parser from a context-free grammar and a parser generator tool,
  • to construct and use a symbol table to support the parsing of context sensitive constructs, and
  • to generate machine code equivalents of the basic data types and control structures as the output of a parser.
General thematicsStudy of the techniques for translating conventional programming language source into executable machine codes. Topics include: Regular expresssions, Lexical Analysis, Syntactic Analysis: Grammars, Syntactical specification, Top Down Parsing, LL(1) Grammars, Bottom Up Parsing, LR(0), SLR(1), LALR(1) Grammars, Semantic analysis: attribute grammars, attribute evaluations and code generation.
Seminary / Laboratory thematicsThe laboratory component is developed through individual and group projects for:
  • constructing a lexical analyzer
  • lexical analysis with Lex and Flex
  • constructing a LL parser and a LALR parser
  • syntax analysis with YACC and Bison
  • intermediate code (Abstract Syntax Trees, three address code)
  • intrepreter, code generator
Teaching methodsVideo projector.
Bibliography
  1. Grigoraş Gheorghe, Construcţia compilatoarelor - Algoritmi fundamentali, Editura Universităţii “Al. I. Cuza” Iasi, ISBN 973-703-084-2, 274 pg., 2005.
  2. Ştefan ANDREI, Gheorghe GRIGORAŞ, Construcţia compilatoarelor-lucrări de laborator, Universitatea “Al. I. Cuza” Iasi, 118 pg., 1995.
  3. Grigoras, Gheorghe, Limbaje formale si tehnici de compilare, Universitatea “Al. I. Cuza” Iaşi, 260 pg.,1985 (reeditat 1987).
  4. Grigoraş Gheorghe, Programarea calculatoarelor – Partea I: Fundamente, Editura “Spiru Haret” Iaşi, ISBN 973 - 9259 - 43 - x, 282 pg., 1999.
  5. Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Addison-Wesley Publishing Company, U.S.A., 1986
  6. Appel, A., Modern Compiler Implementation in C, Cambridge University Press, 1997.
EvaluationconditionsLaboratory Activity (LA), Final Exam (FE)
criteriasLA ≥ 5, FE ≥ 5
modesLA: each project is evaluated with a mark between 1 and 10.

FE: the final exam covers the lecture notes and is evaluated with a mark between 1 and 10.

formulaFinal Mark = 50% LA +50% FE

© 2006-2010 FII | about | intranet