‏إظهار الرسائل ذات التسميات تعرّف أكثر. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات تعرّف أكثر. إظهار كافة الرسائل

الجمعة، 26 أبريل 2013

المترجمات



  المترجمات Translators

·         تقوم المترجمات بعمل دور الوسيط بين اللغة التي يستخدمها المبرمج واللغة التي يفهمها الحاسب (لغة الآلة).

·         المترجمات تعمل على تحويل البرامج المكتوبة بأي لغة برمجة إلى لغة الآلة.

 

D   خطوات عمل البرنامج:

1.      تحديد المشكلة المراد عمل برنامج لحلها.

2.      تصميم طريقة حل لهذه المشكلة (خوارزمية).

3.      تصميم خريطة سير العمليات كنموذج لعمل البرنامج .

4.      اختيار لغة مناسبة من لغات البرمجة لكتابة البرنامج .

5.      اختبار دقة كفاءة البرنامج ومعالجة مابه من أخطاء .

بعد الانتهاء من كتابة البرنامج يسمى ماكتبناه بكود المصدر sore cod .

عند ترجمة البرنامج يتم تحويله إلى ملف قابل لتنفيذ(ملف تنفيذي) على دفعه واحدة أو بالمرور إلى عدة مراحل على حسب نوع المراحل.


D  أنواع  المترجمات

أولا: Assembler المجمع

المجمع هو المترجم المخصص لترجمة لغة التجميع Language Assembler إلى لغة الإله .

 

D   طريقة عمل المجمع :

1.      يقوم بالتعرف على لغة التجميع التي هي بذاتها قريبة من لغة الآلة.

2.      المتغيرات في لغة التجميع لا تكون أماكن محجوزة في الذاكرة ولكنها عبارة عن رموز محددة تكفئ قيمة هذه المتغيرات .

3.      المعالج يتعرف على هذه الرموز بسهولة تامة .

4.      المجمع يقوم بترجمة لغة التجميع إلى لغة ألآله بسرعة فائقة.

5.      سرعة ترجمة البرنامج يؤدي إلى سرعة فائقة في تنفيذ البرنامج.

6.      المجمع يوفر إمكانية اكتشاف الأخطاء.

7.      تصحيح الأخطاء يتم بسهولة وكفاءة عالية بواسطة إعادة التجميع Re-Assembly.

8.   المجمع يوفر أدوات مساعدة للكتابة البرامج بلغة التجميع مثل إمكانية الوصول إلى أي جزء من الكود بسهولة كبيرة ووجود تركيبات ومتغيرات سابقة التجهيز .

 

 ملاحظة :

المجمع لا يحول  البرنامج إلى لغة الآلة في الغالب ولكن يحول البرنامج إلى ملف شيئي object

ثم يتم تحويل الملف الشيئي عن طريقة ما يسمى بالرابط إلى الملف التنفيذي .

 

D  لغات المستوى العالي

هي مجموعة تراكيب وتعليمات مكتوبة باللغة الانجليزية عند كتابة برنامج تكون هذه التراكيب جمل مفهومة ويكون مطلوب تحويل هذه الجمل إلى لغة يفهمها الحاسب .

كانت بداية البرمجة تعتمد على لغة واحدة فقط وهي لغة التجميع التي تحتاج لمهارات خاصة وإمكانيات فائقة من المبرمجين مما جعل عملية البرمجة حكراً على عدد صغير من الأشخاص. كان البديل لهذه اللغة المعقدة هو استخدام اللغات الحية كالانجليزية في كتابة البرامج .

وتوجهت أنظار وجهود الباحثين إلى تطوير لغات جديدة في البرمجة تعتمد على فكرة استخدام اللغة الانجليزية وأدا ذلك إلى ظهور أنواع جديدة من المترجمات لتفعيل استخدام اللغات فقام الباحثون بابتكار المفسرات Interpreter)  ) لتحويل أو ترجمة اللغات المستخدمة أو  ما سميت لاحقا بلغات المستوى العالي  إلى لغة الآلة . أمثلة على لغات المستوى العالي : C , C++,VB , باسكال , فوتران...,

 

D   مميزات لغات المستوى العالي

1.      سهولة كتابة كود البرنامج بهذه اللغات.

2.      سهولة فهم كود البرنامج ومعرفة الغض منه.

3.      الإمكانيات الكبيرة لهذه اللغات تساعد على كتابة البرامج الكبيرة والأكثر تعقيداً.

4.      المرونة الكبيرة في التعامل مع أنواع البيانات المختلفة.

5.      ظهور هذه اللغات أدى اللي زيادة إنتاجية المبرمج.

6.      توفير الوقت والجهد على لمبرمجين .

