فرق کامپایلرها با مفسرها چیه؟؟

شروع موضوع توسط lvlj ‏15 اکتبر 2006 در انجمن برنامه نويسي و الگوريتم آن

  1. lvlj

    lvlj Member

    ارسال‌ها:
    243
    تشکر شده:
    1
    امتیاز دستاورد:
    16
    فرق کامپایلرها با مفسرها چیه؟؟
     
  2. Lonely

    Lonely New Member

    ارسال‌ها:
    10
    تشکر شده:
    0
    امتیاز دستاورد:
    1
    تفاوت مهم Compiler ها , Interpreter ها در ساختن کد ماشین است .

    در حقیقت کامپایلر ها ابتدا سورس کد رو میخونند و سپس اون رو به کد ماشین تبدیل میکنند که البته این کد ماشین هنوز قابل اجرا نیست . سپس این کد به یک کد قابل اجرا تبدیل میشه .
    در مورد مفسر ها (Interpreter) متفاوت است . اونها سورس کد رو میخونند و همون رو اجرا میکنند .بدون اینکه به ماشین کد ترجمه کنند .
    به طور خلاصه در کامپایلر ها این ماشین کد هست که اجرا میشه ولی در مفسرها خود سورس کد .

    همین تفاوت یک مساله دیگه رو هم روشن میکنه :
    کامپایلر ها میتونند فایل های خروجی قابل اجرا تولید کنند که بدون وجود کامپایلر مربوطه قابل استفاده میباشند . مثلا همین فایلهای exe . اما مفسرها چنین خروجی ندارند و برای اجرای سورس کد آنها (Script) ، نیاز هست که خود مفسر هم وجود داشته باشد .


    البته این رو هم یادم رفت بگم که مفسر ها هم باهم تفاوتهایی دارند :
    بعضی هاشون در همون موقع خوندن اجرا هم میکنند ولی بعضی دیگه اول همه اسکریپت رو کامل میخونند و بعد اجرا میکنند .
     
    آخرین ویرایش: ‏15 اکتبر 2006
  3. lvlj

    lvlj Member

    ارسال‌ها:
    243
    تشکر شده:
    1
    امتیاز دستاورد:
    16
    merCCCCCCCC
     
  4. mahamm1d

    mahamm1d Member

    ارسال‌ها:
    244
    تشکر شده:
    29
    امتیاز دستاورد:
    16
    lonely عالی بود. مرسی
    فقط میشه این رو هم اضافه کرد که زبان برنامه نویسی qbasic مفسر دارد و زبانهای مثل c, pascal مترجم .
     
  5. MnavidM

    MnavidM Active Member

    ارسال‌ها:
    2,962
    تشکر شده:
    503
    امتیاز دستاورد:
    36
    می تونید از دکمه تشکر هم استفاده کنید.

    زبان qbasic مفسر داره ، اما زیان های مثل پاسکل هم مفسر و هم مترجم دارند .

    یعنی وقتی فایل رو کامپایل می کنند و خروجی exe یا com میدن ، کار مترجم هست و وقتی ما میام و از debug و تست مرحله به مرحله استفاده می کنیم ، کار مفسر هست .

    موفق باشید.
    نوید.
     

به اشتراک بگذارید