Microsoft Feniks - Microsoft Phoenix

Microsoft Feniks, da ishlab chiqilmoqda Microsoft tadqiqotlari, rivojlanish uchun asosdir kompilyatorlar shuningdek, dasturni tahlil qilish, sinovdan o'tkazish va optimallashtirish vositalari, dan kelajakdagi kompilyator texnologiyalarining orqa tomoni sifatida foydalanish Microsoft.[7] Bundan tashqari, an sifatida mavjud SDK, Feniks ramkasidan foydalangan holda kompilyatorlar va kodlarni tahlil qilish vositalarini yaratish uchun oldindan tayyorlangan versiyasi mavjud bo'lgan.

Umumiy nuqtai

Microsoft Feniks an oraliq vakillik (IQ) dasturlardan foydalanish ASTlar, oqim grafiklarini boshqarish va istisno bilan ishlash modeli. Feniks tomonidan boshqariladigan har qanday dastur uchun uni ushbu vakolatxonaga o'tkazish kerak. Ushbu fayl turiga xos konvertorlar uchun spetsifikatsiya, deyiladi fayllarni o'qiydiganlar Feniks terminologiyasida ham ko'rsatilgan. Feniks o'quvchilar bilan birga keladi Portativ bajariladigan ikkilik fayllar, CIL va chiqishi Visual C ++ foydalanuvchi interfeysi.[8] Boshqa tillar uchun o'quvchilarni Feniks SDK yordamida yozish mumkin, ammo bu kabi alohida vositalar leks va yakk yozish uchun foydalanish kerak lexer va tahlilchi navbati bilan.

Dastur IQga o'tkazilgandan so'ng, tahlil va optimallashtirish vositalari ushbu shaklda ishlashi mumkin. Feniksga vositalar to'plami kiradi, jumladan bloklarni hisoblash, xotirani tahlil qilish, kodni qamrab olish, kod tahlili va optimallashtirish.[9] Feniks SDK-dan boshqa vositalarni yozish va qo'shish uchun foydalanish mumkin. Kod yaratish arxitekturaga xos (protsessorning jismoniy arxitekturasi yoki a.) bilan ta'minlanadi virtual mashina arxitektura) fayl mualliflari. Feniks c2.dll compiler backend, u Visual C ++ bilan baham ko'radi, tahlil qilish, optimallashtirish va kod yaratish uchun ishlaydi x86 me'morchilik. Boshqa me'morchilik uchun yozuvchilar alohida taqdim etilishi kerak.

Modulli arxitektura natijasida har qanday komponentni tizimning qolgan qismiga ta'sir qilmasdan almashtirish mumkin. Masalan, kompilyatorni boshqa arxitekturaga yo'naltirish uchun faqat arxitekturaga xos fayl yozuvchisini o'zgartirish kerak, bu holda stekning qolgan qismi o'zgarishsiz qoladi. Yangi til uchun kompilyator yaratish uchun faqat o'quvchilarni ta'minlash kerak.

Mahsulotlashtirish

Feniks komponenti (phx.dll) statik tahlillarning bir qismi uchun ishlatiladi (FxCop ) Visual Studio 2010 da.[10] (Feniks kompilyatorining o'zi, bu ko'pgina asboblarni kiritish uchun talab qilinadi, Visual Studio-ga qo'shilmagan.)

Shuningdek qarang

Adabiyotlar

  1. ^ "Feniks akademik dasturi". Arxivlandi asl nusxasi 2007 yil 13 dekabrda. Olingan 16-noyabr, 2007.
  2. ^ Safonov, Vladimir O. (2010). "Microsoft Feniks, Feniksga mo'ljallangan vositalar va bizning Feniks loyihalarimiz". Ishonchli kompilyatorlar. Xoboken, Nyu-Jersi: John Wiley & Sons. 239–276 betlar. ISBN  9780470593349. Olingan 8 may, 2019.
  3. ^ Tairas, Robert; Grey, Jeff (2006 yil 10 mart). "Qo'shimcha daraxtlar yordamida Feniks asosida klonni aniqlash" (PDF). 44-yillik sharqiy mintaqaviy konferentsiya materiallari. Hisoblash texnikasi assotsiatsiyasi: 679-684. Olingan 8 may, 2019.
  4. ^ Safonov, Vladimir; Gratchev, Mixail; Grigoryev, Dmitriy; Maslennikov, Aleksandr (2006 yil 29 may - 1 iyun). "Aspect.NET - Feniks va Uidbey asosida Microsoft.NET uchun aspektga yo'naltirilgan vositalar to'plami" (PDF). .NET Technologies 2006 yil. G'arbiy Bohemiya universiteti: 19-30. Olingan 8 may, 2019.
  5. ^ Ueng, Seyn-Zi; Lathara, Melvin; Baghsorhi, Sara S.; Xu, Ven-May Vy. "CUDA-Lite: GPU dasturlash murakkabligini kamaytirish". Parallel hisoblash uchun tillar va kompilyatorlar. Urbana-Shampan shahridagi Illinoys universiteti: Springer: 1-15. Olingan 8 may, 2019.
  6. ^ Kastro, Migel; Kosta, Manuel; Harris, Tim (2006 yil 6-noyabr). "Ma'lumotlar oqimining yaxlitligini ta'minlash orqali dasturiy ta'minotni xavfsizligini ta'minlash" (PDF). Operatsion tizimlarni loyihalash va tatbiq etish bo'yicha 7-simpozium materiallari. USENIX assotsiatsiyasi: 147-160. Olingan 8 may, 2019.
  7. ^ [1][2][3][4][5][6]
  8. ^ "Feniks kompilyatori orqa tomoni". Arxivlandi asl nusxasi 2010 yil 26 dekabrda. Olingan 16-noyabr, 2007.
  9. ^ "Feniksga asoslangan vositalar". Arxivlandi asl nusxasi 2010 yil 26 dekabrda. Olingan 16-noyabr, 2007.
  10. ^ "VS 2010 Beta 2 kodini tahlil qilish bo'yicha chuqur tahlil birinchi qarash". Arxivlandi asl nusxasi 2010 yil 6-yanvarda. Olingan 30 mart, 2010.

Tashqi havolalar