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

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