OstraPHP má za cíl pozvednout kvalitu (nejen ostravského) programování. Na rozdíl od PHP vychází OstraPHP přímo z mluveného jazyka (ostravského nářečí), tedy z něčeho, čemu obyčejní lidé rozumějí. Typický ostravský horník pak nebude mít problém přejít od těžby uhlí ke klávesnici. Jazyk tak mimo jiné řeší i problém nezaměstnanosti na Moravsko-Slezsku.
Inspirováno OSTRAJavou, v prestižnějším jazyce. Předmluva ukradena od nich.
Pro instalaci je zapotřebí mít správce balíčků composer, pak stačí z terminálu spustit:
composer global require "vfosnar/ostraphp=^1.0.1"Tím nainstalujete OstraPHP transpilátor do ~/.composer/vendor/bin/ophp. Pro přímé použití z terminálu přidejte cestu ~/.composer/vendor/bin do PATH.
Narozdíl od MarasJavy (OSTRAJavy) nepotřebujete pro pozdrav téměř žádny boilerplate:
<?php povedz "Toz vitaj" pyco<?php $a pyco $b pyco //... kaj ($a === fajne aj $b === fajne) { // ... } kajtez ($a === nyt ci $b === fajne) { // ... } boinak { // ... }<?php $i = 0 pyco rubat ($i < 5) { kaj ($i == 4) { zdybat pyco } //... $i++ pyco }<?php tryda Obdelnik { moe cyslo $dylka pyco moe cyslo $vyska pyco makacenko __rynek(cyslo $dylka, cyslo $vyska) { $joch->dylka = $dylka pyco $joch->vyska = $vyska pyco } } tryda Stverec fagan_od Obdelnik { makacenko __rynek(cyslo $velikost) { forant::__rynek($velikost, $velikost) pyco } } $s = zrob Stverec(5) pyco<?php tryda Buu { makacenko fuu(dryst $text): cyslo { davaj rachuj_dryst($text) pyco } } $b = zrob Buu() pyco $f = $b->fuu("uwuw") pyco cotoe($f) pycoExistující překlady si můžete prohlédnout zde. Dalším překladům a případným opravám jsme otevřeni. Stačí vytvořit novou issue, PR, nebo mě návrh jakkoliv pošlete ;)
Transpilátor jako takový je jen pár řádků OstraPHP, zdrojový kód se nachází ve složce ostrava/. Pro sestavení projektu slouží script sestavit.sh.