Aufgabe 1
Gegeben sei die durch die Produktionen
P={ S::=AS|b, A::=SA|a }
festgelegte Grammatik.
Konstruieren Sie die Parse-Tabellen nach dem Algorithmus von
Cocke-Kasami-Younger zu folgenden Wörtern:
bbaab
ababab
aabba
Ggf. programmieren Sie den Algorithmus dazu.
Aufgabe 2
Die Schlüsselwörter der Sprache MMS (lt. Anhang
Script CB-I) sind
program
,
real
,
proc
,
od
,
begin
,
boolean
,
goto
,
if
,
end
,
array
,
while
,
else
,
integer
,
of
,
do
und
fi
.
Boolsche Operatoren sind
not
,
or
und
not
und auch
true
und
false
sind (0-stellige) boolesche Operatoren.
-
Suchen Sie sich aus den Schlüsselwörtern 4 heraus, geben
Sie für diese 4 einen gemeinsamen regulären Ausdruck an, und
einen Automaten, der genau diese vier Wörter erkennt.
-
Geben Sie die vier Schlüsselwörter und die boolschen
Operatoren dann in
flex
ein, und lassen Sie von flex
einen erkennenden
Automaten als Programm generieren, der entsprechend
KEYWORD
, LOG_OP_NULL
,
LOG_OP_UNARY
und
LOG_OP_BIANRY
erkennt, und beurteilen Sie den
Automaten.
Hinweis: man flex, Option -T |