Dokumentacja QCode

Spis podstawowych komend oraz dostępnych makr preprocesora.

1. Tworzenie Funkcji

Funkcje w QCode pozwalają na grupowanie komend. Ważna zasada dotycząca zmiennych:

func pokaz_x
    println Aktualny x: v(x)
end

int x 10
run pokaz_x
] Wypisze: Aktualny x: 10

set x 20
run pokaz_x
] Wypisze: Aktualny x: 20
Uwaga: Aby funkcja zawsze korzystała z aktualnej wartości zmiennej, zmienna musi być zadeklarowana PO definicji funkcji. Jeśli zadeklarujesz zmienną przed funkcją, jej wartość wewnątrz funkcji zostanie "zamrożona" na stanie z momentu tworzenia funkcji.

2. Podstawowe Komendy

Komenda Argumenty Przykład Opis
int [x] [y] int i 10 Tworzy nową zmienną [x] typu INT o wartości [y].
float [x] [y] float f 3.1415 Tworzy nową zmienną [x] typu FLOAT o wartości [y].
string [x] [y] string s Hello, world! Tworzy nową zmienną [x] typu STRING o treści [y].
rem [x] rem x Usuwa zmienną [x] z pamięci.
set [x] [y] set x 10 Ustawia wartość zmiennej [x] na [y].
add [x] [y] add s Siema! Dodaje [y] do [x]. Dla liczb to suma, dla STRING to dopisanie tekstu.
sub [x] [y] sub x 5 Usuwa [y] od zmiennej [x]. (INT , FLOAT)
mul [x] [y] mul x 2 Mnoży wartość zmiennej [x] przez [y]. (INT , FLOAT)
div [x] [y] div x 3 Dzieli wartość zmiennej [x] przez [y]. (INT , FLOAT)
mod [x] [y] [z] mod 10 3 x Oblicza resztę z dzielenia [x] przez [y] i zapisuje wynik w zmiennej [z].
list [x] [y] list int l Tworzy listę [y] o typie [x]. (przechowuje tylko wartości typu [x])
addl [x] [y] addl l 10 Dodaje [y] do listy [x].
setl [x] [y] [z] setl l 2 50 Ustawia wartość [z] na liście [x] pod indeksem [y].
reml [x] reml l Usuwa całą listę [x] z pamięci.
remli [x] [y] remli l 0 Czyści na liście [x] element o indeksie [y].
run [x] run fn Wykonuje funkcję o nazwie [x].
if [x] [y] [z] [a] if a == b fn Wykonuje funkcję o nazwie [a] jeżeli warunek podany w [x][y][z] jest spełniony.
ifel [x] [y] [z] [a] [b] ifel a == b fn1 fn2 Wykonuje funkcję o nazwie [a] jeżeli warunek podany w [x][y][z] jest spełniony, w przeciwnym razie wykona funkcję [b].
for [x] [y] for 10 fn Wykonuje funkcję o nazwie [y] przez [x] razy.
print [x] print Hello, world! Wypisuje [x] bez nowej linii.
println [x] println Hello, world! Wypisuje tekst [x] i przechodzi do nowej linii.
clear brak clear Czyści okno konsoli/terminala (używa sekwencji ANSI).
input [x] input s Ustawia wartość zmiennej [x] na podany tekst przez użytkownika.
split [x] [y] [z] [a] split s __ a b Dzieli tekst [x] przez pierwszy napotkany znak [y]. Wynik przypisuje do zmiennych [z] i [a]. Użyj __, aby dzielić przez spację.

3. Komentarze

Komentarze w QCode muszą znajdować się w osobnej linii. Każda linia zaczynająca się od znaku ] jest ignorowana przez interpreter.

] To jest poprawny komentarz
add x 10
add x 1 ] To wygeneruje BŁĄD

4. Preprocesory

Preprocesory działają przed wykonaniem komendy, zamieniając wzorce na wartości z pamięci.