LOLKOD - LOLCODE

LOLKOD
LOLCode logo.png
Paradigmaezoterik
LoyihalashtirilganAdam Lindsay
Birinchi paydo bo'ldi2007
Fayl nomi kengaytmalari.lol, .lols
Veb-saytlolcode.org
Ta'sirlangan
Lolkatlar

LOLKOD bu ezoterik dasturlash tili tomonidan ilhomlangan lolspeak, misollarda ifodalangan til lolcat Internet-mem.[1] Til 2007 yilda Hisoblash bo'limi tadqiqotchisi Adam Lindsay tomonidan yaratilgan Lankaster universiteti.[2][3]

Til operatorlarning ustuvorliklari va to'g'ri sintaksis nuqtai nazaridan aniq belgilanmagan, ammo bir nechta ishlaydigan tarjimonlar va kompilyatorlar mavjud. Tilning bitta talqini isbotlangan Turing to'liq.[4]

Tilning tuzilishi va misollari

LOLKOD kalit so'zlar qattiq siqilgan (qisqartirilgan) patois lolcat Internet-memining. Bu erda a "Salom Dunyo!" dastur va faylni monitorga chiqarish uchun oddiy dastur.[5] Shunga o'xshash kod Xyuston xronikasi.[1]

1-misol

HAI 1.2CAN-da STDIO bormi? Ko'rinadigan "HAI WORLD!" KTHXBYE
KodIzoh
HAI [VERSION]Barcha LOLCODE dasturlarida, HAI ("Salom!") Dasturni tanishtiradi va versiyasini aniqlaydi (garchi bu hali ishlatilmagan bo'lsa ham).
[KUTUBXONA] BO'LADIMI?Ko'p dasturlash tillarida birinchilardan biri a bo'ladi kutubxona kirish va chiqish kabi umumiy funktsiyalar uchun inklyuziya. Odatda, bu kabi qo'ng'iroq bilan kiritilgan # shu jumladan (stdio standart kirish / chiqish kutubxonasi). Bu buyruq a yonoq bunda korruptsiya, kutubxonani olish mumkinmi yoki yo'qligini so'rash, iloji bo'lsa uni olish va yo'q bo'lsa istisno yaratish.[6] Bu birinchi navbatda verisimilite uchun mavjud - aslida LOLCODE dasturining amaldagi dasturlarida bu e'tiborga olinmaydi.
VISIBLE [MESSAGE]Xabarni ekranga chiqaradi.
KTHXBYEXuddi shunday HAI dastur bilan tanishtiradi, KTHXBYE (bu "K", "THX" va "Bye" ning barchasi bir-biriga bog'langan, ya'ni "OK, rahmat, xayr" degan ma'noni anglatadi) uni bekor qiladi.
BTW [MESSAGE]LOLCODE-da bitta satrli sharh yozish uchun siz BTW kalit so'z. Izohlar kompilyator tomonidan e'tiborga olinmaydi va dasturni yaxshiroq tushunish uchun yoziladi.
OBTW [MESSAGE]TLDRGa o'xshash BTW kalit so'z, OBTW kalit so'z ko'p satrli sharhni belgilaydi, bir nechta satrlarni o'z ichiga olgan sharh. LOLCODE-da OBTW kalit so'z ko'p satrli sharhning boshlanishini anglatadi TLDR kalit so'z bilan tugaydi.

2-misol

HAI 1.2CAN-da STDIO bormi? PLZ "LOLCATS.TXT" Ochiq fayl? AWSUM THX VISIBLE FAYLE O YO'QLAR KO'RINMAYDI "XATO!" KTHXBYE

Ushbu misolda,[5] faylni ochish buyruqlari (PLZ "NAME" OCHIQ FAYLI?- "Iltimos, faylni ochishga harakat qilasizmi?"), Va xatolarni boshqarish (AWSUM THX- "Ajoyib, rahmat!" Va YO'Q- "Oh yo'q!") Tanishtiriladi.

Boshqa buyruqlar o'z ichiga oladi Menda A bor o'zgaruvchan o'zgaruvchilarni e'lon qilish uchun, o'zgaruvchan R qiymat ("o'zgaruvchi [is / are / being] value") ularni belgilash, oldingi xabarlarga xato xabarlarini yuborish uchun Ko'rinmas o'rniga Ko'rinadiganva BTW ("Aytgancha") sharhni belgilash uchun, ajratuvchi satrning qolgan qismiga e'tibor bermaydi.

Ko'chadanlar yaratilgan IM IN YR '' label '' ("Im in ur" dan ilhomlangan ism, fe'ling tegishli ism" Lolcat mem ) va tugadi IM OUTTA YR '' label ''. Kalit so'z bilan looplarni buzish mumkin ENUF ("etarli") yoki eski versiyalarida, GTFO.[7] Looplarni shartli bilan ham tugatish mumkin IZ buyrug'i, keyingi misolda ko'rsatilgandek.

3-misol

HAI 1.0CAN-da STDIO bormi? YRDAGI VARIM VAR QO'LLANING VAR !! 1 1 VISIBLE VAR IZ VAR VAR KATTA 10-dan kattaroqmi? KTHXIM OUTTA YR LOOPKTHXBYE

[5]

Ushbu oddiy dastur 1-11 raqamlarini aks ettiradi va tugaydi (1.0 spetsifikatsiyasi bo'yicha). 1.2 spetsifikatsiyasi bilan bir xil dastur (VAR 0dan boshlanadi deb taxmin qilinadi):

HAI 1.2CAN-da STDIO bormi? IM IN YR LOOP UPPIN YR VAR TIL, HAM SAEM VAR AN VIM AN 10IM VITING VOL AN 1IM OUTTA YR LOOPKTHXBYE

4-misol

 1HAI 1.0 2STDIO bormi? 3VISIBLE "U KO'RING" 4 5BTW VISIBLE "U hech narsani ko'rmayapti" 6 7OBTW 8"U YO'QNI KO'RMAYDI" 9"U STIL hech narsani ko'rmaydi"10TLDR1112VISIBLE "U KO'RING"13KTHXBYE

Yuqoridagi misol quyidagilarni qaytaradi:

UNI KO'RING BUNI KO'RING

Buning sababi, 3-qatorning chiqishi BUNI KO'RING lekin tomonidan izohlanganligi sababli 5 qatorga e'tibor berilmaydi BTW kalit so'z. 8 va 9-qatorlar bajarilmaydi, chunki ular ko'p satrli izohda, 7-qatordan boshlanib, 10-qatordan tugaydi. BUNI KO'RING va 13-qator dasturni tugatadi.

Amaliyotlar

LOLCODE tili uchun eng yangi va eng zamonaviy tarjimon lci, yozilgan C Justin Meza tomonidan. LOLCODE-ni turli xil platformalarda samarali talqin qiladi.[8]

Birinchi LOLCODE dasturi a PHP Jeff Jons tomonidan yozilgan tahlilchi.[9][10] Parser veb-sayti, shuningdek, LOLCODE-dan haqiqiy veb-skript tili sifatida foydalanilgan birinchi veb-sayt edi. BSD uslubidagi litsenziyaga ega ochiq manba bo'lib, u bir nechta veb-saytlar tomonidan LOLCODE skriptini amalga oshirish uchun ajratilgan va ishlatilgan. G'olib Pecha Kucha PHP Works 2008-dagi taqdimot ushbu tahlilchi haqida edi.[11][12]

Bor .NET LOLCODE uchun kompilyator Nik Jonson tomonidan yozilgan,[13] va xususiyatli Microsoft ishlab chiquvchilar uchun o'quv seminarlari, TechEd 2007 konferentsiyasi (Avstraliya).[14][15][16]

Josh Tolley boshchiligidagi PL / LOLCODE loyihasi LOLCODE-ni PostgreSQL-da server tomonida dasturlash tili sifatida taqdim etadi.[17]

Microsoft Dinamik tilning ishlash vaqti sinov maqsadida LOLCODE dasturiga ega.[18]

lolcode-java (LOLCODE dasturlash tili uchun Java grammatikasi / tarjimoni) ham loyihadir.[19] ammo 1.3 versiyasining spetsifikatsiyasiga hali mos kelmagan ko'rinadi.

LOLKOD JavaScript tarjimon ham mavjud.[20]

Bilan qo'shilgan LOLCODE kompilyatori ham mavjud Parrot virtual mashinasi Parrot kompilyatori vositalaridan foydalanishni namoyish etadigan tillardan biri sifatida.[21]

Piper tomonidan yaratilgan, kompilyator, virtual mashina va disk raskadrovka vositasi, C kabi yozilgan LoLCode 1337 tili kabi LoLCode uchun Bu yerga[22]

Parallel va taqsimlangan hisoblash uchun versiyani topish mumkin Bu yerga. [23]

Tegishli loyihalar

LOLCODE shuningdek, Endryu Dalke tomonidan yozilgan LOLPython-ni ilhomlantirdi. LOLPython LOLCODE-ga o'xshash LOL-ilhomlangan sintaksisidan foydalanadi, ammo Pythonga o'xshash uslub bilan. LOLPython manbasini Python kodiga tarjima qilish orqali ishlaydi.[24]

ArnoldC - LOLCODE-ning tashqi ko'rinishi, lolspeak-ni turli xil takliflar bilan almashtiradi Arnold Shvartsenegger filmlar.[25]

Adabiyotlar

  1. ^ a b Duayt Silverman (2007-06-06). "Men ur gazetasida yozaman mah colum". Chron.com. Olingan 2007-06-06.
  2. ^ "Lancaster Universitetining hisoblash bo'limi - yangiliklar". Lankaster universiteti, hisoblash bo'limi. Arxivlandi asl nusxasi 2009-05-28. Olingan 2009-06-09.
  3. ^ Hammock, Anne (2008-05-01). "Yangi shuhrat: Internetda mashhur". CNN. Arxivlandi asl nusxasi 2009-04-30.
  4. ^ Araxnid. "LOLCode tugaganligini tasdiqlovchi dalil: LOLCode-da BrainF *** tarjimoni". forum.lolcode.com. Arxivlandi asl nusxasi 2007-07-11. Olingan 2008-10-05.
  5. ^ a b v Adam Lindsay (2007-05-25). "LOLCODE asosiy sahifasi". lolcode.com. Arxivlandi asl nusxasi 2007-10-02 kunlari. Olingan 2007-10-02.
  6. ^ "kalit so'zlar: can-has · LOLCODE". Arxivlandi asl nusxasi 2008-02-06 da. Olingan 2008-02-10.
  7. ^ "SORN.net". Arxivlandi asl nusxasidan 2009 yil 16 fevralda. Olingan 2007-11-07.
  8. ^ "LOLCODE + lci".
  9. ^ "Birinchi sharh". Lindsay.at. Arxivlandi asl nusxasi 2009-05-19. Olingan 2009-06-09.
  10. ^ "Tetraboyning LOLKOD-tahlilchisi". Tetraboy.com. Arxivlandi asl nusxasi 2009-02-27 da. Olingan 2009-06-09.
  11. ^ ""Eng yaxshi veb-til: LOLKOD "Slaydlar". Slideshare.net. Olingan 2009-06-09.
  12. ^ "PHP ishlari". mtacon.com. Olingan 4 noyabr 2014.
  13. ^ LOLCODE .NET kompilyatori Google kodida
  14. ^ TechEd Day 2: Microsoft LOLCode-ni qo'llab-quvvatlashini e'lon qiladi, Long Zheng
  15. ^ Keyingi Visual Studio-da LOL kodi? Yosh va kulgili mushuklar uchun, NetworkWorld.com
  16. ^ "TechEd 2007 ko'rgazmasida LOLCODE taqdimotining videosi". Blip.tv. 2007-08-17. Arxivlandi asl nusxasi 2009-02-05 da. Olingan 2009-06-09.
  17. ^ PL / LOLKOD, pgFoundry
  18. ^ Chuqur DLR, Jon Lam va Martin Maly
  19. ^ "Java-da yozilgan lolcode grammatika tarjimoni".
  20. ^ "LolCode". Fullvolume.co.uk. Olingan 2009-06-09.
  21. ^ "Yildirim-to'tiqush". lolcode.com. Arxivlandi asl nusxasi 2009-03-22. Olingan 2009-06-20.
  22. ^ "LoLCode 1337".
  23. ^ "LOLCODE bilan parallel va taqsimlangan hisoblash".
  24. ^ "LOLPython". Dalkescientific.com. 2007-06-01. Olingan 2009-06-09.
  25. ^ https://lhartikk.github.io/ArnoldC/

Tashqi havolalar