CB-I im WS99/00

Blatt 5

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:
  1. bbaab
  2. ababab
  3. 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.
  1. 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.
  2. 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


Dietmar Lammers