Rahmen für den Tennis-Automaten

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

Tennis.om
MODULE Tennis;
   IMPORT ASCII, Read, Streams, Write;
   (* ... CONST definitions ... *)
   VAR
      state: INTEGER; (* current state *)
      ch: CHAR; (* last input character *)
BEGIN
   Write.Line("A vs B");
   state := s0to0; (* initial state *)
   LOOP (* until game is finished or no input is available *)
      (* print current state *)
      (* store next valid input character into ch;
         set ch to 0X (null-byte) if no valid input
         is available
      *)
      (* compute next state *)
   END;
END Tennis.

*Beim Durchlaufen der LOOP-Anweisung wird zunächst der aktuelle Zustand ausgegeben (wie bei Moore-Automaten üblich), dann wird das nächste Symbol gelesen und dann wird der Folgezustand bestimmt.
 
*Die LOOP-Schleife wird hier verlassen, sobald einer der Endezustände erreicht wird (geschieht bei der Ausgabe des Zustands) oder ein weiteres Symbol nicht mehr eingelesen werden kann.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005