For faster navigation, this Iframe is preloading the Wikiwand page for LOLCODE.

LOLCODE

Матеріал з Вікіпедії — вільної енциклопедії.

LOLCODE
Парадигмаезотерична
Дата появи2007
ТворціАдам Ліндсей
Останній реліз
Під впливом відLolcats
Звичайні розширення файлів.lol, .lols
Вебсайтlolcode.org

LOLCODE — езотерична мова програмування натхненна інтернет мемом lolcat'ом. Мова була створена в 2007 році Адамою Ліндсей, дослідником кафедри обчислювальної техніки Ланкастерського університету[1].Мова є повною за Тюрінгом, оскільки є можливість реалізації інтерпретатора Brainfuck на LOLCODE[2].

Приклад структури програми

[ред. | ред. код]

Зарезервовані слова(ключові слова) — це все слова англійського розмовного діалекту взяті з lolcat мемів.

Код Пояснення
HAI [ВЕРСІЯ] Усі LOLCODE програми починаються з HAI («Hi!», що означає «Привіт») вітання та вказування певної версії мови.
CAN HAS [БІБЛІОТЕКА]? Так як і в С++ підключається стандартна бібліотека для використання простих методів, наприклад для вводу та виводу тексту.
VISIBLE [ТЕКСТ] Виводить повідомлення з текстом на екран.
GIMMEH[ЗМІННА] Аналог input() у Python.Поки що цей метод повертає тільки значення string.
KTHXBYE Оголошуємо кінець коду програми. ('K' = «OK», «Thanks»="THX" «BYE» — це слова записані одним словом, що разом означають «Добре, дякую, бувай»)
BTW [КОМЕНТАР] Додає однорядковий коментар («BTW» = «By the way», що означає «До речі»)
OBTW [КОМЕНТАР]

TLDR

Додає багаторядковий коментар. («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 [НАЗВА ЦИКЛУ].

Цикл який повторюється допоки не буде команди 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[3] — клас мови Python, який дозволяє використовувати LOLCODE при написанні програми. Також існує LOLCODE.NET[4] — компілятор LOLCODE в MSIL, він перебуває на ранній стадії розробки. Зараз найновіший та найсучасніший інтерпритатор для мови LOLCODE — lci[5], написаний на С Джастіном Мезою. Він ефективно інтерпретує LOLCODE на різних платформах. Цікаво те що на конференції Microsoft TechEd 2007 в Австралії[6], Microsoft оголосили, що їхня наступна версія Visual Studio буде підтримувати тільки LOLCODE і називатиметься Cheezburger Studio.

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. https://web.archive.org/web/20090528151824/http://www.comp.lancs.ac.uk/department/news.html
  2. 262588213843476. Brainfuck interpreter in Lolcode. Gist (англ.). Процитовано 12 грудня 2020.
  3. LOLPython. www.dalkescientific.com. Архів оригіналу за 9 листопада 2020. Процитовано 12 грудня 2020.
  4. Bock, Jason (8 вересня 2020), JasonBock/LOLCode.net, архів оригіналу за 23 січня 2021, процитовано 12 грудня 2020
  5. LOLCODE. www.lolcode.org. Архів оригіналу за 9 січня 2021. Процитовано 11 грудня 2020.
  6. Zheng, Long (9 серпня 2007). TechEd Day 2: Microsoft announces LOLCode support and Cheezburger Studios. istartedsomething (амер.). Архів оригіналу за 21 січня 2021. Процитовано 12 грудня 2020.


{{bottomLinkPreText}} {{bottomLinkText}}
LOLCODE
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?