ملتقى طلبة ذ ي قار
أنت غير مسجل في منتديات طلبة ذي قار . للتسجيل الرجاء إضغط هنـا
ملتقى طلبة ذ ي قار
أنت غير مسجل في منتديات طلبة ذي قار . للتسجيل الرجاء إضغط هنـا
ملتقى طلبة ذ ي قار
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.


ملتقى طلبة العراق الاول في عالم النت اهلا بك من جديد معنا يا زائر نرحب بك ونتمنى لك قضاء اجمل الاوقات معنا.
 
البوابةالرئيسيةأحدث الصورالتسجيلدخول

 

 المترجمات compilers

اذهب الى الأسفل 
2 مشترك
كاتب الموضوعرسالة
المبرمج ع ع ع
عضو
المبرمج ع ع ع


 sms عضو منتديات طلبة ذي قار
عدد المساهمات : 8
مميز طلبة ذي قار : 300
تاريخ التسجيل : 15/10/2010

المترجمات compilers Empty
مُساهمةموضوع: المترجمات compilers   المترجمات compilers I_icon_minitimeالأربعاء نوفمبر 17, 2010 4:59 am

بسم الله الرحمن الرحيم

لا حطت ان معظم طلبة مادة ال compiler لا يفهم ماذا تعني هذه الماده في الاساس و ما اهميتها ؟
وهذه نقطه خطيره جدا ان ندرس ماده و لا نكون مدركين تماما الى اهميتها
لهذا احاول هنا محاولة تبسيط مفهوم ال compiler من خلال شرح عملي و سأترك الشروح النظريه للمستقبل او الي ما يخدم الهدف هنا وهو الوصول الى عمل compiler ومعظم ما اذكره هنا سيكون من خلال تجربتي الشخصيه في كتابة compiler . و سأشرح بطريقه ارجو ان يوفقني الله ان تكون مبسطه .

سأبدأ اولا بالاجابه عن اسئله شائعه عن ال Compiler مثل :-
1- ما هي مادة ال compiler
2- ما الفرق بين ال Compiler و ال interpreter؟
3- هل اذا كتبت برنامج يحول من لغة البيسك مثلا الى ملف تنفيذي EXE file اكون قد كتبت compiler ؟
4- هل اذا كتبت برنامج يقرأ كل كلمه من ملف و يترجمها الى لغه اخري في ملف اخر هل هذا compiler?
5- ما فائدة ال compiler لي انا اريد ان اصبح مبرمجاً و لا انوى عمل compiler ؟
6- هل يمكن كتابة compiler مصغر ؟


أولا : ما هي مادة ال compiler
هو برنامج يقوم بالتحويل من لغه الى اخرى – من لغه مصدريه الى اخرى مستهدفه و في المعتاد يكون التحويل من لغه عاليةhigh language الى لغه اخري في المعتاد لغه قريبه من لغة التجميع assembly او الى لغه و سيطه مثل p-code او object file
وهذه يعني التحويل من لغة السي بلس بلس c++ الى لغة التجميع مثلاً
أو لغة السي بلس بلسc++ الى لغة ا لبيسك BASIC مثلاً.

ثانيا : ما هو الفرق بين الCompiler و ال interpreter؟
ال interpreter يقوم بقراءة الملف المصدري سطر بسطر ثم يقوم بتنفيذ هذا السطر/الأمر و لا يقوم بعمل اي ملفات تحتوى على generated code كود منتج من الملف المصدر.
اما ال compiler فيقوم بإنتاج كود generating code.

ثالثا : هل اذا كتبت برنامج يحول من لغة البيسك مثلا الى EXE file اذا انا عملت compiler ؟
اهنئك اذا فعلت هذا. فأنت في هذه الحاله لم تكتب compiler فقط بل كتبت عدة اشياء مثل :-
Compiler
و
Linker
و ربما
Loader
ال compiler مرحله من مراحل متعدده لتحويل البرنامج المصدري الى برنامج تنفيذي

