mały|Logo interpretera lci LOLCODE dla języka programowania LOLCODE LOLCODE – ezoteryczny język programowania zainspirowany językiem pidgin English, używanym w fenomenie internetowym LOLCAT. 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.
Składnia "Hello World" w języku LOLCODE HAI CAN HAS STDIO? VISIBLE "HAI WORLD!" KTHXBYE
{| class="wikitable" width="80%" ! Kod ! Komentarz |- | HAI | We 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. |- | KTHXBYE | Kończy każdy program.
Zmienne i pętle 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.: Komenda Działanie 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 nazwaZwracanie błędu na standardowy strumień błędów.KTHX Zakończenie pętli.GTFOPrzerwanie pętli.ENUFIZ Instrukcja warunkowa.
Przykłady
Program wypisujący liczby od 1 do 10 +Linia lolkoduLOLCODEWyjaśnienie linii koduPorównanie do C++1HAIRozpoczęcie programu i zadeklarowanie biblioteki.#include <iostream> using namespace std;
int main()
{2CAN HAS STDIO?3I HAS A VARDeklaracja zmiennej VAR.for ( int wartosc = 1;
wartosc<=10; wartosc++4IM IN YR LOOPZwracanie błędu na standardowy strumień błędów pętli.5 UP VAR!!1Proces dodawania o wartości o 1, tzw. inktementacja6 IZ VAR BIGGER THAN 10? HTHXJeżeli VAR jest większy niż 10, to przestań inkrementować.7 VISIBLE VARWypisz VAR.) cout << wartosc << " ";8IM OUTTA YR LOOPKoniec pętli.9KTHXBYEZakończenie programu.return 0; } 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
Program sprawdzający czy liczba jest większa od 10 Linia lolkoduLOLCODEWyjaśnienie linii koduPorównanie do C++1HAICAN HAS STDIO?Rozpoczęcie programu i zadeklarowanie biblioteki.#include <iostream> using namespace std;
int main()
{23I HAS A VARDeklaracja i pobieranie zmiennej VAR.int wartosc; cout << "Podaj liczbę: " <<endl;4GIMMEH VAR5IZ VAR BIGGER THAN 10?Warunek: Czy VAR jest większe niż 10?if (wartosc>10){ //Wartość prawdziwa = 1
cout<<"Liczba"<< wartosc << "jest większa niż 10";
}6 YARLYJeżeli tak:7 BTW to jezt prafdziweNie widoczny komentarz8 VISIBLE "DUZA LICBA!"Wypisywanie informacji, że VAR jest większa niż 10.9 NOWAIJeżeli nie:else if (wartosc>10)else10 BTW ta wardotz jest falzywaNie widoczny komentarz{//Wartość fałszywa = 0
cout<<"Liczba"<< wartosc << "jest większa niż 10";
}11 VISIBLE "MALA LICBA!"Wypisywanie informacji, że VAR jest mniejsza niż 10.12 KTHXZakończenie instrukcji if/else.13KTHXBYEZakończenie programu.return 0; }
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
Linki zewnętrzne
LOLPython The new fame: Internet celebrity, artykuł CNN
Kategoria:Ezoteryczne języki programowania