زبان برنامه‌نویسی سطح بالا: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
اضافه کردن قسمتی که در متن اصلی انگلیسی وجود دارد .
برچسب‌ها: جمع عربی واژگان فارسی ویرایشگر دیداری
خط ۱۴:
 
== مدل‌های اجرا ==
سه روش عمومی برای اجرای برنامه های مدرن زبانهای سطح بالا وجود دارد :
'''تفسیر'''
 
:زبان‌های تفسیر شده مستقیماً خوانده و اجرا می‌گردند بدون مرحله ترجمه.
=== '''تفسیر شده''' ===
'''کامپایل شونده'''
:وقتی کد برنامه نوشته شده در زبان برنامه نویسی تفسیر می شود ، سطر به سطر آن خوانده شده و مستقیما بدون مرحله ترجمه کامل برنامه ، اجرا می گردد ، برنامه ای که مفسر نام دارد هر عبارت از برنامه را می خواند ، جریان برنامه را دنبال می کند ، سپس تصمیم می گیرد که چه کاری انجام بدهد و سپس همان کار را انجام می دهد. ترکیبی از یک مفسر و یک مترجم هر عبارت را به زبان ماشین برمی گرداند و آن را اجرا می کند ؛ کد ماشین به دست آمده بعد از اجرا دور انداخته می شود و اگر نیازی به اجرای دوباره همان عبارت باشد ، این کار از نو انجام خواهد شد. در مقایسه با دو روش بعدی مفسر ها ساده ترین رفتار را برای اجرای برنامه دارند .
:زبان‌های ترجمه شده ابتدا به فایل قابل اجرا تبدیل می‌شوند سپس اجرا می‌گردند دو نوع از این زبان‌ها وجود دارد:
 
:: '''نمایش میانی'''
=== '''ترجمه شوندهشده''' ===
::: در این زبان‌ها برنامه به یک نمایش میانی تبدیل شده و در ادامه می‌توان آن را [[بهینه‌سازی]] نمود یا ذخیره گردد بدون نیاز به خواندن مجدد فایل مبدا. نمایش میانی معمولاً به صورت [[بایت‌کد]] است.
:وقتی که کد نوشته شده با یک زبان برنامه نویسی ترجمه می شود ، همه دستورات قبل از اجرا تبدیل به فرم قابل اجرا ، می شوند . دو نوع ترجمه وجود دارد:
:: '''تولید کد ماشین'''
::: بعضی از مترجم ها کد مبدا را مستقیما به زبان ماشین ترجمه می کنند . این حالت روش اصلی ترجمه برنامه ها است و زبانهایی که به این شکل مستقیما به کد ماشین تبدیل می شوند را می توان "زبانهای با ترجمه واقعی" نامید. [[زبان اسمبلی]] را ببینید. '''نمایش میانی'''
::: بعضی زبان‌ها مستقیماً به زبان ماشین تبدیل می‌گردند. ماشین‌های مجازی که نمایش میانی را دریافت کرده و آن را اجرا می‌نمایند مرز میان زبان‌های ترجمه شونده و نمایش میانی را که سابقاً مشخص بوده‌اند مبهم نموده‌است.
::: زمانی که کد نوشته شده در یک زبان برنامه نویسی به یک شکل میانه ترجمه شود بطوری که بتوان بدون نیاز به استفاده مجدد از کد مبدا این کد میانه را بهبود داد یا برای اجرای بعدی ذخیره کرد ، یک نمایش میانی ساخته شده است. وقتی این کد میانه ذخیره شود ، ممکن است شکل [[بایت‌کد|بایت کد]] به خود بگیرد. در این حالت فرم میانه ذخیره شده باید توسط یک مفسر ، تفسیر شود یا برای اجرا بعدی توسط یک مترجم ترجمه شود. [[ماشین مجازی|ماشینهای مجازی]] که می توانند این کدهای میانه را به شکل مستقیم اجرا کنند یا آنها را برای استفاده بعدی به کد ماشین تبدیل کنند ، باعث شده اند مرز مشخصی بین زبانهای با ترجمه واقعی و ترجمه میانی وجود نداشته باشد.
'''ترجمه شونده'''
 
زبان‌های سطح بالا ممکن است به یک زبان سطح پایین ترجمه گردند که معمولاً زبان هدف سی می‌باشد
=== ترجمه کد به کد یا بین زبانی ===
کدهای نوشته شده در یک زبان ممکن است به کدهای زبان برنامه نویسی سطح پائین تری ترجمه شوند ، به این علت که مترجمهای خاص آن زبان بیشتر در دسترس هستند. [[جاوااسکریپت|جاوا اسکریپت]] و [[سی (زبان برنامه‌نویسی)|زبان برنامه نویسی سی]] اهداف مشترکی برای چنین ترجمه هایی هستند ، به عنوان مثال به زبانهای [[کافی‌اسکریپت|کافی اسکریپت]] ، [[چیکن]] یا [[ایفل (زبان برنامه‌نویسی)|ایفل]] را ببینید.
 
== جستارهای وابسته ==