Lolcode - składnia
LOLCODE ma inną składnię w porównaniu z innymi językami programowania, jednak jest łatwiejszy do zapamiętania. Ten rozdział przedstawia podstawową składnię LOLCODE.
Konstrukty
Konstrukcje LOLCODE to slangowe słowa. W poniższej tabeli przedstawiono alfabetyczną listę dotychczas wdrożonych konstrukcji -
Sr.No. | Konstrukcja i użycie |
---|---|
1 | BTW Rozpoczyna komentarz w jednym wierszu. |
2 | DOWN <variable>!!<times> Odpowiada to zmienna = zmienna - razy. Zwróć uwagę, że „czasy” to rozszerzenie języka tylko w WUT. |
3 | GIMMEH <variable> Stanowi to instrukcję wejściową. |
4 | GTFO To jest podobne do break w innych językach i umożliwia wyrwanie się z pętli. |
5 | HAI Odpowiada to main ()funkcjonować w innych językach. Jest to punkt wejścia programu w LOLCODE. |
6 | HEREZ <label> To jest kolejne rozszerzenie języka tylko wut i deklaruje etykietę do użytku z SHOO |
7 | I HAS A <type> <variable> To deklaruje zmienną tego typu. W LOLCODE są trzy wbudowane typy -
Zauważ, że typy są rozszerzeniem języka tylko wut. |
8 | IM IN YR LOOP To rozpoczyna nieskończoną pętlę. Jedynym sposobem na wyjście z pętli jest użycie GTFO. Odpowiada za(;;) w innych językach |
9 | IZ <expr1> <operator> <expr2>?: Conditional structure Jest to podobne do operatora if w innych językach. Operator jest jednym z: WIĘKSZY, MNIEJSZY NIŻ, SAEM AS. Zauważ, że? na końcu jest opcjonalne. |
10 | KTHX Kończy blok. Koresponduje z} |
11 | KTHXBAI To kończy program |
12 | NOWAI Odpowiada to else |
13 | PURR <expr> To wypisuje argument na ekranie, po którym następuje znak nowej linii. Jest to rozszerzenie języka tylko wut. |
14 | RELSE Odpowiada to else (if) |
15 | SHOO To jest kolejne rozszerzenie języka tylko wut, które odpowiada goto (horror!) |
16 | UP <variable>!!<times> Odpowiada to zmiennym = zmienna + razy. Tutaj „czasy” to rozszerzenie języka tylko w Wut. |
17 | VISIBLE <expr> To wypisuje argument na ekranie. Zauważ, że to nie powoduje wydrukowania nowej linii. |
18 | YARLY Oznacza to początek „prawdziwego” bloku warunkowego |
Niektóre przykłady terminów slangowych w LOLCODE to:
- HAI jest cześć
- KTHXBYE jest w porządku, dzięki, pa
- A tak przy okazji
- Nawiasem mówiąc, OBTW jest och
- TLDR jest za długi; nie czytałem
Biała przestrzeń
W większości języków programowania słowa kluczowe lub tokeny mogą nie mieć między sobą spacji. Jednak w niektórych językach spacje są używane w tokenach, aby je rozróżnić.
Przecinek
Przecinek zachowuje się jak słowo kluczowe nowej linii w większości języków, na przykład \n w Javie i C. Możesz napisać wiele poleceń w jednym wierszu w LOLCODE, pod warunkiem, że oddzielisz je przecinkami (,).
Trzy okresy (…)
Trzy kropki (…) umożliwiają łączenie wielu wierszy kodu w jeden wiersz lub w jedno polecenie przez umieszczenie (…) na końcu wiersza. To sprawia, że kompilator traktuje zawartość następnego wiersza jako zawartość tylko poprzedniego wiersza. Nieskończone wiersze kodu można zapisać razem jako jedno polecenie, o ile każdy wiersz kończy się trzema kropkami.
Komentarz jest zakończony znakiem nowej linii. Należy pamiętać, że kontynuacja wiersza (...) i (,) po komentarzu (BTW) są ignorowane przez lci.
Komentarze
Komentarze jednowierszowe są zapisywane, a po nich słowo kluczowe BTW. Mogą wystąpić w dowolnym miejscu w treści programu: mogą znajdować się w pierwszym wierszu programu, pomiędzy programem, między wierszami lub na końcu programu.
Wszystkie są poprawnymi komentarzami jednowierszowymi
I HAS A VAL ITZ 19 BTW VAL = 19
I HAS A VAL ITZ 19, BTW VAL = 19
I HAS A VAL ITZ 14
BTW VAR = 14
W LOLCODE, wieloliniowe komentarze są zapisywane, a po nich OBTW i kończą się TLDR.
To jest poprawny komentarz wielowierszowy -
I HAS A VAL ITZ 51
OBTW this is a comment
No it’s a two line comment
Oops no.. it has many lines here
TLDR
Tworzenie plików
Program LOLCODE zaczyna się od słowa kluczowego HAI i powinien kończyć się na KTHXBYE. Ponieważ LOLCODE używa języka skróconego, HAI zasadniczo oznacza Hi, a KTHXBYE można zapamiętać jako“Ok, thanks, bye ”.
Przykład
HAI 1.2
I HAS A NAME
VISIBLE "NAME::"!
GIMMEH NAME
VISIBLE "tutorialsPoint " NAME "!"
KTHXBYE