فریم‌ورک رز

فریم‌ورک رز (به انگلیسی :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. Quinlan
 Dr. Chunhua (Leo) Liaoبندانگشتی|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

رده:آزمایشگاه ملی لارنس لیورمور
رده:کامپایلرها
رده:کامپایلرها و مفسرهای آزاد
رده:کامپایلرهای سی++
رده:کامپایلرهای سی
رده:کامپایلرهای فورترن
رده:کامپایلرهای کد منبع به کد منبع
رده:نرم‌افزارهایی که از پروانه بی‌اس‌دی استفاده می‌کنند
رده:ویکی‌سازی رباتیک