هل لدى احدكم اي معلومات عن مراحل تصميم Compiler
اي شرح لمراحل انشاء Compiler مع كود
او حتى اي مرحلة من مراحل التصميم
هل لدى احدكم اي معلومات عن مراحل تصميم Compiler
اي شرح لمراحل انشاء Compiler مع كود
او حتى اي مرحلة من مراحل التصميم
في كتاب بظن انوا بيفيد رح دورلك عليه هو انكليزي
بيشرحلك شو لازم تعمل و شو هو المجمع و كيف بتسوي واحد خاص فيك يعني لازم أنوا مثلا تدخلوا الكلمات المحجورة و هيك شي
شكرا للجميع اعتقد اني حصلت على بداية المطلوب
وعلي اكمال الباقي
هذه أول مشاركة لي في هذا المنتدى أسأل الله أن يبارك بها..
أما الرد على هذا الموضوع فهو كالتالي
برمجة Compiler من أحد علوم الحاسب الآلي لذالك ستجد أن لها قوانين تحكمها وطرق تسهل عملية إنشائها وستجد صعوبة إذا لم تفهم الأساسيات...
لذلك مبرمجي ال compiler يتقاضون أضعاف المبرمجين العاديين..
سوف أسرد الأساسيات لتلك الخطة..
1- التحليل المفرداتيscan
عملية المسح عبارة عن قراءة الملف النصي المصدر وتحويلة إلى وحدات تعرف بـ token
2-التحليل النحوي pars
هو عملية قراءة الوحدات (token لفظة) ومعرفة تركيب الجمل حسب القواعد المعتبرة
لكشف عملية الخطاء
3-الترجمة
بعد معرفة تركيب الجملة يمكنك ترجمتها إلى لغة وسيطة أو لغة الآلة
في التحليل المفرداتي يتم بناء جدول يسمى جدول الرموز يحتوي على الكلمات الحجوزة والمتغيرات
يستخدم هذا الجدول في الترجمة
إذا كانت المشاركة جيدة بلغني لكي أزيد
ولكن هناك ملاحظة قد تزعجك وهي أن لغة VB لا تعتبر لغة لتصميم المترجمات
لا إله إلا الله محمد رسول الله
busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.
الأخ ahabdeen
لعمل compiler توجد ثلاثة طرق:
1- الاعتماد على أدوات جاهزة لتصميم مترجمات ، مثل lex و yacc وغيرها. هذه الطريقة أسرع الطرق ولكن أقل كفاءة ومرونة.
2- الاعتماد على لغة برمجة عليا، وأكثر اللغات استخداما في تصميم المترجمات لغتي C++/ C ، وأحيانا جافا وغالبا بيرل ( تقدم لغة بيرل ميزة التعابير القياسية regular expressions، واللغات اللاحقة اقتبست هذه الميزة منها).
3- الاعتماد على لغة برمجة متدنية المستوى، كلغة الأسمبلي، وهذه الطريقة أسرع الطرق قطعا، ولكنها أطولها من ناحية الزمن اللازم لإنجاز المترجم.
وكما قالوا خير الأمور أوسطها :)
فكر بطريقة أخرى
هل هذا يعني انه من المستحيل تصميم الكومبيلر بالبيسك
وهل ذلك يتعلق باستخدام الذاكرة والمكدس ولغة الاله
الأخ J Programmer
ليس مستحيلا عمل مترجم ببيسك ، ولكن لن يكون قويا و reliable، فإذا كنت تريد القوة والreliability فاستعمل C++.
إذا كنت تستخدم لغة الأسمبلي فستحتاج لمعرفة تفاصيل المكدس والذاكرة، عموما تستحسن دراسة لغة الأسمبلي ومعمارية الحاسوب أثناء أو قبل دراسة تصميم المترجمات.
مكدس المترجمات في الغالب ليس مكدس لغة الأسمبلي مالم تستعمل لغة الأسمبلي، بل هو بنية برمجية معرفة بواسطة المبرمج ، يعني class stack تقوم بتعريفه بنفسك قبل البدء في كتابة class LexicalAnalyzer و class Parser و غيرها.
اقرأ جيدا الكتاب الذي أرفقته لك في رد سابق لي لمعرفة خوارزميات التعامل مع الstack ( كلها في مرحلة الparsing) وانظر أيضا:
تم تعديل هذه المشاركة بواسطة walcom في 14 مايو 2004 في 10:22
فكر بطريقة أخرى
هذا الموضوع مغلق.