qas: question: ما هو المُصرِّف أو البرنامج المُترجِم؟

answers: answer_id: 935310
question_id: 1045131
text: هو برنامج حاسوبي يقوم على تحويل الملفات المصدرية إلى أوامر مباشرة يفهمها الحاسوب وينفذها مباشرة بما يناسب بنية الحاسوب الذي يستهدفه البرنامج.
answer_end: 226
is_impossible: no

question: ما هي الفرق بين البرامج المكتوبة بلغات متدنية المستوى ؟

answers: answer_id: 935311
question_id: 1045132
text:  كانت البرامج تبرمج أصلاً بلغات متدنية المستوى (أي قريبة من بنية الحاسوب) يفهمها الحاسوب مباشرة
answer_end: 342
is_impossible: no

question: ما هي الفرق بين البرامج المكتوبة لغات عالية المستوى؟

answers: answer_id: 935313
question_id: 1045134
text:  البرامج تبرمج بلغات عالية المستوى (عالية أي بعيدة عن فهم الحاسوب لها، وأقرب إلى فهم البشر).
answer_end: 446
is_impossible: no

question: كيف يتم تنفيذ المراحل المختلفة في تصميم المترجم؟

answers: answer_id: 935315
question_id: 1045136
text: يتم تنفيذها بشكل متسلسل وإن كان ذلك لا يعني بالضرورة تنفيذا بهذا الشكل أثناء تصميم المترجم فبعض هذه المراحل تتداخل مع بعضها
answer_end: 1948
is_impossible: no

question: ما هي المراحل الأساسية في عملية الترجمة؟

answers: answer_id: 935316
question_id: 1045137
text: لان كتابة المترجمات عملية ليست بالسهلة على الإطلاق فإنه من الأفضل أن نقسم طريقة بناء المترجم، والوسيلة التقليدية
answer_end: 1764
is_impossible: no

question: ما هو التقسيم الشائع لمراحل عملية الترجمة؟




answers: answer_id: 935317
question_id: 1045138
text: كل مرحلة (ما عدا الأولى) تأخذ مخرجات المرحلة التي تسبقها كمدخلات لها، ومن الشائع أن نجعل كل مرحلة كوحدة مستقلة فبعض هذه الوحدات يتم كتابتها باليد والبعض الآخر يتم إنشائها عن طريق مواصفات أو معايير مواصفة.
answer_end: 2154
is_impossible: no

question: ما هو الترتيب الأكثر شيوعًا لهذه المراحل؟




answers: answer_id: 935318
question_id: 1045139
text: هناك تقسيم شائع ومعروف لهذه المراحل ولكن ترتيب هذه المراحل قد يختلف قليلا من مترجم إلى آخر، فبعض هذه المراحل قد يتم تجميعها وبعضها قد يتم تقسيمها إلى مراحل أصغر
answer_end: 2315
is_impossible: no
context: المُصرِّف أو البرنامج المُترجِم أو المُترجِم أو برنامج الترجمة أو البرنامج المُؤلِّف هو برنامج حاسوبي يقوم على تحويل الملفات المصدرية إلى أوامر مباشرة يفهمها الحاسوب وينفذها مباشرة بما يناسب بنية الحاسوب الذي يستهدفه البرنامج.
على غير البدايات حين كانت البرامج تبرمج أصلاً بلغات متدنية المستوى (أي قريبة من بنية الحاسوب) يفهمها الحاسوب مباشرة، أصبحت الآن البرامج تبرمج بلغات عالية المستوى (عالية أي بعيدة عن فهم الحاسوب لها، وأقرب إلى فهم البشر). السبب في هذا أن البرامج زادت في تعقيدها وفي حساباتها، مما جعل البرمجة المباشرة للحاسوب أمرًا صعبًا، كما أن انتشار عدة بنى للحاسوب (مثل ARM وx64 وx86) جعل من اللازم كتابة البرامج عدة مرات بلغات ذات مستويات متدنية عدة لكي تعمل على عدة حواسيب مختلفة. لمواجهة هذا ظهرت لغات برمجة عالية المستوى تركز على المهم من الأمور في البرمجة وتسهل من إدارة المشاريع البرمجية، وتجعل إستهداف عدة أجهزة ممكنا بملف مصدري واحد مهما تعددت البنى (مع مراعاة بعض التفاصيل الصغيرة عند ذلك وضبطها).
والأسباب الرئيسية لذلك هي:
ميزة أخرى في استخدام لغات البرمجة عالية المستوى أن نفس البرنامج المكتوب بها يمكن ترجمته إلى أنواع كثيرة من لغات الآلة وبالتالي يمكن نقله إلى منصات كثيرة وأنواع كثيرة من الحواسيب.
من ناحية أخرى فان البرامج المكتوبة بلغة برمجة عالية المستوى ويتم ترجمتها تلقائيا إلى لغة الآلة ربما يتم تنفيذها ببطء أكثر مما لو كتبت بلغة الآلة مباشرة. ومن هنا فإن بعض البرامج التي يعتبر عامل الوقت والسرعة في التنفيذ مهم جدا بالنسبة لها ما زالت تكتب بلغة الآلة، ومع ذلك فإن المترجم الجيد يمكنه أن يصل بسرعة البرامج المكتوبة بلغة عالية المستوى إلى نفس سرعة تنفيذ البرامج المناظرة لها والمكتوبة بلغة الآلة إذا قام بعمل الكثير من التحسينات الجيدة وكانت البرامج المكتوبة باللغة عالية المستوى مكتوبة بشكل جيد ومنظم.
مراحل المترجم.
لان كتابة المترجمات عملية ليست بالسهلة على الإطلاق فإنه من الأفضل أن نقسم طريقة بناء المترجم، والوسيلة التقليدية لذلك هي في أن نقسم عملية الترجمة إلى عدة مراحل.
هذه المراحل يتم تنفيذها بشكل متسلسل وإن كان ذلك لا يعني بالضرورة تنفيذا بهذا الشكل أثناء تصميم المترجم فبعض هذه المراحل تتداخل مع بعضها.
كل مرحلة (ما عدا الأولى) تأخذ مخرجات المرحلة التي تسبقها كمدخلات لها، ومن الشائع أن نجعل كل مرحلة كوحدة مستقلة فبعض هذه الوحدات يتم كتابتها باليد والبعض الآخر يتم إنشائها عن طريق مواصفات أو معايير مواصفة.
هناك تقسيم شائع ومعروف لهذه المراحل ولكن ترتيب هذه المراحل قد يختلف قليلا من مترجم إلى آخر، فبعض هذه المراحل قد يتم تجميعها وبعضها قد يتم تقسيمها إلى مراحل أصغر.