Skip to content
/ ppl Public

Picture Programming Language, an example for a DSL, a compiler and a virtual machine

License

Notifications You must be signed in to change notification settings

UweSchmidt/ppl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dieses Verzeichnis enthält die Quellen und Beispiele
für die eine Spezialsprache zur Manipulation von Bildern:
ppl (Picture Programming Language).

Die Quellen bestehen aus Haskell Dateien *.hs im Unterverzeichnis src.
Eine Haskell Quelle Parser.hs ist mit dem happy Parsergenerator
aus der Grammatikspezifikation Parser.y erzeugt worden.

Um das System zu nutzen muss nur das Haskell Build System "stack" installiert
sein (http://docs.haskellstack.org/en/stable/README.html). Dieses sorgt
dafür, dass der richtige ghc und die richtigen Bibliotheks-Versionen zum
Compilieren genutzt werden.

Zum Erzeugen des Compilers pplc
        make setup  # nur das 1. Mal
	make all    # oder "stack install"
aufrufen.

Beispiele sind *.ppl, im Verzeichnis "examples".
Diese zeigen die Verwendung fast aller eingebauten Operationen.

Um den Compiler zu testen und um trace Ausgaben der einzelnen
Compiler-Läufe zu erhalten und alle Beispiele zu erzeugen,
bitte einmal
	make ex
ausführen.

Die im Augenblick unterstützten
externe Bildformate sind .ppm (portable pixmap) und .pgm (portable grey map).
Eingelesen werden können .pgm und .ppm files
sowohl im ascii als auch im raw format. Ausgegeben
werden die Bilder im .ppm oder .pgm raw format mit 256 Farben oder Graustufen.

Zum Konvertieren von anderen Bildformaten bitte "convert" (ImageMagick) oder
die pbm-tools nutzen.

pplc --help listet die Funktionen des pplc Compilers
Dieser enthält auch einen eingebauten Interpretierer.

Mutige können

	make all ex
	xv examples/gen/*.*

aufrufen zum Erzeugen des Compilers, zum
Ausführen der Beispielprogramme und zum
Betrachten der Ergebnisse.
(Anstatt xv geht natürlich auch ein anderer viewer)

Viel Spass (und wenig Frust) beim Ausprobieren

Uwe Schmidt

uwe@fh-wedel.de

About

Picture Programming Language, an example for a DSL, a compiler and a virtual machine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published