IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Language Engineering with Java and XML 
Kursusnavn (engelsk):Language Engineering with Java and XML 
Semester:Efterår 2004 
Udbydes under:cand.it., tværfaglig it-udvikling (tit) 
Omfang i ECTS:7,50 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:
Forventet antal deltagere:30 
Maks. antal deltagere:200 
Formelle forudsætninger:Have gennemført kurserne Indledende Programmering og Begreber og Redskaber i Programmering eller tilsvarende. 
Læringsmål:

Programs that process other programs are fundamental in computer science. The purpose of the course is to introduce methods for quickly developing program processors such as interpreters, compilers, program transformers, generators and analyzers. Representation of programs as XML structures, and processing of these structures using standard XML tools will also be introduced. Students will gain knowledge, understanding and practical experience of tools and techniques for definition, implementation of languages, and tools for optimisation and analysis of programs.

 
Fagligt indhold:

How to specify a language.
Basic concepts of language processing.
Interpreters, translators/compilers, real and abstract machines. Basic parsing techniques (syntactic analysis). Parser generators and syntax tree construction (e.g. JavaCC with JTB).


Types and other contextual constraints. Code generation and run-time organisation. Operational semantics. From semantics to interpreters. Program generation. Generic languages and tools. XML representation.

 
Læringsaktiviteter:

Lecture and exercises 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 13-skala, Ekstern censur

Programming assignment with report, and oral exam.

 
Litteratur udover forskningsartikler:Main text. Programming Language
Processors in Java: Compilers and
Interpreters
by David A. Watt and Deryck F Brown.
Prentice Hall; ISBN: 0 130 25786 9.


Background and further reading:


Modern Compiler Design,
Dick Grune, Henri E. Bal, Ceriel J.H. Jacobs,
and Koen G. Langendoen,
John Wiley & Sons, Ltd., pp. 736 + xviii, 2000;
ISBN 0 471 97697 0.


Semantics with Applications: A Formal
Introduction.
Hanne Riis Nielson, Flemming Nielson:
(updated edition 1999)
Available for download from http://
www.imm.dtu.dk/~riis/Wiley_book/wiley.html

Program Generators with XML and Java,
J. Craig Cleaveland, February 2001,
Prentice Hall,
ISBN 0 130 25878 4.