PROSA (Programmiersprache)
# PROSA (Programmiersprache)

PROSA (PROgrammiersprache SAarbrücken) ist eine Mitte der 1980er Jahre von Jacques Loeckx, Kurt Mehlhorn und Reinhard Wilhelm an der Universität des Saarlandes in Saarbrücken entwickelte imperative Programmiersprache, deren Anwendung vor allem im Bereich der Lehre und der Analyse von Programmen liegt.

## Allgemeines

PROSA ist eine abgeleitete Form der Programmiersprache Pascal und somit auch von ALGOL. Aufgrund der einfachen Struktur und Lesbarkeit der Programme ist PROSA gut als Lehrsprache für Einsteiger geeignet. Der Aufbau der Sprache und viele ihrer Konzepte sind in weiten Teilen sehr ähnlich zu Pascal, jedoch wurden aus Vereinfachungsgründen neue, in Pascal unbekannte Aspekte wie zum Beispiel dynamische oder verschachtelte Arrays eingebaut.

## Syntax

### Hallo Welt

Ein Hallo-Welt-Programm in PROSA könnte so aussehen:

### Variablen

Aufgrund der starken und statischen Typisierung muss jede Variable bereits bei ihrer Definition genau einen von fünf Datentypen besitzen.

| Datentyp | Werte |
| - | - |
| int | Ganze Zahlen (0, 37, 5) |
| real | Reelle Zahlen (0.0, 1.5, 37.25) |
| char | Zeichen ('a', 'b', '+') |
| string | Worte ("A", "PROSA", " ") |
| bool | Wahrheitswerte (true, false) |

### Kontrollstrukturen

**Bedingte Anweisungen**

Für verzweigte Programmstrukturen werden if-then-else-Anweisungen verwendet.

**Schleifen**

PROSA besitzt im Gegensatz zu anderen Programmiersprachen wie ALGOL 60 oder Pascal nur while-Schleifen und keine do- oder for-Schleifen. Der Grund hierfür ist, dass die letzten beiden Schleifentypen als Spezialfälle der while-Schleife betrachtet werden können und durch diese in vielen Fällen substituierbar sind.

## Verwendung

Hauptsächlich findet PROSA ihren Einsatz größtenteils an deutschsprachigen Universitäten, da sie, aufgrund ihrer einfachen Struktur, sich nicht nur für Einsteiger eignet, sondern vor allem auch zur theoretischen Analyse von Programmeigenschaften wie Laufzeit und Termination. Die einfache Grammatik der Sprache kann auch beim Testen von Compilern oder als Grundlage für eigene, simple Programmiersprachen verwendet werden.

