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

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