CEP Course - Compiler Construction with Introduction to GCC
| CEP Workshop On |
| Compiler Construction with Introduction to GCCs |
| Under the National Mission on Education through ICT, MHRD, New Delhi. |
| Monday 7th Dec 2009 to Sunday 13th Dec 2009 |
List of Applicants
This is a one-week workshop aimed at teachers in various colleges. This workshop is organized under the aegis of the GCC Resource Center of the Department of Computer Science and Engineering of IIT Bombay.
Modern day compilers are, to
a large extent, automatically generated
rather than hand-crafted. This workshop
will provide hands-on experience in
building compilers through the use of
compiler generation tools. While the tools for
generating compile front-ends, lex
and yacc, are now
standard textbook material, the workshop will also
use of a tools called iburg for generating
The main objective of this workshop is to teach how to build a compiler
incrementally such that:
- Each steps supports new source
language features rather than a new phase in the compiler. In
other words, each steps results in a complete working compiler which
generates code which can be executed. We begin with a very small language consisting
merely of expression.
- Tools like
lex, yacc (or flex, bison), and iburg
are used before the theory behind scanning, parsing, and instruction
selection is covered.
motivation behind this approach is to be able to
strike a good balance between theory and practice and make the theory
follow the practice instead of the other way round which is what
in traditional courses.
Our choice of source language is loosely based on C while the target
machine is MIPS as defined by the
spim programs collected from various resources available on the
In general, the delivery plan for the
workshop will consists of several rounds of:
- Lectures to introduce (certain aspects) of the tools.
- Laboratory exercises to use the tools to implement a
language with a given set of features.
- Lectures that will utilize the experience gained in the
laboratory exercises to provide the theoretical basis of compiler
Participant should have taught some topics in compilers (such as, macroprocessors, linkers and loaders, scanning and parsing, semantic analysis).
Good knowledge of C and familiarity with Unix/Linux is a must.
Expressing tokens through regular expressions, converting regular
expressions to DFA, generating scanners from specifications, structure
of generated scanners, efficient representation of scanning tables.
Expressing syntactic structure through grammars. LR parsing theory,
generating parsers from specifications.
Semantics. Using attributes for (i) type checking (ii)
calculating variable offsets (iii) Generating abstract syntax trees.
Environments. Activation records, function prologues and
epilogues for allocation and deallocation of activation records.
Generation. Optimal code generation for expression trees.
Generating code generators from specifications. Simple register
to GCC. The compiler generation framework. Retargetability
model. Inspecting intermediate represenations of program.
|Using the compiler
generation tools lex, yacc ,
for generating MIPS code accepted by the spim simulator for
the following language features:
- Constant expressions
- Expressions involving variables
- Assignment statements
- Array references
- Function calls
These experiments will be preceded by lab exercises on writing simple
|Duration and Venue
Duration : The workshop duration is one week. It will start at 09:30 am on Monday, 7th Dec, 2009 and will end at 05:00 pm on Sunday, 13th Dec, 2009.
This will include Theory, Practices and Interactive sessions.
Venue : Room 401, Girish Gaitonde Building,
Department of Electrical Engineering, IIT Bombay
Prof. Uday Khedker, Professor, Department of Computer Science and Engineering, IIT Bombay.
Prof. Amitabha Sanyal, Professor, Department of Computer Science and Engineering, IIT Bombay.
| Who Should Attend
This workshop is aimed at teachers from various colleges in the area of S/W tools & Compilers.
|Note on open source release of contents
Please note that this workshop is conducted Under the National Mission on Education through ICT, MHRD, New Delhi. Live recording of the workshop and other created contents would be released under Open Source through a portal. The recorded CD/DVD of the course lectures would be available for distribution at cost, to any individual/ institution. All participants are required to sign a certificate for such
release of contents contributed by them during and after the workshop. The recognition and citation will naturally be made for all contributors.
The workshop fee per participant is Rs. 1,000 /- .
|Accommodation & Travel
Limited accommodation for outstation participants is available at the IIT Hostel from the evening of December 6th, 2009 to the evening of December 13th, 2009.
Boarding and lodging expenditure will be borne by the sponsoring project.
Travel reimbursement will be made for upto A/C 2-tier return fare, as per GOI entitlement.
|How to Apply |
Those wishing to attend the course should take the printout of the online application form and attach the DD for Rs. 1,000 in favour of "Registrar, IIT Bombay, (CEP Account)".
The number of seats is limited to 35. Preference will be given to participants meeting the pre-requisite criteria.
LAST DATE FOR RECEIPT OF DD ALONG WITH THE ONLINE APPLICATION : November 30th, 2009.
The final list will be communicated by email to the selected participants and will also be displayed on
the website on November 23rd, 2009.
|Address For Communication:
You can communicate to us related to workshop
For General queries : firstname.lastname@example.org ph: 022-2576-4820
Send DD along with the printout of online application form to:
Department of Computer science and Engineering,
Indian Institute of Technology, Bombay
Powai, Mumbai 400 076.
Tel.: +91-22-2576 4710