View Full Version : سوال: تفاوت کامپایلر و مفسر
raaaaz
دوشنبه 18 بهمن 1389, 15:30 عصر
تفاوت زبان مفسری و کامپایلر در اجرای حلقه های تو در تو مثلا 10 تایی چیه؟
BORHAN TEC
شنبه 23 بهمن 1389, 01:23 صبح
بسیاری از شرکت های سازنده کامپایلر و مفسر این مسائل را فاش نمی کنند ولی روشن ترین جواب، مساله سرعت است.
saman6488
جمعه 12 فروردین 1390, 23:44 عصر
مفسرها کدها رو خط به خط اجرا میکنند،اما کامپایلرها به طور کلی و در تمام شدن پروسه مربوط به اجرا ان را به حالت اجرا در میاورند،در نتیجه سرعت کامپایلر از مفسر بیشتر است.
Open-Source
شنبه 13 فروردین 1390, 01:31 صبح
من اینجا پستی در این مورد زدم ، احتمالا مفید باشه:
http://open-source.blogfa.com/post-50.aspx
http://open-source.blogfa.com/post-51.aspx
اگه به نظرت مفید اومد توی این تاپیک قرار بده تا مابقی دوستان هم استفاده کنند.
pesar irooni
یک شنبه 21 فروردین 1390, 15:24 عصر
یکی از نقاط ضعف مفسرها نسبت به کامپایلرها همین حلقه هاست.
کامپایلر یک حلقه 10 تایی رو 1 بار ترجمه و 10 بار اجرا میکنه ولی مفسر همین حلقه رو 10 بار ترجمه و 10 بار هم اجرا میکنه. پس هنگام برنامه نویسی با زبانهای مفسری باید حواستون باشه کمتر از حلقه استفاده کنید.
میلاد رئیسی
یک شنبه 12 آذر 1391, 09:28 صبح
کامپایلر چیست؟
کامپایلر یک نرم افزار است که یک زبان مبداء را دریافت و آنرا به زبان مقصد ترجمه می کند.
مفسر چیست ؟
به جای آنکه برنامه هدف به صورات ترجمه شده تولید بشود , عملیاتی که در برنامه مبداء وجود دارد یکی پس از دیگری اجرا میکند.( خروجی تولید نمی کند )
تفاوت بین کامپایلر و مفسر در چیست؟
1 ) مفسر , خط به خط برنامه ورودی را ترجمه و تفسیر میکند این در حالیت که کامپایلر تمام خطوط برنامه ورودی را به یکباره ترجمه میکند.
2 ) در هر خطی از برنامه که کاربر دارای خطا یا اشتباه باشد مفسر در همان لحظه خطا را آشکار میکند و در خواست رفع اشکال می نماید از برنامه نویس ( زبان هایی مانند بیسیک و لیسپ از این نوع هستند ).اما کامپایلر در پایان کار برنامه نویس اقدام به بررسی تمام خطوط برنامه نموده و خطاها را اعلام میکند.
نکته : از (2) نتیجه می گیریم که سرعت ترجمه در مفسر بیشتر از کامپایلر است و خطایابی و تصحیح خطا توسط کاربر با راحتی بیشتری انجام میگیرد.
3 ) پیاده سازی مفسر از کامپایلر ساده تر است.
4 ) این قضیه صحت دارد که سرعت ترجمه مفسر از کامپایلر بیشتر است , اما سرعت اجرای برنامه ای که کامپایل شده بسیار بیشتر از برنامه ای است که تفسیر شده.
5 ) برنامه روی یک کامپیوتر میزبان یک بار کامپایل می شود و در دفعات بعدی فقط اجرا خواهد شد در صورتی که در مفسر,در هر باری که برنامه از ابتدا تا انتها تفسیر و سپس ترجمه میشود.
6 ) مفسر یک محیط مجازی برای اجرای برنامه کاربر ایجاد می کند در واقع محیط اجرایی برنامه به همراه برنامه کاربر وجود داشته و امکان اجرای برنامه در هر کامپیوتر میزبان دیگری داده خواهد شد.اما در کامپایلر وضع به گونه ای دیگر است زیرا کد مقصد تولید شده به زبان ماشین,مربوط به همان ماشین ( کامپیوتر ) میزبانی است که کامپایلر بر روی آن نصب شده و در کامپیوتر دیگر باید برنامه مجددا کامپایل شود.
7 ) در دسترسی به اصل برنامه مبداء,کامپایلر دارای امنیت بیشتری نسبت به مفسر است
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.