فریم‌ورک رز (به انگلیسی :ROSE(compiler framework)) یک مترجم متن‌باز برای ترجمه زبان‌های برنامه‌نویسی می‌باشد که برای اولین بار در آزمایش‌گاه Lawrence Livermore National Laboratory ایجاد شد. این مترجم توانایی ترجمه زبان‌هایی چون C, C++, JAVA, OpenMP, PHP, Python, Fortran را دارد، همچنین یک ابزار برای آنالیز و بررسی زبان نوشته شده نیز می‌باشد.

فریم‌ورک رز
نویسنده(های)
اصلی
Daniel J. Quinlan, Chunhua (Leo) Liao, Justin Too, Robb P. Matzke, Markus Schordan, et al.
توسعه‌دهنده(ها)آزمایشگاه ملی لارنس لیورمور
انتشار آزمایشی
0.9.6a
۱۶ مارس ۲۰۱۶؛ ۸ سال پیش (۲۰۱۶-16}})
نوشته‌شده باسی پلاس‌پلاس
سیستم‌عامللینوکس، مک‌اواس
بن‌سازه رایانشآی‌ای-۳۲، X86-64
در دسترس بهEnglish
گونهکامپایلر
پروانهپروانه‌های بی‌اس‌دی modified
وبگاه

مقدمه ویرایش

رز به عنوان یک مترجم متن‌باز برای ترجمه مستقیم زبان‌های برنامه‌نویسی و همچنین یک ابزار تحلیل و بررسی زبان‌هایی چون 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 به ۱۰۰ پروژه تحقیق و توسعه برتر سال داده می‌شود.

منابع ویرایش