رابعاًً : هل اذا كتبت برنامج يقرأ كل كلمه من ملف و يترجمها الى لغه اخري في ملف اخر هل هذا compiler?

نعم . اذا توافرت شروط معينه.
- ما هي هذه الشروط للتأكد من كتابه compiler ذو جوده عاليه ؟
المرور بخطوات معروفه للتحويل من لغه الى اخري و تضمن عمليات
أ- التأكد من استخدام حروف معروفه و مفهومه و هذ يسمىlexical analyzer
ب- التأكد من ان الجمله مكتوبه بلغه سليمه. اي اعراب الجمله بشكل صحيح.وهذ يسمى syntax analyzer
ج- التأكد ان الجماه المكتوبه لها معنى و ليست ليس لها فائده وهذه يسمى semantic analyzer
ء- التحويل الى اللغه وسيطه intermediate language .
هـ- تحسين الكود المنتج code optimizer.
و- ثم اخراج الكود المستهدف في شكل نهائي code generation
وبهذه الخطوات تساعدنا في اكتشاف الاخطاء و كتابة compiler ذو جوده عاليه. مع ملا حظة اننا سنحتاج الى طريقه للتعامل في حالة وجود اخطاء اكتشفت في البرنامج من خلال Error handler
و سنحتاج ايضا الى طريقه لمساعدتنا في تتبع المتغيرات المختلفه في البرنامج symbol table
و تسمى هذه الخطوات phases of compiler طور تنفيذ ال compiler. و هذه الخطوات تساعد من يستخدم هذا ال compiler الا يقع في اخطاء في كتابة برنامج باستخدم لغة هذا ال compiler و تجنب حدوث خطا اثناء التنفيذ run-time error و اكتشاف خطوات اثناء كتابة البرنامج compiler time error.

و تعتبر الخطوات الثلاث الاولى هي محاولة فهم وتحليل الكود المصدري source code.
و هي موجوده في كلا من ال compiler و ال interpreter و تسمى هذه الخطوات الثلاث ال front end
اما الخطوات التاليه فهى خاصة بال compiler فقط و هى لانتاج كود وتسمى back end

خامساّ : ما فائدة ال compiler لي انا اريد ان اصبح مبرمجاً و لا انوى عمل compiler ؟
نعم و لكنك كمبرمج قد تحتاج الى :-
1-اجزاء من ال compiler في عمل برنامج اخر لا يمت بصله الى ال compiler مثل : محرر نصوص يحتوى على فحص للنحو الاعراب للجمل المكتوبه . وهنا ستجد ما تعلمته مفيد جدا
2-فهمك الجيد لطرق عمل ال compiler سيساعدك في كتابة كود افضل.
3- اذا اردت كتابة برنامج آله حاسبه متقدمه و اردت ان تتقوم بعمل parsing مثلا لتحقيقي اولوية المعملات paremeter pariorites
4- ...........و هناك الكثير و الكثير الذي ستكتشفه تباعا.

سادساً : هل يمكن كتابة compiler مصغر ؟
نعم و لم لا
الرجوع الى أعلى الصفحة اذهب الى الأسفل
!.هـمـسآتے رجْـلـے.! ,
المـراقب الـــعام
المـراقب الـــعام
!.هـمـسآتے رجْـلـے.! ,


المترجمات compilers Anmar-f573b1c6e2
 sms [
عدد المساهمات : 560
مميز طلبة ذي قار : 0
تاريخ التسجيل : 07/03/2009
العمر : 37
الموقع : العراق

المترجمات compilers Empty
مُساهمةموضوع: رد: المترجمات compilers   المترجمات compilers I_icon_minitimeالجمعة نوفمبر 19, 2010 9:14 pm

thnak you
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
المترجمات compilers
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» cmpileres intepreters المترجمات والمفسرات

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
ملتقى طلبة ذ ي قار  :: مــنــتــديــات طــلاب الــجــامــعــات والــمــدارس :: منتدى جامعة الامام الصادق ع :: ||كلية التكنلوجية ~ :: هندسة البرامجيات-
انتقل الى: