LOLCODE

LOLCODEezoteryczny język programowania zainspirowany językiem pidgin English, używanym w fenomenie internetowym LOLCAT[1]. Język został stworzony w 2007 r. przez Adama Lindsaya, pracownika Wydziału Informatyki Lancaster University.

Język nie ma jeszcze dokładnie zdefiniowanej składni i semantyki. Mimo to istnieje już kilka działających interpreterów i kompilatorów.

Struktura języka i przykłady

LOLCODE jest napisany w mocno skróconym angielskim internetowym slangu i osoby, które go rozumieją, potrafią często zrozumieć zasadę działania programów bez doświadczenia programistycznego. Poniżej przykład programu Hello world oraz programu wypisującego zawartość pliku.

Przykład 1:

HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE
KodKomentarz
HAIWe wszystkich programach napisanych w LOLCODE, HAI (slangowy odpowiednik angielskiego „hi”) rozpoczyna program.
CAN HAS [PLIK]?Odpowiada za załadowanie bibliotek z dodatkowymi funkcjami. W języku C odpowiednikiem jest #include <PLIK>.
VISIBLE [TEKST]Wypisuje tekst.
KTHXBYEKończy każdy program.

Przykład 2:

 HAI
 CAN HAS STDIO?
 PLZ OPEN FILE "LOLCATS.TXT"?
     AWSUM THX
         VISIBLE FILE
     O NOES
         INVISIBLE "ERROR!"
 KTHXBYE

W tym przykładzie zastosowana została komenda otworzenia pliku (PLZ OPEN FILE „NAZWA”? – „Proszę otwórz plik „NAZWA”?) oraz zwracanie wyjątków (AWSUM THX – „Świetne, dzięki!” i O NOES – „O nie!”).

Inne komendy to[2]:

I HAS A zmienna – deklarowanie zmiennej
LOL zmienna R wartość – przypisanie wartości do zmiennej
BTW komentarz – traktowanie wszystkich znaków, aż do końca linii, jako komentarz
INVISIBLE – zwracanie błędu na standardowy strumień błędów
IM IN YR nazwa – rozpoczynanie pętli
KTHX – zakończenie pętli
GTFO lub ENUF – przerwanie pętli
IZ – instrukcja warunkowa

Przykład 3:

 HAI
 CAN HAS STDIO?
 I HAS A VAR
 IM IN YR LOOP
    UP VAR!!1
    IZ VAR BIGGER THAN 10? KTHX
    VISIBLE VAR
 IM OUTTA YR LOOP
 KTHXBYE

Powyższy program wypisuje liczby od 1 do 10 (został napisany według specyfikacji w wersji 1.0). Ten sam program można zapisać (według specyfikacji 1.2) w następujący sposób:

 HAI
 CAN HAS STDIO?
 IM IN YR LOOP UPPIN YR VAR TIL BOTHSAEM VAR AN 10
     VISIBLE SUM OF VAR AN 1
 IM OUTTA YR LOOP
 KTHXBYE

Wsparcie

Obsługa LOLCODE została dodana do wirtualnej maszyny Parrot.

Istnieje oparty na platformie .NET kompilator LOLCODE, napisany przez Nicka Johnsona. Został wyróżniony podczas organizowanych przez Microsoft seminariów TechED 2007 Conference w Australii.

Przypisy

  1. Dwight Silverman: I’M IN UR NEWSPAPER WRITIN MAH COLUM. Chron.com, 2007-06-06. [dostęp 2007-06-06].
  2. SORN.net. sorn.net. [zarchiwizowane z tego adresu (2009-03-26)]..

Linki zewnętrzne