Prof. Dr. R. Laue                                                                                                                                  WS9899
                                Informatik III
                                Übungsblatt 3
                                Abgabe: 23.11.98 in der Vorlesung

URL:         /axel/informatik3_ws9899_blatt3.html
Dieses  Übungsblatt ist alleine zu bearbeiten.
 

Aufgabe 8 (10 Punkte)
Es soll in mehreren Schritten ein Taschenrechnerprogramm gebaut werden. Es können Ausdrücke (z.B. 2^10;)
eingegeben werden und das Programm gibt die Ergebniszeilen aus. (z.B. 1024). Im ersten Schritt werden nur
Integerzahlen verarbeitet. Daraus kann man mit den Operatoren + - * / % ^ ) ( Ausdrücke bauen. Ein Ausdruck soll
durch ; beendet werden. Schreiben Sie ein lex Programm welches die Token erkennt, d.h. das Programm soll die
relevanten Teile erkennen und mit printf den Tokennamen ausgeben, nicht relevante Eingaben sollen überlesen werden. Beim Einlesen einer Zahl soll ZAHL=<wert> ausgegeben werden.
Abgabe: der lex source code per email (8 Punkte), Dokumentation mit Beschreibung der Vorgehensweise und Beschreibung der vorgenommenen Tests per Papier (2 Punkte)

Aufgabe 9 (12 Punkte)
Schreiben Sie ein C-Programm, welches wie das UNIX Programm grep funktioniert. Durch den Aufruf
grep <string>
soll das Programm in der Standardeingabe nach Zeilen suchen, in denen der string vorkommt. Dazu soll zuerst
ein endlicher Automat erstellt werden, der den string sucht, im zweiten Teil soll dieser Automat die Eingabe  analysieren.
Abgabe: der C source code per email (8 Punkte), Dokumentation mit Beschreibung der Vorgehensweise und Beschreibung der vorgenommenen Tests per Papier (4 Punkte)