LOLCODE | это... Что такое LOLCODE? (original) (raw)

LOLCODEэзотерический язык программирования, созданный под влиянием интернет-мема о lolcat’ах.

На официальном сайте находится спецификация[1] этого языка, и, хотя некоторые моменты в ней не описаны, уже существуют несколько работающих интерпретаторов и компиляторов этого языка. LOLCODE является Тьюринг-полным языком, так как возможна реализация интерпретатора Brainfuck на LOLCODE[2].

Пример структуры программы

LOLCODE использует сильно урезанный словарь английского интернет-сленга, поэтому человек, знакомый с этим сленгом, вполне может разобраться в коде программы даже без знания синтаксиса. Вот пример программы «Hello world» и простой программы по выводу содержимого файла на экран:

HAI CAN HAS STDIO? VISIBLE "HAI WORLD!" KTHXBYE

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

Список команд

Команда Комментарий
HAI Начало программы
CAN HAS имя файла? Аналогично директиве языка Си «#include (имя файла)»
VISIBLE строка Вывод на экран
KTHXBYE Конец программы
PLZ команда? AWSUM THX код O NOES код Блок обработки исключений. Аналогичен конструкции «try .. catch .. finally» в Java

Реализации языка

LOLPython[3] - класс для языка Python, позволяющий использовать LOLCODE при написании программы.

LOLCODE.NET[4] — компилятор LOLCODE в MSIL, находящийся в ранней стадии разработки.

Примечания

  1. specs:1.2 · LOLCODE
  2. The LOLCODE forum / Proof that LOLCode is turing complete:BrainF*** interpreter in LOLCode
  3. LOLPython
  4. http://code.google.com/p/lolcode-dot-net/ Сайт LOLCODE.NET на Google Code

Ссылки

Просмотр этого шаблона Основные языки программирования (сравнениеIDEисторияхронология)
Используемыев разработке АдаAPLЯзык ассемблераActionScriptABAP/4AutoItAWKБейсикСиКоболC++C#ClarionClojureColdFusionCommon LispDdBaseDelphiEiffelErlangEuphoriaF#ФортФортранGambasGoGroovy • HAL/S • HaskellIconJavaJavaScriptLimboLuaМодула-3Object PascalObjective-COCamlOzParserПаскальКомпонентный ПаскальPerlPHPPowerBASICPythonПЛ/1ПрологRubyScalaSchemeSmalltalkSQLPL/SQLTclValaVisual Basic (.NET)
Академические AgdaCleanCurryЛогоMLРЕФАЛСимулаОберон
IEC 61131-3 Instruction ListSTFBDLadder Diagram (LD) • SFC
Прочие АлголАлгол 68Модула-2МирандаHope
Эзотерические HQ9+/HQ9++ • INTERCALBrainfuck • Brainfork • BefungeMalbolgePietSpoonUnlambdaWhitespaceFALSELOLCODE
Визуальные G (LabVIEW) • Microsoft VPLSikuliVisSimАлисаДРАКОНСкретч