LOLCODE — езотерична мова програмування натхненна інтернет мемом lolcat'ом. Мова була створена в 2007 році Адамою Ліндсей, дослідником кафедри обчислювальної техніки Ланкастерського університету.Мова є повною за Тюрінгом, оскільки є можливість реалізації інтерпретатора Brainfuck на LOLCODE.
LOLCODE | |
---|---|
Парадигма | |
Дата появи | 2007 |
Творці | Адам Ліндсей |
Останній реліз | |
Під впливом від | Lolcats |
Звичайні розширення файлів | .lol, .lols |
Вебсайт | lolcode.org |
|
Приклад структури програми
Зарезервовані слова(ключові слова) — це все слова англійського розмовного діалекту взяті з lolcat мемів.
Код | Пояснення |
---|---|
HAI [ВЕРСІЯ] | Усі LOLCODE програми починаються з HAI («Hi!», що означає «Привіт») вітання та вказування певної версії мови. |
CAN HAS [БІБЛІОТЕКА]? | Так як і в підключається стандартна бібліотека для використання простих методів, наприклад для (вводу та виводу) тексту. |
VISIBLE [ТЕКСТ] | Виводить повідомлення з текстом на екран. |
GIMMEH[ЗМІННА] | Аналог input() у Python.Поки що цей метод повертає тільки значення string. |
KTHXBYE | Оголошуємо кінець коду програми. ('K' = «OK», «Thanks»="THX" «BYE» — це слова записані одним словом, що разом означають «Добре, дякую, бувай») |
BTW [КОМЕНТАР] | Додає однорядковий коментар («BTW» = «By the way», що означає «До речі») |
OBTW [КОМЕНТАР]
| Додає багаторядковий коментар. («OBTW» — початок, «TLDR» — кінець коментаря, «TLDR» = «Too long, don't read», що означає «Дуже довго, не читай») |
PLZ [команда?] AWSUM THX [код] O NOES [код] | Блок обробки винятків.Аналог «try .. catch .. finally» в Java. |
I HAS A [ЗМІННА] ITZ [ЗНАЧЕННЯ] | Оголошення змінної. |
IZ [ЗМІННА] ОПЕРАЦІЯ ПОРІВНЯННЯ [ЗНАЧЕННЯ]? | Порівняння. (Операції порівняння тут записуються словами, тобто: «BIGGER»= «>», «SMALLER»="<", «SAEM» = "==", «DIFFRINT» = "!=") |
IM IN YR [НАЗВА ЦИКЛУ]
| Цикл який повторюється допоки не буде команди IM OUTTA YR [НАЗВА ЦИКЛУ]. |
Нижче наведено запис бінарних операцій.
SUM OF <x> AN <y> BTW +(Сума змінних х і у) DIFF OF <x> AN <y> BTW -(Різниця змінних х і у) PRODUKT OF <x> AN <y> BTW *(Множення змінних х на у) QUOSHUNT OF <x> AN <y> BTW /(Цілочисельне ділення змінних х на у) MOD OF <x> AN <y> BTW mod(Остача від ділення числа х на у ) BIGGR OF <x> AN <y> BTW max(Максимальна зі змінних х і у) SMALLR OF <x> AN <y> BTW min(Мінімальна зі змінних х і у)
Нижче наведено приклад простої програми на LOLCODE, яка виводить на стандартний потік виводу рядка HAI, WORLD!
.
Приклад 1
HAI 1.2 CAN HAS STDIO? BTW VISIBLE "THIS IS EXAMPLE 1 AND THIS IS EXAMPLE OF COMMENT" VISIBLE "HAI WORLD!" OBTW VISIBLE "THIS TOO IS" VISIBLE "AN EXAMPLE OF COMMENT" TLDR KTHXBYE
Вивід:
HAI WORLD!
Вивелось тільки HAI WORLD!
оскільки рядки 3, 5, 6, 7, 8 є коментарями.
Далі простий приклад коду для роботи з файлами.("PLZ OPEN FILE «НАЗВА ФАЙЛУ» означає «Будь ласка відкрий файл „НАЗВА ФАЙЛУ“ — метод для відкриття файлу»)
Приклад 2
HAI CAN HAS STDIO? PLZ OPEN FILE "LOLCATS.TXT"? AWSUM THX VISIBLE FILE O NOES VISIBLE "ERROR!" KTHXBYE
Наступний приклад показує роботу команд IM IN YR LOOP
,I HAS A variable
, IZ
і методу GIMMEH
.
Приклад 3
HAI 1.0 CAN HAS STDIO? I HAS A VAR1 ITZ 10 I HAS A WORD GIMMEH WORD IM IN YR LOOP UP VAR1!!1 IZ VAR1 BIGGER THAN 20? KTHX IM OUTTA YR LOOP VISIBLE WORD VISIBLE VAR1 KTHXBYE
Реалізація LOLCODE
LOLPython — клас мови Python, який дозволяє використовувати LOLCODE при написанні програми. Також існує LOLCODE.NET — компілятор LOLCODE в MSIL, він перебуває на ранній стадії розробки. Зараз найновіший та найсучасніший інтерпритатор для мови LOLCODE — lci, написаний на С Джастіном Мезою. Він ефективно інтерпретує LOLCODE на різних платформах. Цікаво те що на конференції Microsoft TechEd 2007 в Австралії, Microsoft оголосили, що їхня наступна версія Visual Studio буде підтримувати тільки LOLCODE і називатиметься Cheezburger Studio.
Див. також
Примітки
- 262588213843476. Brainfuck interpreter in Lolcode. Gist (англ.). Процитовано 12 грудня 2020.
- LOLPython. www.dalkescientific.com. Архів оригіналу за 9 листопада 2020. Процитовано 12 грудня 2020.
- Bock, Jason (8 вересня 2020), JasonBock/LOLCode.net, архів оригіналу за 23 січня 2021, процитовано 12 грудня 2020
- LOLCODE. www.lolcode.org. Архів оригіналу за 9 січня 2021. Процитовано 11 грудня 2020.
- Zheng, Long (9 серпня 2007). TechEd Day 2: Microsoft announces LOLCode support and Cheezburger Studios. istartedsomething (амер.). Архів оригіналу за 21 січня 2021. Процитовано 12 грудня 2020.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Nemaye perevirenih versij ciyeyi storinki jmovirno yiyi she ne pereviryali na vidpovidnist pravilam proektu LOLCODE ezoterichna mova programuvannya nathnenna internet memom lolcat om Mova bula stvorena v 2007 roci Adamoyu Lindsej doslidnikom kafedri obchislyuvalnoyi tehniki Lankasterskogo universitetu 1 Mova ye povnoyu za Tyuringom oskilki ye mozhlivist realizaciyi interpretatora Brainfuck na LOLCODE 2 LOLCODEParadigmaezoterichnaData poyavi2007TvorciAdam LindsejOstannij relizPid vplivom vidLolcatsZvichajni rozshirennya fajliv lol lolsVebsajtlolcode org Mediafajli u Vikishovishi Zmist 1 Priklad strukturi programi 1 1 Priklad 1 1 2 Priklad 2 1 3 Priklad 3 2 Realizaciya LOLCODE 3 Div takozh 4 PrimitkiPriklad strukturi programired Zarezervovani slova klyuchovi slova ce vse slova anglijskogo rozmovnogo dialektu vzyati z lolcat memiv Kod Poyasnennya HAI VERSIYa Usi LOLCODE programi pochinayutsya z HAI Hi sho oznachaye Privit vitannya ta vkazuvannya pevnoyi versiyi movi CAN HAS BIBLIOTEKA Tak yak i v S pidklyuchayetsya standartna biblioteka dlya vikoristannya prostih metodiv napriklad dlya vvodu ta vivodu tekstu VISIBLE TEKST Vivodit povidomlennya z tekstom na ekran GIMMEH ZMINNA Analog input u Python Poki sho cej metod povertaye tilki znachennya string KTHXBYE Ogoloshuyemo kinec kodu programi K OK Thanks THX BYE ce slova zapisani odnim slovom sho razom oznachayut Dobre dyakuyu buvaj BTW KOMENTAR Dodaye odnoryadkovij komentar BTW By the way sho oznachaye Do rechi OBTW KOMENTAR TLDR Dodaye bagatoryadkovij komentar OBTW pochatok TLDR kinec komentarya TLDR Too long don t read sho oznachaye Duzhe dovgo ne chitaj PLZ komanda AWSUM THX kod O NOES kod Blok obrobki vinyatkiv Analog try catch finally v Java I HAS A ZMINNA ITZ ZNAChENNYa Ogoloshennya zminnoyi IZ ZMINNA OPERACIYa PORIVNYaNNYa ZNAChENNYa Porivnyannya Operaciyi porivnyannya tut zapisuyutsya slovami tobto BIGGER gt SMALLER lt SAEM DIFFRINT IM IN YR NAZVA CIKLU IM OUTTA YR NAZVA CIKLU Cikl yakij povtoryuyetsya dopoki ne bude komandi IM OUTTA YR NAZVA CIKLU Nizhche navedeno zapis binarnih operacij SUM OF lt x gt AN lt y gt BTW Suma zminnih h i u DIFF OF lt x gt AN lt y gt BTW Riznicya zminnih h i u PRODUKT OF lt x gt AN lt y gt BTW Mnozhennya zminnih h na u QUOSHUNT OF lt x gt AN lt y gt BTW Cilochiselne dilennya zminnih h na u MOD OF lt x gt AN lt y gt BTW mod Ostacha vid dilennya chisla h na u BIGGR OF lt x gt AN lt y gt BTW max Maksimalna zi zminnih h i u SMALLR OF lt x gt AN lt y gt BTW min Minimalna zi zminnih h i u Nizhche navedeno priklad prostoyi programi na LOLCODE yaka vivodit na standartnij potik vivodu ryadka HAI WORLD Priklad 1red HAI 1 2 CAN HAS STDIO BTW VISIBLE THIS IS EXAMPLE 1 AND THIS IS EXAMPLE OF COMMENT VISIBLE HAI WORLD OBTW VISIBLE THIS TOO IS VISIBLE AN EXAMPLE OF COMMENT TLDR KTHXBYE Vivid HAI WORLD Vivelos tilki HAI WORLD oskilki ryadki 3 5 6 7 8 ye komentaryami Dali prostij priklad kodu dlya roboti z fajlami PLZ OPEN FILE NAZVA FAJLU oznachaye Bud laska vidkrij fajl NAZVA FAJLU metod dlya vidkrittya fajlu Priklad 2red HAI CAN HAS STDIO PLZ OPEN FILE LOLCATS TXT AWSUM THX VISIBLE FILE O NOES VISIBLE ERROR KTHXBYE Nastupnij priklad pokazuye robotu komand IM IN YR LOOP I HAS A i variable i IZ i metodu GIMMEH Priklad 3red HAI 1 0 CAN HAS STDIO I HAS A VAR1 ITZ 10 I HAS A WORD GIMMEH WORD IM IN YR LOOP UP VAR1 1 IZ VAR1 BIGGER THAN 20 KTHX IM OUTTA YR LOOP VISIBLE WORD VISIBLE VAR1 KTHXBYERealizaciya LOLCODEred LOLPython 3 klas movi Python yakij dozvolyaye vikoristovuvati LOLCODE pri napisanni programi Takozh isnuye LOLCODE NET 4 kompilyator LOLCODE v MSIL vin perebuvaye na rannij stadiyi rozrobki Zaraz najnovishij ta najsuchasnishij interpritator dlya movi LOLCODE lci 5 napisanij na S Dzhastinom Mezoyu Vin efektivno interpretuye LOLCODE na riznih platformah Cikavo te sho na konferenciyi Microsoft TechEd 2007 v Avstraliyi 6 Microsoft ogolosili sho yihnya nastupna versiya Visual Studio bude pidtrimuvati tilki LOLCODE i nazivatimetsya Cheezburger Studio Div takozhred Intercal Brainfuck Befunge HQ9 Primitkired https web archive org web 20090528151824 http www comp lancs ac uk department news html 262588213843476 Brainfuck interpreter in Lolcode Gist angl Procitovano 12 grudnya 2020 LOLPython www dalkescientific com Arhiv originalu za 9 listopada 2020 Procitovano 12 grudnya 2020 Bock Jason 8 veresnya 2020 JasonBock LOLCode net arhiv originalu za 23 sichnya 2021 procitovano 12 grudnya 2020 LOLCODE www lolcode org Arhiv originalu za 9 sichnya 2021 Procitovano 11 grudnya 2020 Zheng Long 9 serpnya 2007 TechEd Day 2 Microsoft announces LOLCode support and Cheezburger Studios istartedsomething amer Arhiv originalu za 21 sichnya 2021 Procitovano 12 grudnya 2020 Otrimano z https uk wikipedia org wiki LOLCODE