vfosnar / ostraphp
v1.0.1
2024-02-09 11:51 UTC
Requires
- php: >=8.2
This package is not auto-updated.
Last update: 2024-09-20 13:36:08 UTC
README
OstraPHP 的目标是提高(不仅仅是奥斯特拉瓦的)编程质量。与 PHP 不同,OstraPHP 直接从口语(奥斯特拉瓦方言)出发,也就是从普通人能理解的东西出发。典型的奥斯特拉瓦矿工就不会有问题从煤炭开采转移到键盘。这种语言还解决了摩拉维亚-西里西亚地区的失业问题。
灵感来自 OSTRAJava,在一个更高级的语言中。前言是从他们那里偷来的。
安装
要安装,需要安装包管理器 composer,然后在终端运行
composer global require "vfosnar/ostraphp=^1.0.1"
这将安装 OstraPHP 编译器到 ~/.composer/vendor/bin/ophp
。要从终端直接使用,请将路径 ~/.composer/vendor/bin
添加到 PATH
。
示例
Hello, world
与 MarasJavy(OSTRAJava)不同,问候不需要任何样板代码
<?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) pyco
令牌翻译
您可以在此 查看现有的翻译。我们对进一步的翻译和可能的修正持开放态度。只需创建一个新的 issue,PR 或发送给我建议 无论哪种方式 ;)
开发
编译器本身只是 OstraPHP 几行代码,源代码位于 ostrava/
目录中。构建项目使用脚本 sestavit.sh
。