ROSE (kompilyator doirasi) - ROSE (compiler framework)

ROSE
Asl muallif (lar)Daniel J. Kvinlan, Chunxua (Leo) Liao, Robb P. Matzke, Markus Shordan va boshq.
Tuzuvchi (lar)Lourens Livermor milliy laboratoriyasi
Barqaror chiqish
0.9.13.0 / 15-dekabr, 2019 yil; 11 oy oldin (2019-12-15)
Ko'rib chiqish versiyasi
0.9.6a / 16 mart 2016 yil; 4 yil oldin (2016-03-16)
YozilganC ++
Operatsion tizimLinux, OS X
PlatformaIA-32, x86-64
Mavjud:Ingliz tili
TuriTuzuvchi
LitsenziyaBSD o'zgartirilgan
Veb-saytrozetkompilyator.org

The ROSE kompilyator doirasi, da ishlab chiqilgan Lourens Livermor milliy laboratoriyasi (LLNL), bu ochiq manbali dasturiy ta'minot kompilyator yaratish uchun infratuzilma manbadan manbaga analizatorlar va tarjimonlar bir nechta manba tillari uchun, shu jumladan C (C89, C98, Birlashtirilgan parallel C (UPC)), C ++ (C ++ 98, C ++ 11), Fortran (77, 95, 2003), OpenMP, Java, Python va PHP.

Bundan tashqari, ba'zi bir ikkilik fayllarni qo'llab-quvvatlaydi va avtomatik parallellashtirish OpenMP direktivalari bilan izohlangan manba kodini yaratish orqali kompilyatorlar. Boshqa tadqiqot kompilyatorlaridan farqli o'laroq, ROSE mutaxassis bo'lmaganlarga kompilyator texnologiyalaridan foydalanib, o'zlarining maxsus dasturiy ta'minot analizatorlari va optimallashchilarini yaratishga imkon beradi.

Infratuzilma

ROSE o'zining ichki qismida ishlaydigan bir nechta oldingi qismlardan iborat oraliq vakillik (IQ) va IQ-dan qayta tiklanadigan (taqsimlanmagan) manba kodining orqa tomonlari. Ixtiyoriy ravishda, sotuvchi kompilyatorlari taqsimlanmagan manba kodini yakuniy bajariladigan fayllarga kompilyatsiya qilish uchun ishlatilishi mumkin.

C va C ++ dasturlarini tahlil qilish uchun ROSE Edison Design Group-ning C ++ oldingi qismidan foydalanadi.[1][2] Fortranni qo'llab-quvvatlash, shu jumladan F2003 va undan oldingi 1977, 1990 va 1995 yilgi versiyalar, ishlab chiqilgan Open Fortran Parser (OFP) ga asoslangan. Los Alamos milliy laboratoriyasi.[3]

ROSE IR an mavhum sintaksis daraxti, belgilar jadvallari, boshqaruv oqimining grafigi va boshqalar. Bu an ob'ektga yo'naltirilgan Manbadan manbaga tarjimonlarni tezda yaratish uchun bir necha darajadagi interfeyslarga ega IR. Kiritilgan manba kodidagi barcha ma'lumotlar ROSE IR-da ehtiyotkorlik bilan saqlanadi, shu jumladan C oldingi protsessorni boshqarish strukturasi, manba izohlari, manba pozitsiyasi haqida ma'lumot va C ++ shabloni ma'lumotlar, masalan, shablon argumentlari.

ROSE a ostida chiqariladi BSD uslubidagi litsenziya. Bu maqsadlar Linux va OS X ikkalasida ham IA-32 va x86-64 platformalar. Uning Edison Design Group (EDG) qismlari mulkiy va ikkilik shaklda tarqatiladi. Agar foydalanuvchilar EDG kompaniyasining tijorat yoki tadqiqot litsenziyasiga ega bo'lsa, EDG qismlarining manba fayllarini olish mumkin.

Mukofot

ROSE kompilyatori infratuzilmasi 2009 yil R&D 100 mukofotlaridan birini oldi.[4] R&D 100 mukofotlari har yili tomonidan taqdim etiladi Ar-ge jurnali 100 ta eng muhim isbotlanganlarni tan olish tadqiqot va rivojlantirish o'tgan yil davomida kiritilgan avanslar. Mustaqil ekspertlar guruhi g'oliblarni aniqlaydi.

Shuningdek qarang

Adabiyotlar

  1. ^ "Edison Design Group-ning oldingi qismi C ++". Edg.com.
  2. ^ Arxivlandi 2008-12-24 da Orqaga qaytish mashinasi
  3. ^ "Ochiq Fortran Parser (OFP)". Fortran-parser.sourceforge.net.
  4. ^ "Bepul kompilyator yangi boshlanuvchilarga, mutaxassislarga yordam beradi". Ar-ge jurnali. Advantage Business Media. 2009 yil 30-iyul. Olingan 18 mart 2016.

Tashqi havolalar