الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ثلاث طرق لعمل الكمبايلر

مغلق
بدأه الجوهرة.. في 25 مارس 2006 · 3 رد · 762 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

:rolleyes: السلام عليكم ورحمة الله وبركاته

لعمل compiler توجد ثلاثة طرق:

1- الاعتماد على أدوات جاهزة لتصميم مترجمات ، مثل lex و yacc وغيرها. هذه الطريقة أسرع الطرق ولكن أقل كفاءة ومرونة.

2- الاعتماد على لغة برمجة عليا، وأكثر اللغات استخداما في تصميم المترجمات لغتي C++/ C ، وأحيانا جافا وغالبا بيرل ( تقدم لغة بيرل ميزة التعابير القياسية regular expressions، واللغات اللاحقة اقتبست هذه الميزة منها).

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

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

لذلك مبرمجي ال compiler يتقاضون أضعاف المبرمجين العاديين..

سوف أسرد الأساسيات لتلك الخطة..

1- التحليل المفرداتيscan

عملية المسح عبارة عن قراءة الملف النصي المصدر وتحويلة إلى وحدات تعرف بـ token

2-التحليل النحوي pars

هو عملية قراءة الوحدات (token لفظة) ومعرفة تركيب الجمل حسب القواعد المعتبرة

لكشف عملية الخطاء

3-الترجمة

بعد معرفة تركيب الجملة يمكنك ترجمتها إلى لغة وسيطة أو لغة الآلة

في التحليل المفرداتي يتم بناء جدول يسمى جدول الرموز يحتوي على الكلمات المحجوزة والمتغيرات

يستخدم هذا الجدول في الترجمة

....يقال إن لغة VB لا تعتبر لغة لتصميم المترجمات....

منقووووووول

أستنى ردودكم واللي عنده اضافة يفيدنا....

تم تعديل هذه المشاركة بواسطة الجوهرة.. في 25 مارس 2006 في 22:52

#3

هذا هو الكلام !

Moore’s Law

– “Number of transistors in chips doubles every 18 
months”.
–  Every 10 years, processors are 100 times more 
powerful.

Gilder’s Law

– “Bandwidth grows at least three times faster than 
computer power”.
– Assuming bandwidth doubles every 12 months; 
every 10 years, it is 1000 times better.
#4

يعطيكم العافية....

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

هذا الموضوع مغلق.

مواضيع مشابهة