7.      عدم الحاجة لحفظ الرموز والاحتفاظ بمراجع عند كتابة أي برنامج كما في لغات التجميع.

8.      ملائمة عمل هذه اللغات  على جميع أنواع الأجهزة المختلفة  وان حدث اختلاف يكون طفيف للغاية.
 

D     المفسرات Interpreter

هي نوع من أنواع المترجمات تقوم بتحويل البرامج المكتوبة بإحدى لغات المستوى العالي إلى لغة الآلة وتعمل  محدده بعينها مثل VB, Java .

 

طريقة عمل المفسر :-

1.      يتم تحويل كود البرنامج إلى لغة الآلة سطراَ سطراَ.

2.      عندما ينتهي  المفسر من ترجمة السطر الأول ينتقل إلى السطر الثاني على الذاكرة وتتكرر هذه العملية حتى انتهاء كل الكود.

3.      الملف الناتج عن عملية التحويل هو ملف تنفيذي يتم تنفيذه مباشرة للحصول على النتائج .

 

ملاحظة :-

تسمى علمية ترجمة كود المصدر (البرنامج) إلى لغة الآلة باستخدام المفسرات بعملية الترجمة وقت التشغيل .

 

خواص المفسرات:-

1.      لا تحتاج إلى برامج مساعدة للحصول على ملف تنفيذي .

2.      تحتوي المفسرات على المكتبات الخاصة بها وهذه المكتبات تحتوي على الدوال التي تقوم بعمليات الإدخال والإخراج وحفظ وفتح الملف .

3.      الملف التنفيذي الناتج في المفسرات يكون قابل للتنفيذ مرة واحدة فقط .
 


مثال على المفسرات :
10 Time=20
20 Speed=1500
50 Distance=Speed*Time
60 Print Distance
100 end



D   المترجمات :-

هي النوع الثاني من البرامج المساعدة التي تقوم بتحويل لغات المستوى العالي إلى لغة الآلة وتتم  هذه العملية على مرحلتين:-

1.      يتم تحويل كود البرنامج إلى ملف شيئي obj file)) .

2.      يتم ربط الملف الشيئي مع مكتبة الدوال القياسية بالغة المكتوب بها البرنامج مع ملفات الإدخال والإخراج للحصول على ملف تنفيذي .

 

D   الخواص العامة للمترجمات

1.      Compiler  يقوم بتحويل البرنامج دفعة واحدة كاملاَ إلى لغة الآلة .

2.      يتم التحويل في البداية إلى حالة وسطية تسمى شفرات شيئية .

3.      يتم تحويل الملف الوسطي الهيكلي إلى ملف تنفيذي  باستخدام ما يسمى  الرابط.

4.      الملفات التنفيذية الناتجة عن Compiler  تكون سريعة جداَ مقارنة بالمفسرات .

5.      الملفات الشيئية الناتجة عن Compiler  يمكن إن تعمل على نوع من الأجهزة ولا تعمل على باقي الأجهزة .

6.      Compiler  تقوم بالعمل على لغات من المستوى الرفيع مثل C, C++, باسكال .


D   ظاهرة الروابط مع ظهور المترجمات

ظاهرة الروابط مع ظهور المترجمات التي تحول الملفات أو البرامج إلى ملفات تنفيذية على أكثر من مرحلة فتكون المرحلة الأولى هي عملية التحويل إلى ملف شيئي (Obj file) وهذا النوع من الملفات لا يمكن تنفيذه ألا بعد ربطة مع مكتبة الدوال وملفات إدخال وإخراج البيانات يقوم بعلمية الربط هذه ما يسمى ب(linker) الرابط .لإنتاج ملف تنفيذي .

المحمل


D  المحمل Loader

المحملات هي برامج صغيرة جزء من نظام التشغيل تقوم بعملية تحميل الملفات على أماكن فارغة مناسبة لهذه الملفات على ذاكرة الجهاز .

 

D   أنواع المحملات :

أولا: المحمل المطلق

·         خواصه :

1.      يحمل الملف في المكان المحدد له سلفا على الذاكرة .

2.      إذا كان العنوان على الذاكرة  مشغول لا يتم تحميل البرنامج ألا بعد إفراغ هذا المكان .

3.      عملية التحميل بهذا الشكل تؤدي إلى ضعف الذاكرة وظهور مشكلة التفتت.

4.      مع هذا الضعف في كفاءة الذاكرة إلا أن هناك ميزة وهي بساطة الأسلوب والسرعة الفائقة في تحميل الملفات .

 

ثانيا: المحمل الباحث عن الأماكن Re-locater loader

