|
| 1 | += Hacker Lang |
| 2 | +:doctype: book |
| 3 | +:icons: font |
| 4 | +:toc: left |
| 5 | +:toclevels: 2 |
| 6 | +:author: HackerOS Team |
| 7 | +:revnumber: 0.0.2 |
| 8 | +:revdate: 2025-10-28 |
1 | 9 |
|
| 10 | +== Opis |
| 11 | + |
| 12 | +**Hacker Lang** to lekki i wygodny język skryptowy stworzony dla *HackerOS*, zaprojektowany jako bezpośrednia alternatywa dla tradycyjnych skryptów `.sh` — zamiast skryptów shellowych używasz binarek skompilowanych z kodu `.hacker`. |
| 13 | + |
| 14 | +Hacker Lang korzysta z systemu pakietów i bibliotek hostowanych w repozytorium **bytes.io**. |
| 15 | + |
| 16 | +== Dlaczego Hacker Lang? |
| 17 | + |
| 18 | +* Zastępuje złożone skrypty `.sh` prostymi, czytelnymi plikami `.hacker`. |
| 19 | +* Umożliwia kompilację do binarek, co przyśpiesza uruchamianie oraz ułatwia dystrybucję. |
| 20 | +* Integruje się z repozytorium bibliotek *bytes.io* — instalacja i aktualizacja bibliotek odbywa się przez `hackerc`. |
| 21 | +* Zaprojektowany do użytku wewnętrznego w ekosystemie HackerOS, ale nadaje się też do zastosowań zewnętrznych. |
| 22 | + |
| 23 | +== Szybkie rozpoczęcie |
| 24 | + |
| 25 | +=== Wymagania |
| 26 | + |
| 27 | +* HackerOS lub inna dystrybucja Linuksa z podstawowymi narzędziami developerskimi (najlepiej ubuntu albo debian). |
| 28 | +* `hackerc` — narzędzie CLI dla Hacker Lang (dostępne w repo projektu). |
| 29 | + |
| 30 | +== Komendy `hackerc` |
| 31 | + |
| 32 | +Poniżej lista podstawowych komend dostępnych w narzędziu `hackerc`: |
| 33 | + |
| 34 | +* `hackerc run {plik.hacker}`:: Uruchamia plik `.hacker` bez kompilacji. |
| 35 | +* `hackerc compiler {plik.hacker} {lokalizacja}`:: Kompiluje plik `.hacker` do binarki i zapisuje wynik w podanej lokalizacji. |
| 36 | +* `hackerc check {plik.hacker}`:: Sprawdza poprawność składni i podstawowe błędy logiczne w pliku. |
| 37 | +* `hackerc init`:: Tworzy przykładowy plik `.hacker` w bieżącym katalogu. |
| 38 | +* `hackerc clean`:: Czyści cache oraz pliki tymczasowe `hackerc`. |
| 39 | +* `hackerc install {nazwa_biblioteki}`:: Instaluje bibliotekę z repozytorium *bytes.io*. |
| 40 | +* `hackerc update {nazwa_biblioteki}`:: Aktualizuje zainstalowane biblioteki z *bytes.io*. |
| 41 | +* `hackerc repl`:: Uruchamia interaktywny REPL Hacker Lang. |
| 42 | +* `hackerc version`:: Wyświetla wersję `hackerc`. |
| 43 | +* `hackerc help`:: Pokazuje listę dostępnych komend i krótkie opisy. |
| 44 | + |
| 45 | +== Składnia i przykład prostego skryptu `.hacker` |
| 46 | + |
| 47 | +Poniżej przykład prostego pliku `.hacker` z komentarzami składniowymi. |
| 48 | + |
| 49 | +--- |
| 50 | + |
| 51 | +// sudo |
| 52 | +// apt |
| 53 | + |
| 54 | +> sudo apt update |
| 55 | + |
| 56 | +"syntax example" |
| 57 | +Syntax Example: |
| 58 | +1 // sudo |
| 59 | +2 # bit-jump |
| 60 | +3 @USER=admin |
| 61 | +4 =2 > echo $USER |
| 62 | +5 ? [ -d /tmp ] > echo OK |
| 63 | +6 & sleep 10 |
| 64 | +7 # util |
| 65 | +8 > sudo apt update |
| 66 | +9 [ |
| 67 | +10 Config |
| 68 | +11 ] |
| 69 | +---- |
| 70 | +
|
| 71 | +Wyjaśnienie elementów składni (krótkie): |
| 72 | +
|
| 73 | +* `//`:: komentarz jednoliniowy. |
| 74 | +* `#`:: sekcja lub etykieta logiczna. |
| 75 | +* `@VAR=wartosc`:: deklaracja zmiennej (dostęp przez `$VAR`). |
| 76 | +* `=N >`:: operator wykonania o priorytecie/znaczeniu (np. `=2 > echo`). |
| 77 | +* `? [ warunek ] >`:: warunkowe wykonanie — jeśli `warunek` prawdziwy. |
| 78 | +* `&`:: uruchomienie polecenia w tle (asynchronicznie). |
| 79 | +* `>`:: wykonaj polecenie shellowe. |
| 80 | +
|
| 81 | +== Przykłowy workflow |
| 82 | +
|
| 83 | +1. Napisz `script.hacker`. |
| 84 | +2. Sprawdź składnię: `hackerc check script.hacker`. |
| 85 | +3. Uruchom testowo bez kompilacji: `hackerc run script.hacker`. |
| 86 | +4. Skompiluj do binarki: `hackerc compiler script.hacker /usr/local/bin/myscript`. |
| 87 | +5. Uruchamiaj bezpośrednio jako binarkę. |
| 88 | +
|
| 89 | +== Integracja z bytes.io |
| 90 | +
|
| 91 | +Hacker Lang używa repozytorium bibliotek *bytes.io*. Użyj `hackerc install <nazwa>` aby pobrać paczkę; `hackerc update <nazwa>` aby ją zaktualizować. |
| 92 | +
|
| 93 | +== FAQ (krótkie) |
| 94 | +
|
| 95 | +* Jak debugować?:: Użyj `hackerc check` oraz `hackerc run` z dodatkowymi flagami debug (jeśli dostępne). Logi `hackerc` znajdują się w domyślnym katalogu cache. |
| 96 | +* Czy `.hacker` może wywoływać polecenia systemowe?:: Tak — użyj `>` aby wykonać komendę shellową. |
| 97 | +* Gdzie znaleźć dokumentację?:: Pełna dokumentacja i wiki: [https://github.com/HackerOS-Linux-System/Hacker-Lang/wiki](https://github.com/HackerOS-Linux-System/Hacker-Lang/wiki) |
| 98 | +
|
| 99 | +== Licencja |
| 100 | +
|
| 101 | +Projekt jest dostępny na licencji MIT. Zobacz plik LICENSE w repozytorium. |
| 102 | +
|
| 103 | +== Kontakt |
| 104 | +
|
| 105 | +Masz pomysł albo błąd? Otwórz issue na GitHubie w repozytorium projektu. |
0 commit comments