Meta-dumaloq baholovchi - Meta-circular evaluator

Yilda hisoblash, a meta-dairesel baholovchi (MCE) yoki meta-dairesel tarjimon (MCh) an tarjimon tarjimon tilining har bir xususiyatini tarjimon mezbon tilining o'xshash imkoniyatlaridan foydalangan holda belgilaydi. Masalan, lambda dasturini talqin qilish funktsiya dasturi yordamida amalga oshirilishi mumkin.[1] Meta-dumaloq baholash kontekstida eng ko'zga ko'ringan Lisp.[1] A o'z-o'zini tarjimon talqin qilingan til xost tiliga deyarli o'xshash bo'lgan meta-doirali tarjimon; ikki atama ko'pincha sinonim sifatida ishlatiladi.[2]

Tarix

Dissertatsiyasi Corrado Böhm[3] a dizaynini tavsiflaydi o'z-o'zini hosting kompilyator.[4] Tuzish qiyinligi sababli yuqori darajadagi funktsiyalar Buning o'rniga ko'plab tillar tarjimonlar orqali aniqlandi, eng ko'zga ko'ringanlari Lisp.[1][5] Bu atamani o'zi yaratgan Jon C. Reynolds,[1] va kitobda foydalanish orqali ommalashgan Kompyuter dasturlarining tuzilishi va talqini.[2][6]

O'z-o'zini tarjimonlar

O'z-o'zini tarjimon - bu meta-dumaloq tarjimon, bu erda xost tili ham talqin qilinadigan til hisoblanadi.[7] O'z-o'zini tarjimon a ko'rsatib beradi universal funktsiya til uchun va tilning ba'zi jihatlarini o'rganishda foydali bo'lishi mumkin.[8] O'z-o'zini tarjimon dairesel beradi, bo'sh aksariyat til konstruktsiyalarining ta'rifi va shu bilan, masalan, talqin qilinadigan tilning semantikasi haqida ozgina ma'lumot beradi baholash strategiyasi. Ushbu muammolarni hal qilishda "ta'riflovchi tarjimon" tushunchasi paydo bo'ladi.[1]

Foydalanadi

Mavjud tilni tatbiq etish bilan birgalikda meta-dairesel tarjimonlar tilni kengaytiradigan bazaviy tizimni taqdim etadi, undan tilni yuqoriga qarab, ko'proq xususiyatlarni qo'shish orqali yoki ularni talqin qilish o'rniga xususiyatlarni kompilyatsiya qilish orqali pastga yo'naltiradi.[9] Ular, shuningdek, dasturlash tili bilan chambarchas bog'langan, masalan, zamonaviy disk raskadrovka vositalarini yozish uchun foydalidir.[iqtibos kerak ] Meta-dairesel dasturni hisobga olgan holda ishlab chiqilgan til odatda tillarni qurish uchun ko'proq mos keladi, hattoki qabul qiluvchi tildan umuman farq qiladi.[iqtibos kerak ]

Misollar

Ko'pgina tillarda bir yoki bir nechta meta-doiraviy dastur mavjud. Quyida qisman ro'yxat keltirilgan.

Guruhlangan xronologik tartibda pastdan yuqoriga mo'ljallangan meta-doiraviy dasturga ega ba'zi tillar:

Uchinchi shaxslar tomonidan meta-doirali dasturga ega bo'lgan ba'zi tillar:

Shuningdek qarang

Adabiyotlar

  1. ^ a b v d e Reynolds, Jon S (1972 yil avgust). "Yuqori darajadagi dasturlash tillari uchun aniq tarjimonlar" (PDF). Yuqori darajali va ramziy hisoblash. 11 (4): 363–397. doi:10.1023 / A: 1010027404223. Olingan 14 aprel 2017.
  2. ^ a b "Metacircular Evaluator". Kompyuter dasturlarining tuzilishi va talqini. MIT.
  3. ^ C. Böhm, Calculatrices digitales. Du déchiffrage des formules logico-mathématiques par la machine même dans la Conception du dasturi, Ann. Mat Pura Appl. (4) 37 (1954) 1-51
  4. ^ Knut, Donald E.; Pardo, Luis Trabb (1976 yil avgust). Dasturlash tillarining dastlabki rivojlanishi. p. 36.
  5. ^ Makkarti, Jon (1961). "Umumjahon LISP funktsiyasi" (PDF). Lisp 1.5 dasturchilar uchun qo'llanma. p. 10.
  6. ^ Xarvi, Brayan. "Nima uchun kompyuter dasturlarining tuzilishi va talqini muhim". odamlar.eecs.berkeley.edu. Olingan 14 aprel 2017.
  7. ^ Braithwaite, Reginald (2006-11-22). "Meta-doiraviy tarjimonning ahamiyati". Olingan 2011-01-22.
  8. ^ Reynolds, Jon C. (1998). "Belgilangan tarjimonlar qayta ko'rib chiqildi" (PDF). Yuqori darajali va ramziy hisoblash. 11 (4): 356–7. doi:10.1023 / A: 1010075320153. Olingan 14 aprel 2017.
  9. ^ Oriol, Manuel; Meyer, Bertran (2009-06-29). Ob'ektlar, komponentlar, modellar va naqshlar: 47-Xalqaro konferentsiya, TOOLS EUROPE 2009, Tsyurix, Shveytsariya, 2009 yil 29 iyun - 3 iyul, Ish yuritish.. Springer Science & Business Media. p. 330. ISBN  9783642025716. Olingan 14 aprel 2017.
  10. ^ Pico dasturlash tilini meta-doiraviy amalga oshirish

Tashqi havolalar