Jump to content

Майкрософт Феникс

(Перенаправлено из Phoenix (фреймворк компилятора) )

Microsoft Phoenix — это пакет SDK, доступный в Microsoft Connect для создания компиляторов, оптимизации кода и выполнения анализа кода. Microsoft описала это в прошедшем времени 1 июля 2008 г. [ 1 ]

Исходное описание

[ редактировать ]

[Он должен был использоваться в качестве серверной части для будущих технологий компилятора от Microsoft . [ 8 ] Он [был] также доступен в виде SDK , предварительная сборка которого стала доступной, для создания компиляторов и инструментов анализа кода с использованием платформы Phoenix.

Microsoft Phoenix определяет промежуточное представление (IR) для программ, используя AST , графы потока управления и модель обработки исключений. Чтобы любая программа могла обрабатываться Phoenix, ее необходимо преобразовать в это представление. спецификации этих конвертеров для конкретных типов файлов, которые в терминологии Phoenix называются устройствами чтения файлов Также указаны . В комплект поставки Phoenix входят программы чтения двоичных файлов Portable Executable , CIL и выходные данные интерфейса C++ . Visual [ 9 ] Программы чтения для других языков можно написать с использованием Phoenix SDK, хотя отдельные инструменты, такие как lex и yacc необходимо использовать для написания лексера и парсера соответственно.

После преобразования программы в IR инструменты анализа и оптимизации могут работать в этой форме. Phoenix включает в себя набор инструментов, включая подсчет блоков, анализ памяти, покрытие кода , анализ кода и оптимизацию . [ 10 ] Phoenix SDK также можно использовать для написания и подключения других инструментов. Генерация кода зависящих от архитектуры (физической архитектуры процессора или архитектуры виртуальной машины ) осуществляется с помощью средств записи файлов, . Феникс предоставляет c2.dll серверная часть компилятора, которая используется совместно с Visual C++, для выполнения анализа, оптимизации и генерации кода для архитектуры x86 . Писатели для других архитектур должны предоставляться отдельно.

Благодаря модульной архитектуре любой компонент можно заменить, не затрагивая остальную часть системы. Например, чтобы настроить компилятор на другую архитектуру, необходимо изменить только средство записи файлов, специфичное для этой архитектуры, оставив остальную часть стека неизменной. Чтобы создать компилятор для нового языка, необходимо предоставить только программы чтения.

Производство

[ редактировать ]

Компонент Phoenix (phx.dll) используется для некоторых статических анализов ( FxCop ) в Visual Studio 2010. [ 11 ] (Сам компилятор Phoenix, который необходим для работы большинства инструментов, не входит в состав Visual Studio.)

См. также

[ редактировать ]
  1. ^ «Microsoft Phoenix SDK (01 июля 2008 г.)» .
  2. ^ «Академическая программа Феникс» . Архивировано из оригинала 13 декабря 2007 года . Проверено 16 ноября 2007 г.
  3. ^ Сафонов, Владимир О. (2010). «Microsoft Phoenix, инструменты, ориентированные на Phoenix, и наши проекты Phoenix» . Надежные компиляторы . Хобокен, Нью-Джерси: John Wiley & Sons. стр. 239–276. ISBN  9780470593349 . Проверено 8 мая 2019 г.
  4. ^ Тайрас, Роберт; Грей, Джефф (10 марта 2006 г.). «Обнаружение клонов на основе Phoenix с использованием суффиксных деревьев» (PDF) . Материалы 44-й ежегодной Юго-восточной региональной конференции . Ассоциация вычислительной техники: 679–684 . Проверено 8 мая 2019 г.
  5. ^ Сафонов Владимир; Грачев Михаил; Григорьев Дмитрий; Масленников, Александр (29 мая – 1 июня 2006 г.). «Aspect.NET — аспектно-ориентированный набор инструментов для Microsoft.NET на основе Phoenix и Whidbey» (PDF) . .NET-технологии 2006 . Западночешский университет: 19–30 . Проверено 8 мая 2019 г.
  6. ^ Уенг, Сайн-Зи; Латара, Мелвин; Багсорхи, Сара С.; Хву, Вэнь-мэй В. «CUDA-Lite: снижение сложности программирования на графическом процессоре» . Языки и компиляторы для параллельных вычислений . Университет Иллинойса в Урбана-Шампейн: Спрингер: 1–15 . Проверено 8 мая 2019 г.
  7. ^ Кастро, Мигель; Коста, Мануэль; Харрис, Тим (6 ноября 2006 г.). «Защита программного обеспечения путем обеспечения целостности потока данных» (PDF) . Материалы 7-го симпозиума по проектированию и внедрению операционных систем . Ассоциация USENIX: 147–160 . Проверено 8 мая 2019 г.
  8. ^ [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ]
  9. ^ «Бэкэнд компилятора Phoenix» . Архивировано из оригинала 26 декабря 2010 года . Проверено 16 ноября 2007 г.
  10. ^ «Инструменты на базе Phoenix» . Архивировано из оригинала 26 декабря 2010 года . Проверено 16 ноября 2007 г.
  11. ^ «Первый углубленный анализ кода VS 2010 Beta 2» . Архивировано из оригинала 6 января 2010 года . Проверено 30 марта 2010 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5cf4161b2cdda3f9c3f551d80dafe05a__1636849620
URL1:https://arc.ask3.ru/arc/aa/5c/5a/5cf4161b2cdda3f9c3f551d80dafe05a.html
Заголовок, (Title) документа по адресу, URL1:
Microsoft Phoenix - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)