Erweiterung eines C-Compilers zur Codeerzeugung für Systeme der Industrieautomatisierung

Student:Christoph Romstöck
Title:Erweiterung eines C-Compilers zur Codeerzeugung für Systeme der Industrieautomatisierung
Type:bachelor thesis
Advisors:Kempf, S.; Philippsen, M.
State:submitted on October 23, 2011
Prerequisits:
Topic:

Hintergrund:
Heutzutage werden Programme für die gängigen Industrieautomatisierungssysteme in assemblerartigen Programmiersprachen geschrieben. Dies macht die Erstellung und Wartung der Programme mühsam und fehleranfällig. Im PATESIA-Projekt beschäftigt sich der Lehrstuhl mit Parallelisierungstechniken in der Automatisierungstechnik. Die erarbeiteten Techniken müssen anhand von Testprogrammen evaluiert werden. Es ist wünschenswert, die Testprogramme in C statt Assembler schreiben zu können.

Thema:
Das Ziel der Arbeit ist es daher, einen prototypischen C-Compiler so zu erweitern, dass er Code in der Zielsprache für Systeme der Automatisierungstechnik generiert. Die Arbeit beinhaltet einerseits eine Anpassung des Backends des Compilers, so dass dieser entsprechenden Code erzeugt. Andererseits ist es mit reinem Standard-C nicht möglich, alle Eigenschaften der Zielsprache, wie z.B. die Programmierung von Timern anzusprechen. Daher muss das Frontend geeignet erweitert werden, so dass alle wesentlichen Konstrukte der Zielsprache auch von C aus genutzt werden können. Anhand von Testprogrammen soll gezeigt werden, dass der modifizierte C-Compiler für die Programmierung von Automatisierungssystemen genutzt werden kann.

Meilensteine:

  • Einarbeitung in die Zielsprache
  • Einarbeitung in den existierenden Compiler
  • Erweiterung des Compilers
  • Schreiben von Testprogrammen
  • Ausarbeitung

Literatur:

  • Draft of the C99 standard with corrigenda TC1, TC2, and TC3. http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
  • Aho, Sethi, Ullman, Compilers: Principles, Techniques, and Tools Second Edition, Addison-Wesley, 2006. ISBN 0-321-48681-1
  • Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann, 1997. ISBN 1-55860-320-4
watermark seal