السلام عليكم
-----------
انتظرو افتتاح القسم هنا
ليكون هذا الرابط الوحيد الذى يخص تصميم المترجمات واى استفسار يتم اضافته هنا
حتى تقوم ادارة المنتدى بافتتاح قسم بناء المترجمات
وانظرو الى درس كامل عن تصميم عملية lexical فى المرفقات
السلام عليكم
-----------
انتظرو افتتاح القسم هنا
ليكون هذا الرابط الوحيد الذى يخص تصميم المترجمات واى استفسار يتم اضافته هنا
حتى تقوم ادارة المنتدى بافتتاح قسم بناء المترجمات
وانظرو الى درس كامل عن تصميم عملية lexical فى المرفقات
تم تعديل هذه المشاركة بواسطة hamada hassan ali في 23 أغسطس 2005 في 22:22
_____________________________
C Language && Windwos_API
_____________________________
هل كتاب مادة بناء المترجمات فى كلية حاسبات ونظم معلومات عربى ولا انجليزى
_____________________________
C Language && Windwos_API
_____________________________
متشكر جدا
تم تعديل هذه المشاركة بواسطة hamada hassan ali في 27 أغسطس 2005 في 01:45
_____________________________
C Language && Windwos_API
_____________________________
انت تقصد ايه بهذا الدرس انا ملاحظ انه compiler للغة C++
الناس انواع
رجل يعلم ويعلم انه يعلم فهذا عالم فوقروه
رجل يعلم ولا يعلم انه يعلم فهذا غافل فإيقزوه
رجل لا يعلم ويعلم انه لا يعلم فهذا جاهل فعلموه
رجل لا يعلم ولا يعلم انه يعلم فهذا احمق فابتعدو عنه
ياريت فعلا لو يتم مناقشة هذا الموضوع .
ياريت لوحد من الأخوة يحول الدرس السابقة لشئ نستطيع فهمة لأنه لغة c++ كما يبدو
ياريت الكلام النضري العملي كمان .
التخصص : نظم معلومات - جامعة سبأ - اليمن
من مواضيعي :
السلسلة الذهبية في تعلم البرمجة [شرح عن الإجراءات والدوال function وبناء الـ Classes] .
موقع لبرمجة كارت الشاشة
هذ ا كل ما امتلكه عن بناء المترجمات
نواة نظام :
برمجة الماوس والكيبورد :
برمجة ذاكرة الفيديو :
تم تعديل هذه المشاركة بواسطة hamada hassan ali في 4 سبتمبر 2005 في 01:45
_____________________________
C Language && Windwos_API
_____________________________
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
ياعزيزى قرات الموضوع ده الف مرة
بس المشكلة انه كاتب كل عناوين المقدمة الملف التنفيذى ولكن لم يذكر لنا طريقة كتابتها هل باستخدام متغيرات ام بالاسمبلى ولا ايه بالظبط
_____________________________
C Language && Windwos_API
_____________________________
السلام عليكم
أيها العضو الموقر
هناك فرق واسع وشاسع ورهيب و قوي وضخم بين تصميم ال compiler وبين تصميم لغات البرمجة :blink:
فماذا تريد أنت بالتحديد؟
تصميم اللغة تحتاج منك إلى وضع فلسفة جديدة ، أما تصميم ال compiler يحتم عليك أن تكون ملما بالمعالج الذي ستعمل عليه الكومبايلر إلماما كبيرا. يعني بصراحة تصميم الكومبايلر أصعب بكثير من تصميم نظم التشغيل رغم أن فكرته أبسط.
هذا رأيي (h)
System Engineer
Red Hat Certified Engineer
Red Hat Certificate Number
805010381752078
مع تقديرى واحترامى لك
اخى برق
انا اريد برمجة مترجمات او لغات او انظمة هذا هما الثلاث مناطق الذى اسعى للوصول الى واحد منهما
انا متفق معك ان فكرته ابسط من تصميمه
____________________________________________
1- ازى تصميم لغة اصعب من تصميم مترجم لغة انا سمعتها كتير ولكن لم اعرف السبب ؟
2- وماذا تقصد بفلسفة جديدة ؟
وياريت لو عندك كتاب متخصص فى شرح الداتا ستركتر من الصفر الى الاخر تد لنى عليه
________________________________________________________
ومنتظر رايك فى الملف المرفق فى المشاركة رقم 11
تم تعديل هذه المشاركة بواسطة hamada hassan ali في 13 سبتمبر 2005 في 00:13
_____________________________
C Language && Windwos_API
_____________________________
تصميم اللغة نفسها ليس مشكلة لأن لها أساسيات و كل ماعليك هو اعادة كتابة الSyntax و الGrammar Rules و مايُسمى علمياً Production Rules و هو شئ نسبياً سهل
الأصعب هو بناء الParser و هذا أيضاً له قواعد مثل LR Parsing و الLL1 و OPG و يوجد حالياً أدوات جاهزة تُحول الSyntax او الProduction Rules الى Parser مثل الأداة Lex&Yacc و منها Pargen و هي أداة جيدة و يوجد منها نسخة تصنع الParser بالC أو ال++C او ال Java
و تبقى مرحلتين هما الCode Generation و الCode Optimization الأولى و هي التي يجب لإنجازها الإلمام التام بجميع الInstructions الخاصة بالمعالج الذي تستهدفه هذه اللغة و استخدامها بشكل أمثل لانتاج برامج سريعة و تستهلك ذاكرة أقل..
المرحلة الأخير الCode Optimization و الأصعب على الإطلاق و التي تحدد سعر الCompiler و التي تحتاج إلى خبرة بلا حدود لتحويل الأكواد السيئة التي كتبها المبرمج و التي اذا تُرجمت كما هي ستستهلك موارد لا حصر لها و بدون فائدة الى أكواد سريعة تؤدي نفس المهمة بلا أي نقص أو زيادة
فمهما كانت مهارتك فلن تصل بأي حال من الأحوال الى الCode Optimaztion أو الCode Generation و ستعلق عند الParser
Sr. Software Development Engineer
Hulu, LLC
My Blogs
هل تقصد ان بناء اللغة يصمم على الورق وتكون انت مصمم اللغة ويوجد شخص متخصص اخر هو الذى يقوم بعملية بناء المترجم
هل هذا صح ام ان مصمم اللغة يصمم الغة ويصمم لها مترجم خاص بها
وياريت تقولولى اسم اول مترجم للغة السى او المترجم الخاص بها الذى صممه مولف اللغة نفسه
تم تعديل هذه المشاركة بواسطة hamada hassan ali في 13 سبتمبر 2005 في 01:43
_____________________________
C Language && Windwos_API
_____________________________
الملفات في المرفقات يمكنها عمل لغة بسيطة جداً ففي الPLC.doc في قسم الRestrictions
• Variables and routines may not be declared; a variable’s type is determined automatically when an assignment first takes place • There are no structures, arrays, or pointers • A source file may consist of only: global declarations and routines
فهو لا يجعلك تحدد الLexer و الSyntax Analyzer بل تعطيه بعض الأوامر و ماذا تفعل و فقط
كما أن الSyntaxالخاص بلغتك تقريباً لن يختلف عن ال C Syntax
FALSE=0;TRUE=1;
//******************************************************************************
Startup()
{
Print("Startup called\n");
}
//**************************************
Shutdown()
{
Print("Shutdown called\n");
}
//******************************************************************************
Process(Number)
{
Print("Process called with parameter: ");
Print(Number);
Print("\n");
return Number+1;
}
//******************************************************************************
//******************************************************************************
main()
{
Startup();
for(Loop=0; Loop<7; Loop++)
{
Temp = Process(Loop);
}
Shutdown();
TestStatement();
return Loop;
}تم تعديل هذه المشاركة بواسطة bashmohandes في 13 سبتمبر 2005 في 01:48
Sr. Software Development Engineer
Hulu, LLC
My Blogs
ممكن لوسمحتم
الان انا قمت بتحديد هدفى هو المفسرات وليس المترجمات :
حد يدلنى على الادوات الذى من خلاالها اتمكن من بناء مفسرات لغة :
- لغة البرمجة المستخدمة
- الادوات والبرامج
- الكتب والمراجع
- دروس من احد المواقع
- دروس API -- MFC
- بيئات تطوير او مفسرات مفتوحة المصدر
وكيف يتم استخدام تعليمة الدوس debuge
تم تعديل هذه المشاركة بواسطة hamada hassan ali في 21 سبتمبر 2005 في 04:22
_____________________________
C Language && Windwos_API
_____________________________
السلام عليكم
أخ حمادة
أريد أن أقول لك شيئا
جيد أن يكون لك هدف واضح ومحدد، ولكن:
يجب أن يكون هذا الهدف بناء على قناعة داخلية منك سواء كانت هذه القناعة بدافع أو بآخر
يجب أن تكون مهيأ فعلا لتحقيق الهدف.
مع احترامي لسيادتك أنا لاحظت فيك شيئين من خلال مشاركاتك،
أولا: أنك تمثل شخصا ما يريد أن يصعد إلى القمر، ثم تجده واقفا ، ويحاول أن يقفز لعل وعسى أن يصل إلى القمر يوما ما ، ولم يدري هذا المسكين أن هناك أسس علمية وأبحاث ودراسات يجب أن يكون ملما بها حتى يصل إلى مبتغاه.
فعلى مستواك الشخصي ، أنت مثلا تقول انك محترف ++C ، أنا أتحداك إذا كنت تفهم 5% منها ، أنا لا أقلل من مستواك ولكن هذه هي الحقيقة فعلا، وأطلب منك أن تعيد بناء صرحك العلمي بشكل علمي!!!!
ولو فرضنا جدلا أنك فعلا محترف سي++ ، فهذا ليس معناه أنك مهيأ لتصميم مترجم أو مفسر. لأن هذا الأمر يحتاج منك لدراسة عدة علوم .
فمن الصعب أن تجاري الأخ محمد حسام حتى الآن، حيث أنه درس بعض المبادئ والأسس ، التي قد تهيئه إلى حد ما إلى هذا الأمر، وأعتقد أن محمد حسام نفسه يعاني بعض المشاكل في شرح طريقة عمل المترجم ،حيث أن هناك معلومات يجب أن يسترجعها أو يعلمها ،ولكن في النهاية يبقى عنده الأسس و يملك المفاتيح التي تمكنه من هذا العمل.
يعني أنا عرفت أنك في معهد حاسب آلي، حاول الآن أن تنسى أمر المترجم أو المفسر هذا نهائيا ، وتركز أكثر في معرفة علوم الحاسب من البداية حتى لا تتعب ، وعندما تتخرج إن شاء الله ستجد أن الأمر بالنسبة لك أصبح واضحا.
الأمر ليس صعب ، و هذا ليس معناه أنه سهل ، ولكنه يحتاج إلى السير في الطريق الصحيح.
System Engineer
Red Hat Certified Engineer
Red Hat Certificate Number
805010381752078
بناء lexecal && praser ممكن تكون سهلة
لكن انا طلبى هو
اذاكان لدى مترجم
سيكتب بداخله الكود
سيتم تحويله الى لغة السى
تحول من الاكواد الخاصة بالمترجم بتاعى الى اكواد لغة السى وتم حفضها فى ملف بامتداد cpp.
كيف اضع محتويات الملف cpp. فى ملف obj ثم تحريره ليكون ملف تنفيذى
_____________________________
C Language && Windwos_API
_____________________________
ليه بس
هى صعبة ولا ايه ولا فيها مشكلة
وعلى فكرة انا جربت فكرة ونجحت فيها وبع ما اكمل بناء المفسر ساقوم بنشره على المنتدى مع شرح الكود الخاص به ايضا
تم تعديل هذه المشاركة بواسطة hamada hassan ali في 21 سبتمبر 2005 في 14:03
_____________________________
C Language && Windwos_API
_____________________________
هل تقصد انه بناء مترجم يتم التصميم بجدولة البروسيسور فى sample tabel
هل تفهم قصدى
يعنى كل token تساوى مقابلها مايساويها من مجموعة من تعليمات المعالج
اعتقد ان هذا اسهل بس اين الكتاب الذى يشرح كل تعليمات المعالج
انا عارف انك اعطيطنى الرابط لموقع انتل ولكن كل رابط يطلع رابط اخر وحاجة لف ودوران على الفاضى
_____________________________
C Language && Windwos_API
_____________________________
انا بس عاوز اعرف كيف تحويل اكواد لغتى الخاصة الى اكواد لغة السى اصعب من بناء مترجم
_____________________________
C Language && Windwos_API
_____________________________
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…