مشاهده نسخه کامل : فرق کامپایلرها با مفسرها چیه؟؟
lvlj
یکشنبه 23 مهر 1385, 20:17
فرق کامپایلرها با مفسرها چیه؟؟
Lonely
یکشنبه 23 مهر 1385, 20:51
تفاوت مهم Compiler ها , Interpreter ها در ساختن کد ماشین است .
در حقیقت کامپایلر ها ابتدا سورس کد رو میخونند و سپس اون رو به کد ماشین تبدیل میکنند که البته این کد ماشین هنوز قابل اجرا نیست . سپس این کد به یک کد قابل اجرا تبدیل میشه .
در مورد مفسر ها (Interpreter) متفاوت است . اونها سورس کد رو میخونند و همون رو اجرا میکنند .بدون اینکه به ماشین کد ترجمه کنند .
به طور خلاصه در کامپایلر ها این ماشین کد هست که اجرا میشه ولی در مفسرها خود سورس کد .
همین تفاوت یک مساله دیگه رو هم روشن میکنه :
کامپایلر ها میتونند فایل های خروجی قابل اجرا تولید کنند که بدون وجود کامپایلر مربوطه قابل استفاده میباشند . مثلا همین فایلهای exe . اما مفسرها چنین خروجی ندارند و برای اجرای سورس کد آنها (Script) ، نیاز هست که خود مفسر هم وجود داشته باشد .
البته این رو هم یادم رفت بگم که مفسر ها هم باهم تفاوتهایی دارند :
بعضی هاشون در همون موقع خوندن اجرا هم میکنند ولی بعضی دیگه اول همه اسکریپت رو کامل میخونند و بعد اجرا میکنند .
lvlj
یکشنبه 23 مهر 1385, 22:13
merCCCCCCCC
mahamm1d
دوشنبه 24 مهر 1385, 04:49
lonely عالی بود. مرسی
فقط میشه این رو هم اضافه کرد که زبان برنامه نویسی qbasic مفسر دارد و زبانهای مثل c, pascal مترجم .
MnavidM
دوشنبه 24 مهر 1385, 09:55
merCCCCCCCC
می تونید از دکمه تشکر هم استفاده کنید.
فقط میشه این رو هم اضافه کرد که زبان برنامه نویسی qbasic مفسر دارد و زبانهای مثل c, pascal مترجم .
زبان qbasic مفسر داره ، اما زیان های مثل پاسکل هم مفسر و هم مترجم دارند .
یعنی وقتی فایل رو کامپایل می کنند و خروجی exe یا com میدن ، کار مترجم هست و وقتی ما میام و از debug و تست مرحله به مرحله استفاده می کنیم ، کار مفسر هست .
موفق باشید.
نوید.
Powered by vBulletin® Version 4.2.0 Copyright © 1392 vBulletin Solutions, Inc. All rights reserved.