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

كيف اصنع Compiler

مغلق
بدأه مصعب غيلان في 11 مايو 2004 · 10 رد · 3,641 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هل لدى احدكم اي معلومات عن مراحل تصميم Compiler

اي شرح لمراحل انشاء Compiler مع كود

او حتى اي مرحلة من مراحل التصميم

#2

في كتاب بظن انوا بيفيد رح دورلك عليه هو انكليزي

بيشرحلك شو لازم تعمل و شو هو المجمع و كيف بتسوي واحد خاص فيك يعني لازم أنوا مثلا تدخلوا الكلمات المحجورة و هيك شي

#4

انظر الكتاب المرفق مع ردي هذا.

how to compiler generation.zip

فكر بطريقة أخرى

#5

شكرا للجميع اعتقد اني حصلت على بداية المطلوب

وعلي اكمال الباقي

#6

هذه أول مشاركة لي في هذا المنتدى أسأل الله أن يبارك بها..

أما الرد على هذا الموضوع فهو كالتالي

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

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

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

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

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

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

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

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

3-الترجمة

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

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

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

إذا كانت المشاركة جيدة بلغني لكي أزيد

ولكن هناك ملاحظة قد تزعجك وهي أن لغة VB لا تعتبر لغة لتصميم المترجمات

#7

طيب نستخدم ايه لعمل ال Compiler?????

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#8

السلام عليكم

/index.php?showtopic=40811

والسلام

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#9

الأخ ahabdeen

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

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

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

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

وكما قالوا خير الأمور أوسطها :)

فكر بطريقة أخرى

#10

هل هذا يعني انه من المستحيل تصميم الكومبيلر بالبيسك

وهل ذلك يتعلق باستخدام الذاكرة والمكدس ولغة الاله

#11

الأخ J Programmer

ليس مستحيلا عمل مترجم ببيسك ، ولكن لن يكون قويا و reliable، فإذا كنت تريد القوة والreliability فاستعمل C++.

إذا كنت تستخدم لغة الأسمبلي فستحتاج لمعرفة تفاصيل المكدس والذاكرة، عموما تستحسن دراسة لغة الأسمبلي ومعمارية الحاسوب أثناء أو قبل دراسة تصميم المترجمات.

مكدس المترجمات في الغالب ليس مكدس لغة الأسمبلي مالم تستعمل لغة الأسمبلي، بل هو بنية برمجية معرفة بواسطة المبرمج ، يعني class stack تقوم بتعريفه بنفسك قبل البدء في كتابة class LexicalAnalyzer و class Parser و غيرها.

اقرأ جيدا الكتاب الذي أرفقته لك في رد سابق لي لمعرفة خوارزميات التعامل مع الstack ( كلها في مرحلة الparsing) وانظر أيضا:

ما هو المكدس

تم تعديل هذه المشاركة بواسطة walcom في 14 مايو 2004 في 10:22

فكر بطريقة أخرى

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

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