فریمورک رز
نویسنده(های) اصلی | Daniel J. Quinlan, Chunhua (Leo) Liao, Justin Too, Robb P. Matzke, Markus Schordan, et al. |
---|---|
توسعهدهنده(ها) | آزمایشگاه ملی لارنس لیورمور |
انتشار آزمایشی | 0.9.6a
/ ۱۶ مارس ۲۰۱۶ |
نوشتهشده با | سی پلاسپلاس |
سیستمعامل | لینوکس، مکاواس |
پلتفرم | آیای-۳۲، X86-64 |
در دسترس به | English |
نوع | کامپایلر |
مجوز | پروانههای بیاسدی modified |
وبگاه |
فریمورک رز (به انگلیسی :ROSE(compiler framework)) یک مترجم متنباز برای ترجمه زبانهای برنامهنویسی میباشد که برای اولین بار در آزمایشگاه Lawrence Livermore National Laboratory ایجاد شد. این مترجم توانایی ترجمه زبانهایی چون C, C++, JAVA, OpenMP, PHP, Python, Fortran را دارد، همچنین یک ابزار برای آنالیز و بررسی زبان نوشته شده نیز میباشد.
مقدمه
[ویرایش]رز به عنوان یک مترجم متنباز برای ترجمه مستقیم زبانهای برنامهنویسی و همچنین یک ابزار تحلیل و بررسی زبانهایی چون Fortran 77/95/2003, C, C++, OpenMP, UPC در مقیاس بزرگ میباشد. متنبازبودن این مترجم باعث میشود که هر کاربر استفادهکننده از رز که حتی دانش اندکی در زمینه مترجمها دارد بتواند به عنوان یک محقق در زمینه پروژه رز عمل کند و بتواند تغییرات خود را روی آن اعمال کند و در اختیار سایرین قرار دهد. رز یک ساختار مناسبی برای ساخت و تغییر یک بستر برای تحلیلهای غیرپویا، بهینهسازی برنامهها، بهینهسازی دورهای موجود در برنامهها، تحلیل بهرهوری و امنیت اینترنتی ایجاد میکند. همانند سایر مترجمها، رز از یک معماری سه لایه رویی، میانی و پسزمینه بهره میبرد که لایه پسزمینه برنامه ترجمه شده را ایجاد میکند.
رز برای ترجمه و تحلیل از مولد میانی(Intermediate Representation) بهره میبرد تا یک درخت محتوای انتزاعی (AST) را تولید کند که بسیار مناسب برای ترجمه مستقیم میباشد.
تولیدکنندگان
[ویرایش]اعضای اجرایی
[ویرایش]- Dr. Daniel J. Quinlan
- Dr. Chunhua (Leo) Liao
- Justin Too
- Robb P. Matzke
- Markus Schordan
محقق دوره پسادکترا
[ویرایش]- Pei-Hung Lin
اعضای اجرایی پیشین
[ویرایش]- Thomas Panas
محقق پیشین دوره پسادکترا
[ویرایش]- Peter Pirkelbauer
- Jeremiah Willcock
- Chunhua (Leo) Liao
- Thomas Panas
- Rich Vuduc
- Qing Yi
- Markus Schordan
اهداف
[ویرایش]بنا بر گفته سازندگان این فریمورک، هدف اصلی از ساخت رز این است که برنامهها را با معیارهای مرکز انرژی آمریکا بهینه کند. از دیگر اهداف رز میتوان موارد زیر را خلاصه کرد:
- یک کتابخانه باشد که سریع و راحت بتواند روشهای مترجمها را به برنامه شما اضافه کند.
- بهرهوری و کارایی برنامهها را افزایش دهد.
- یک پروژه متن باز باشد که یک حالت تحقیق همگانی داشته باشد تا بتوانید مترجمهای خود را به آن اضافه کنید و قابلیتهای جدید خود را در اختیار دیگران نیز قرار دهید.
بسترهای موردنیاز
[ویرایش]رز قابلیت کار روی سیستمعامل لینوکس و مک بر روی پلتفرمهای 32-I A و 64-x86 را دارد. اکثر توسعه دهندگان رز از محیط 7 Red Hat Enterprise Linux برای کار خود استفاده میکنند. برنامههای مورد نیاز برای اجرا و استفاده از رز نیاز به تعدادی برنامه از پیش نصب شده دارید که در زیر آورده شدهاست:
- gcc
- ++G
- gfortran برای پشتیبانی از فورترن
- boost library: 1.50 نسخه to 1.61
- Sun Java JDK، تنها اگر نیاز به پشتیبانی از جاوا و فورترن دارید نیاز است.
- GNU
- libtool:>=۱٫۵٫۶
- bison
- flex
- glibc-devel
- git
- libxml2-devel
- sqlite
- texlive-full، برای ساخت فایلهای لاتک
جوایز
[ویرایش]مترجم رز در سال ۲۰۰۹ یکی از برندگان ۱۰۰ پروژه تحقیق و توسعه بود. en:ROSE (compiler framework)#cite note-3 این جایزه توسط مجله R&D به ۱۰۰ پروژه تحقیق و توسعه برتر سال داده میشود.
منابع
[ویرایش]- ROSE compiler framework
- سایت اصلی مترجم رز
- ROSE Compiler Framework/Supported Programming Languages
- ROSE Compiler, Dan Quinlan
- ROSE Compiler Framework/Installation