const
{ 0. Automatenname eintragen }
automatname = 'Fließkomma-Akzeptor';
type
{ 1. Zustandsmenge, Eingabealphabet anpassen }
TZustand = (s0,v1,z1,p,z2,e,v2,z3,f);
TEingabe = (pm,ziff,exp,punkt,sonst);
const
{ 2. jeder Eingabe eine Menge von Zeichen zuordnen }
Zeichen : array[TEingabe] of set of char =
( ['+','-'],
['0'..'9'],
['e','E'],
['.'],
[chr(0)..chr(255)]-['+','-']-['0'..'9']-['e','E']-['.']);
{ 3. Startzustand eintragen }
startzustand = s0;
{ 4. Endzustände eintragen }
Endzustaende : set of TZustand = [z1,z2,z3];
{ 5. Klartextentsprechungen eintragen }
zText : array[TZustand] of string =
('Start','Vorzeichen1','Ziffernblock1','Punkt',
'Ziffernblock2','Exp','Vorzeichen2',
'Ziffernblock3','Fehler');
eText : array[TEingabe] of string =
('pm','ziff','exp','punkt','sonst');
{ 6. Automatentafel eingeben }
fue : array[TZustand,TEingabe] of TZustand =
((v1,z1,f,f,f),
(f,z1,f,f,f),
(f,z1,e,p,f),
(f,z2,f,f,f),
(f,z2,e,f,f),
(v2,z3,f,f,f),
(f,z3,f,f,f),
(f,z3,f,f,f),
(f,f,f,f,f));
|