Anwendungen von Ragel

In Kapitel 4 wurde Ragel als eine Anwendung vorgestellt, die DEA-Beschreibungen mit regulären Ausdrücken oder Zustandsdiagrammen in Code umsetzen kann.

Files:

Ganzes Paket: ragel-1.0.tar.gz herunterladen.

Durch Anklicken des Files wird der Inhalt angezeigt:

  • teilbar.rl: Ragel-Definition des deterministischen endlichen Automaten für durch drei tailbare Binärzahlen. Der Ragel-Compiler erzeugt daraus lauffähigen Java-Sourcecode, der den Automaten implementiert.
    
    
  • teilbar.c: C-Programm mit eingebettetem Ragel-Code, der den deterministischen endlichen Automaten beschreibt, der durch drei teilbare Binärzahlen akzeptiert. Der Ragel-Compiler erzeugt daraus das File teilbar_fsm.c, welches den Automaten implementiert. Ragel kann auch das Zustandsdiagramm ausgegeben:

    
    
  • teilbar_fsm.c: Von Ragel erzeugter C-Code für den DEA, der durch drei teilbare Binärzahlen akzeptiert.
  • ungerade.c: C-Programm mit eingebettetem Ragel-Code, der einen regulären Ausdruck für die Wörter mit einer ungeraden Anzahl 1 enthält. Der Ragel-Compiler erzeugt daraus das File ungerade_fsm.c, welches einen Automaten implementiert. Die Minimierung des erzeugten DEA ist optional. Ohne Minimierung ergbit sich der Automat

    Nach Minimierung wird daraus der vertraute Automat

    mit nur zwei Zuständen.
    
    
  • ungerade_fsm.c: Von Ragel erzeugter C-Code für den DEA, der den regulären Ausdruck für Wörter mit einer ungeraden Anzahl 1 implementiert.