دعت  العيوب الواضحة في المحمل المطلق إلى تطوير نوع جديد من المحملات الهدف الأساسي منها هو تلافي تلك العيوب وخصوصاً العيب المرتبط بتثبيت عنوان البرنامج على الذاكرة الذي يؤدي إلى إهدار جزء كبير من الذاكرة أو انتظار مدة طويلة لحين تفريغ هذا العنوان إذا كان مشغولاً لذلك ظهر المحمل الباحث عن الأماكن .

·        خواصه:

1.      يحمل البرامج أو الملفات على أي مكان في الذاكرة يتناسب  مع حجمها .

2.      يتم تغير العناوين إذا لزم الأمر لضمان صحة المرجعية.

3.      قرار تحميل أي برنامج أو ملف على مكان محدد على الذاكرة يتخذه نظام التشغيل.

4.      يستطيع المحمل الباحث عن الأماكن القيام بتحميل الملفات الناتجة من الرابط .

5.      المحمل الباحث عن الأماكن أكثر كفاءة وفاعلية من المحمل المطلق.

6.     المحمل الباحث عن الأماكن أبطء من المحمل المطلق.

ملاحظة :-

المحملات والروابط تكون غير ضرورية في حالة استخدام اللغات التي تعتمد على المفسرات

في الترجمة إلى لغة الآلة.

برامج مختلفة


D   الباحث عن الأماكن locater

هو برنامج صغير من أجزاء نظام التشغيل يقوم بتحويل الملفات الناتجة من الرابط إلى ملفات قابلة لتحميل على الذاكرة .وهذه الملفات تصبح عالقة على أماكن محددة على الذاكرة .

هذه الفكرة تستخدم في تحميل البرامج الدائمة ودمج البرمجيات على الرقائق Eb-RAM.

 

D   المشتت Dis-Assembler

يقوم بالعمليات الآتية:-

1.      يحول البرامج المكتوبة بلغة الآلة إلى أكواد رمزية وعناوين تماثل غلة التجميع .

2.      يقوم بإنشاء قوائم بهذه الرموز.

3.      يقوم بمعالجة الملفات على الذاكرة وتعديل الملفات المكتوبة بلغة الآلة وتبادل هذه الملفات بين الذاكرة ووسائط التخزين.

4.      يقوم بعملية تتبع البرامج المكتوبة بلغة الآلة وتصحيحها.

5.      يحتوي على مستكشف أخطاء البرامج المكتوبة بلغة الآلة .

 

 

D   المستكشف Monitor

برنامج صغير يوفر وسيلة نفاذ إلى الكود المكتوب بلغة الآلة اثنا عملية الترجمة ويوفر الوسائل التالية:-

1.      فحص وتتبع الذاكرة .

2.      تسجيل وحفظ نواتج العمليات.

3.      تتبع وتسجيل العمليات خطوة بخطوة .

4.      وضع علامات تسمى أماكن توقف داخل كود البرنامج.

5.      تتبع أوامر عمليات الإدخال والإخراج وكذلك حفظ النواتج إثناء التشغيل على وحدات الإدخال والإخراج .

6.      يقوم المستكشف بالمهام التي يقوم بعملها المشتت.

 

D   المصحح Debugger

يوفر المصحح نفس الخواص التي يوفرها المستكشف لكنه أكثر شمولية في الخواص من

المستكشف.

 

·         خواصه:-

1.      اكتشاف وتصحيح الأخطاء في البرامج المكتوبة بلغات المستوى العالي .

2.      يقوم بتقسيم الشاشة لعدة نوافذ.

3.      يقوم بعملية إسناد.عمل مراجع وعلامات على أجزاء البرنامج.

4.      يقوم بمتابعه ديناميكية لأجزاء الحاسب المادية للبحث عن التوقف .

5.      تتبع واستدعاء تراكيب البيانات وملفات نظم التشغيل اللازمة لتشغيل البرنامج اثنا التنفيذ.

الماوس أو الفأرة


 

الماوس أو الفارة

هو وحدة إدخال طرفية تم اختراعه سنة 1963م في معهد ستانفورد للأبحاث بواسطة دوجلاس انجل بيرت . وهذه الفارة كانت بدائية مصنوعة من الخشب فيها قرص معدني يقوم بعملية الدورة لتحديد حركة الماوس .

وفي سنة1970م حدث تطور في شكل وكفاءة الماوس عندما طورت معامل سيروز في مركز (بلوألتو) للبحوث.

الماوس يظهر بشكله الحديث في مشروع كبير تحت قيادة (جيك هوري ) هذا الماوس يشبه لحد كبير مانستخدمة الآن . له زرين تحدد الأوامر وله عجلة تقوم بتحريك المؤشر من مكان إلى أخر.

 

  مؤشر الفارة

هو المكان الذي يحدد علامة مضيئة وله عدة إشكال منها سهم,ساعة رملية..الخ .