Kengaytiriladigan ichki til - Extensible Embeddable Language

ILONBALIQ
ParadigmaKo'p paradigma: stsenariy, majburiy, funktsional, ob'ektga yo'naltirilgan
LoyihalashtirilganDevid Olofson
Birinchi paydo bo'ldi2005; 15 yil oldin (2005)
Barqaror chiqish
0.3.6 / 2014 yil 4-fevral; 6 yil oldin (2014-02-04)
Matnni yozishDinamik
OSO'zaro faoliyat platforma
LitsenziyaGNU Lesser General Public License
Fayl nomi kengaytmalariIlonbaliq
Veb-saytIlonbaliq.olofson.net
Ta'sirlangan
Lua, C, Paskal

The Kengaytiriladigan ichki til (ILONBALIQ) - bu Devid Olofson tomonidan ishlab chiqilgan skript va dasturlash tili. EEL uchun mo'ljallangan stsenariy yilda real vaqt tizimlari musiqiy sintezatorlar va sanoatni boshqarish tizimlari kabi kHz diapazonidagi tsikl tezligi bilan, shuningdek mustaqil platforma umumiy maqsad dasturlash tili.

Falsafa

Til dizayniga kelsak, umumiy g'oya kuch, foydalanish qulayligi va xavfsizlik o'rtasida amaliy muvozanatni o'rnatishdir. Maqsad, haddan tashqari so'zli sintaksisga yoki cheklangan funksiyalarga murojaat qilmasdan dasturlashning ko'plab xatolaridan qochishga yordam berishdir.

Tarix

EELning birinchi mujassamlanishi ovozli dvigatelda ishlatiladigan tuzilgan audio ta'riflar uchun oddiy tahlilchi shaklida bo'lgan. Bepul va ochiq manba o'yin Kobo Deluxe, an SDL porti X11 o'yin XKobo. Bu juda cheklangan oqim boshqaruvi bilan sodda tarjimon va hozirgi versiyalarnikidan ancha farq qiladigan sintaksis edi. EELning ushbu boshlang'ich filiali birinchi marta 2002 yilda chiqarilgan va 0.5.1 versiyasidan boshlab Kobo Deluxe-da hali ham ishlatilmoqda.

2003 yil dekabr oyida EEL yakka tartibdagi loyihaga bo'lindi va real vaqtda skript yozish uchun foydalanish uchun katta qayta yozishga majbur bo'ldi. ko'milgan reologiya dastur. Bu erda o'tish tugmasi tarjimon ga kompilyator /VM amalga oshirildi va haqiqiy EEL dasturlash tili amalga oshirildi. Birinchi rasmiy nashr 2005 yil yanvar oyida bo'lib o'tdi. O'shandan beri EEL asta-sekin rivojlanib bordi, asosan muallifning shaxsiy va kasbiy ehtiyojlari bilan ta'minlandi.

Xususiyatlari

Umumiy

Til aniq biron bir narsa uchun mo'ljallangan emas dasturlash paradigmasi, lekin qo'llab-quvvatlaydi ob'ektga yo'naltirilgan dasturlash, yoki aniqrog'i, prototipga asoslangan dasturlash, minimal to'plam orqali sintaksis shakar Xususiyatlari. Kabi boshqa paradigmalar funktsional, modulli va metaprogramma ham qo'llab-quvvatlanadi.

Qochish natijasida ko'rsatgichlar va to'liq boshqariladigan tuzilgan ma'lumotlar turlarini ta'minlaydigan EEL, "xavfsiz", chunki EEL dasturlari virtual mashinani yoki xost dasturini ishdan chiqarishi mumkin emas.

Asosiy voqealar

Namuna kodi

Klassik salom dunyo dasturi quyidagicha yozilishi mumkin:

eksport funktsiyasi asosiy {    chop etish ("Salom, dunyo!"); qaytish 0;}

Quyida a ga misol keltirilgan rekursiv funktsiyasi:

eksport funktsiyasi asosiy {    chop etish ("Rekursiya testi 1:"); protsedura recurse (arg) {        chop etish ("arg =", arg, ""); agar arg recurse (arg - 1); }        takrorlash (10); chop etish ("Rekursiya testi 2; O'zaro rekursiya:"); protsedura mrecurse2 (arg); protsedura mrecurse1 (arg) {        chop etish ("arg =", arg, ""); agar arg mrecurse2 (arg); }        protsedura mrecurse2 (arg) {        mrecurse1 (arg - 1); }; mrecurse1 (10); chop etish ("Rekursiya testi 2; Funksiyalarga oid o'zaro rekursiya:"); protsedura mrrecurse1 (arg, fn) {        chop etish ("arg =", arg, ""); agar arg fn (arg, fn); }        mahalliy mrr2 = protsedura (arg, fn) {        mrrecurse1 (arg - 1, fn); }; mrrecurse1 (10, mrr2); chop etish (Rekursiya testlari o'tkazildi.); qaytish 0;}

Ichki

EEL manba kodi kompilyatsiya qilingan bayt kodi odat uchun VM buyruqlar sonini minimallashtirish uchun mo'ljallangan va shu sababli qo'shimcha xarajatlar nisbatan yuqori darajadagi ko'rsatmalar to'plamiga ega. EEL VM ro'yxatdan o'tishga asoslangan ga ishonmaslik kabi va "stackless" C chaqiruv to'plami VM kontekstlarini boshqarish uchun.

Xotirani boshqarishning asosiy usuli mos yozuvlarni hisoblashdir, bu esa axlatni bir vaqtning o'zida yig'ish kerak bo'lmasdan, aniqlangan vaqt bilan xotirani avtomatik boshqarish imkonini beradi.

VM iboralar va shunga o'xshash narsalar ichida yaratilgan oraliq moslamalarni kuzatib borish uchun "limbo listlar" dan foydalanadi, bu istisnolar bilan ishlashni ancha soddalashtiradi va har bir amalda mos yozuvlar sanash zaruratini yo'q qiladi.

Ilovalar

Kobo Deluxe

Kobo Deluxe - bu EEL dasturidir.[1]

Adabiyotlar

  1. ^ 2013 yilning eng yaxshisi: 31 yil - Commodore 64 da mustaqil o'yin Jeyms Monkman tomonidan indiegames.com saytida (2013 yil 20-dekabr)

Tashqi havolalar