pint

Crates.iopint
lib.rspint
version0.1.0
sourcesrc
created_at2022-08-16 15:48:55.704731
updated_at2022-08-16 15:48:55.704731
descriptionA Piet Interpreter with a builting PNG-decoder
homepage
repositoryhttps://github.com/PhilippRados/pint
max_upload_size
id646737
size967,456
Phil Rados (PhilippRados)

documentation

README

pint 🍺

A (P)iet (Int)erpreter with a builtin png-decoder.

Piet is a programming language in which programs look like abstract paintings. The language is named after Piet Mondrian, who pioneered the field of geometric abstract art.

This is a piet program that prints "Hello World!"

Installation

cargo install pint

or you can clone this repo and build it from source

Usage

pint some_test.png

The codel-size is inferred automatically. You can also pass it manually:

pint some_test.png -c <codel_size>

Since the png-decoder is built from scratch it only implements the most common Png color-types TruecolorRGB and Indexed. There is currently no support for gifs.

Tests

Typing make shows you the options for this crate.

unit-tests

$ make unit_test
or
$ cargo t

There also integration tests that check the result of the test-images located in tests/fixtures

$ make integration_tests
or
$ bash tests/integration_tests

Contribution

I would appreciate any kind of contribution (as long as the tests pass :)) or feedback since this is my first time writing rust. Maybe there is somebody willing to finish the png decoder to support all kinds of pngs

Commit count: 44

cargo fmt