• Keine Ergebnisse gefunden

Compiler and Language Processing Tools Organisational Issues Dr.-Ing. Ina Schaefer

N/A
N/A
Protected

Academic year: 2022

Aktie "Compiler and Language Processing Tools Organisational Issues Dr.-Ing. Ina Schaefer"

Copied!
15
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Compiler and Language Processing Tools

Organisational Issues

Dr.-Ing. Ina Schaefer

Software Technology Group TU Kaiserslautern

(2)

General Information

Contact Information:

Lecture: Dr.-Ing Ina Schaefer Office 32/430 Phone 39 58

Email:inschaef@cs.uni-kl.de Office Hours: Tuesdays 9 - 10 am

Classes: Dipl.-Inf. Jean-Marie Gaillourdet Office 34/406

Phone 32 72

Email:jmg+clpt@cs.uni-kl.de

Website for Lecture:

http://softech.informatik.uni-kl.de/Homepage/CLP_SS09

(3)

Compiler and Language Processing Tools

Master Course, 8 ECTS Credits, Lectures and Classes (3+3)

Consecutive Master Course Computer Science

with Specialization in Software Engineering or Verification

Consecutive Master Course Applied Computer Science with Specialization in Embedded Systems

Non-consecutive Master Course Applied Computer Science with Specialization in Software Engineering

Oral Exam

(4)

Content and Educational Objectives

Content of Lecture

1. Introduction: Overview and Motivation 2. Syntax- and Type Analysis

2.1 Lexical Analysis

2.2 Context-free Syntax Analysis 2.3 Context-sensitive Syntax Analysis 3. Translation to Target Language

3.1 Translation of Imperative Language Constructs 3.2 Translation of Object-Oriented Language Constructs 4. Selected Aspects of Compilers

4.1 Intermediate Languages 4.2 Optimization

4.3 Command Selection 4.4 Register Allocation 4.5 Code Generation 5. Garbage Collection

6. XML Processing (DOM, SAX, XSLT)

(5)

Content and Educational Objectives

Educational Objectives

Knowledge on how to implement Programming Languages in particular on Construction of Compilers

Deeper Knowledge about Programming Languages

Detailled Knowledge of Program Execution

Application of Multi-Purpose Methods and Tools

Interaction between Theory, Algorithms and Engineering Techniques

(can be transferred to Other Areas of Computer Science)

(6)

Lectures

Lectures

Mondays and Wednesdays, 1000h - 1130h, 48/462

Slides are made available on our website.

But take your own notes!

New:Exam Questions

New:Short Presentations

(7)

Lectures

Exam Questions

After each lecture, each student formulates an exam question with the associated answer for the content of the lecture.

The question has to be sent via Email toinschaef@cs.uni-kl.de andjmg+clpt@cs.uni-kl.deon the day of the lecture.

Questions are discussed in the lecture and in the classes and (partially) used for the oral exam.

Objectives:

I Questions help you to revise the content of the lecture and to identify important concepts.

I Questions help us to get immediate feedback about what you think is important.

(8)

Lectures

Short Presentations

In the second lecture, each student is assigned a topic for a short presentation.

Topics are related to history of programming languages and compilers, practical applications of compiler technology, theoretical foundations, ....

Students prepare the short presentation using literature and internet research. Presentation is supposed to take 5 Minutes, maximum 3 slides.

(9)

Lectures

Short Presentations (2)

Students give their short presentations in the lecture if the topic matches the content of the lecture.

(Notification: Lecture before Presentation)

Short Presentations help you to improve your skills in literature research and presentation.

Short Presentations provide content extending the standard curriculum.

(10)

Lectures

Literature

Lecture provides guidelines for your own literature studies and gives explicit references to literature. Use literature studies as opportunity to deepen your knowledge!

Recommended Reading:

R. Wilhelm, D. Maurer: Übersetzerbau (Compiler Design), Springer-Verlag, 1992

A. Appel: Modern Compiler Implementation in Java, Cambridge University Press, 1999

Many other books on compiler design are available in the computer science library!

(11)

Classes

Classes

Tuesdays, 1715 - 1845, or Thursdays, 815 - 945, in 32/439 Decide on Time!

First Class on April, 28 or April, 30

Organisation: Dipl.-Inf. Jean-Marie Gaillourdet

Problem Sheets and Practical Assignments

New:Tool Labs

(12)

Classes

Problem Sheets and Practical Assignments

Mix of Theoretical Questions and Practical Implementation

Objective:Implementation a compiler in all its phases!

Problem Sheets:

I Given out in the Monday Lecture (and on the Web)

I Work on Problems in 2-Person-Teams

I Solutions to be handed in during following Monday Lecture

I Discussed in the class of that week.

First Problem Sheet:

I Given out: Today (April, 20)

I Hand in: Next Week Monday (April, 27)

I Discussion in classes next week (April, 28, or April, 30)

(13)

Classes

Tool Labs

Detailed Hands-On Introduction to Technologies required for Practical Assignments

Katja Lab: May, 11, or May, 13

MIPS Lab: End of May

XML Lab: Beginning of July

(14)

Exam

Oral Exam

Dates: Beginning of August 2009

Prerequists:

I 2/3 of the Problem Sheets have to be completed reasonably.

I Exam Questions

I Short Presentation in Lecture

(15)

Further Questions?

Referenzen

ÄHNLICHE DOKUMENTE

I Compiler implements Analysis and Translation to Abstract Machine Code.. I Abstract Machine works

Compiler implements Analysis and Translation to Abstract Machine Code!. Abstract Machine works

String → Token Stream (or Symbol String) Context-free Analysis:.. Token Stream → Tree

If there are more than one token matching the longest input prefix, one of these tokens is returned by the function symbol. Ina Schaefer Syntax and Type

Recursive Descent LL(k) Parsing Theory LL Parser Generation.. Bottom-Up

For sequential access to the symbol table, almost all types of the abstract syntax get an inherited attribute symin of type SymTab and an synthesized attribute symout.

• GlobDeclList, GlobDecl, LocVarList, LocVar, Stat, Exp, ExpList get inherited attribute envin of type Env. • GlobDecl gets synthesized

• Different static analysis techniques for (intermediate) programs.. •