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

سؤال : كيف يتم عمل (صناعة) لغة البرمجة؟

مغلق
بدأه egy-cgi في 3 يونيو 2003 · 31 رد · 12,407 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

صراحه انا مش عارف اذا كان هذا المكان المناسب للسؤال بالمنتدى أم لا

بس انا حبيت أسأل أزاى بيتم عمل لغات البرمجه ؟

فرضا أى لغة برمجة اتعملت أزاى سيبنا من اللغات المنخفضه و خلينا فى لغات الويندوز الفيجول بيسك أتعمل ازاى و الفيجول سى؟

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

انا عارف انه سؤال صعب بس مش عارف ليه حبيت اسأل

و شكرا

#2

اخ egy-cgi شرح هذا الموضوع يطول ولكن اذا كانت لديك معرفة بكيفية عمل Compilers

تحت نظام التشغيل MS-DOS ، فأفضل تحديد سؤالك على شىء محدد مثل كيفية

التحويل واين main function او مثلاً كيف يتعامل مع Objects والى هذا النوع من الاسئلة

أما اذا كنت لا تعرف عن كيفية عمل Compilers Under MS-DOS فسوف احاول تلخيص العمل

بقدر تستطيع فهمه.

وارجو الرد

#3

في كتب خاصه بهذا الموضوع لكن اعتقد انك لازم تكون خبير بالبرمجه- يعني الشغله مش بسيطه.

#4

فى كتب كتير فى مصر لأساتذة الجامعه - طلبة علوم حاسب

المادة أسمها بناء المترجمات

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#5

السلام عليكم,

لإنجاز كمبايلر يجب أن نعرف مادا يجري خلف البرامج التي نكتبها . وهدا بالطبع يتطلب بعض المعرفة عن كيف تجري الأمور في الداكرة.

فمثلا حين نبرمج إندار أو MessageBox ففي الداكرة تتحول الأمور إلى ما يعادل هدا الجزء من الأسمبلر :

push kind of message box

push caption of message box

push text of message box

push handle of window

call MessageBoxA the windows Api

فإدا كنا نعرف هدا يمكننا صنع كمبايلر فمثلا سأقوم ببرمجة باللغة العربية لإضهار MessageBox و command ساسميه إندار فسيكون :

إندار رقم النافدة,موضوع الإندار,عنوان الإندار,شكل الإندار

أما الكمبايلر حين يعثر على هدا يترجمها على الشكل الدي سبق.

هده نظرة خاطفة على هدا الموضوع.

إلى اللقاء.

#6

يا شباب تصميم مترجم ليس بمستحيل انتم تعتقدون ان من يحلم بهذا انه يريد ان يصمم مترجم متل الجافا ولكن العكس صحيح

نحن نريد الفكرة فقط لا اقل كيف نعمل lex و yacc و code genrrator و optmiztion و الخ من موضوعاته

لابد من معرفة شروط كتابة كل منهم لكى نعمل مترجم بسيط لايحتوى على الا على متغيرات وحالت if و do...while

ومجموعة من الميكرو strcpy - printf كمثل هذا ولم يكون مترجم للغة السى

اعتقد انكم فهمتو المطلوب خطا

ولكنى اوعدك ياخ egy-cgi انى عندما احترف تصميم مترجم صغير وشروط بناءة ساعلمك خطوة بخطوة

انا من مويدى كلمة ..التعليم مكفول للجميع ...سواء فى كافة المجالات

تم تعديل هذه المشاركة بواسطة hamada hassan ali في 8 أغسطس 2005 في 11:43

_____________________________

C Language && Windwos_API

_____________________________

#7

العملية ليست سهلة و لكن حتماً ليست مستحيلة. و لكنها أيضاً ليست عملية يمكن الولوج فيها للمبتدئين، لأنه أولاً (و قبل الدخول في المترجمات و ما شابه) يجب معرفة أساسيات مثل البنية اللغوية الأساسية، كيفية توصيف أنواع البيانات، كيفية التحكم في تدفق البرنامج، هل هي لغة مترجمة interpreted أم مجمعة compiled، هل هي لغة functional أم imperative؟ procedural أم object-oriented؟ تستعمل vm أم لا؟ الى آخره من أسئلة و خواص أعترف أنني لا أعرفها كلها. ثم بعد ذلك تفكر كيف تعمل مترجم للكلام هذا كله. هناك فرق كبير بين عمل لغة و عمل مترجم للغة.

المسألة ليست بسيطة أبداً و تحتاج الى خبرة جيدة في أكثر من لغة (حتى تتعرف الى الفروق بين اللغات).

تم تعديل هذه المشاركة بواسطة System Down في 8 أغسطس 2005 في 12:20

#9

هذا الرابط انا عارفة وقراته مائة مرة ولا افهمه لانه العضو جاز فى هذا الموضوع يخاطب عقول المحترفين اوى ولا يتعامل مع المستويات المتوسطة يا جماعة انا مش عاوز شرح انا عاوز اسم كتاب اشتريه وعلى فكرة انا من اسكندرية

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

لان السى ++ لها عيوب كثيرة فى مجال الانظمة والمترجمات على حسب ما سمعته

وشكرا لكم

_____________________________

C Language && Windwos_API

_____________________________

#10

لأن الموضوع هذا هو موضوع ناس محترفين يا أخي العزيز. يعني اذا انت ما فهمت شئ من المكتوب في المقال فهذا يعني أنك غير مستعد بتاتاً في الخوض في هذا الموضوع. لو أنط أشتريت كتاب برضه مس حتفهمه لأنه سوف يفترض أن يكون لدى القارئ أساسيات هي غير موجودة لديك. و الدليل أنك تفضل السي شارب على السي بلس بلس لإنشاء المترجمات و نظم التشغيل. قبل حتى أن تفكر في موضوع المترجمات يجب عليك العودة للأساسيات. هيكلة الحاسب الآلي و نظم التشغيل. و قبل هذا لغات البرمجة و بالذات الأسيمبلي.

تم تعديل هذه المشاركة بواسطة System Down في 8 أغسطس 2005 في 15:23

#11

انا لا افضل ولا السى بلص ولا السى شارب لان الاثنين من ميكرو سوفت وكل ما هو من ميكرو سوفت فانا لا احبه ولكن ليس لدى سوه

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

لذالك قررت الخروج خارج مجال السى بلس لكثرة مترجماتها وانا مش عارف ايه اقوى مترجمات هذه اللغة

لذاللك قررت الانتقال لسى شارب لصعوبة التعامل مع السى بلس على الفيجوال سى++ وكرهتا من البورلاند ولا اطيق مترجم الذى يعمل تحت الدوس لو حد عنده مترجم لسى بلص من بورلاند من المترجمات الجديدة ياريت يعطينى وصلة تحميله وياريت اسم الكتاب الخاص بالمترجمات لو امكن

ارجو ان تستحملونى شويه

انا هدفى هو ان اكون مطور وليس مبرمج نفسى اتعلم api صح بس مش عارف انا بغلوش فيها يعنى كل اللى اعرفه ازى اكتب داله النافذة وكام داله اخرى لكن مش المستوى اللى انا عاوزه

انا حتى الان بجرب لا تنسو ا انى لست بدخيل على مجال البرمجة فهى جزء من دراستى الجامعية وايضا التعامل مع الاجهزة من ناحية الصيانة

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

وشكرا على الاهتمام

تم تعديل هذه المشاركة بواسطة hamada hassan ali في 8 أغسطس 2005 في 15:12

_____________________________

C Language && Windwos_API

_____________________________

#12

سي بلس بلس ليست من مايكروسوفت.

الصبر يا أخي العزيز الصبر.

أول شئ ركز على تعلم البرمجة (بأي لغة، مش مهم) و الأشياء الأخرى ستأتي مع الوقت. أنت طال حاسب آلي أي أن هذه الأساسيات الت كنت أتحدث عنها حتعدي عليك (و لو بشكل بسيط) و منها ممكن تبني نفسك. لا تكون مستعجل، الحاسب الآلي مجال واسع جداً جداً جداً جداً. و يأخذ وقت حتى تعرف رأسك من رجليك فيه. لذا الصبر.

و حاجة أخيرة، اتعلم تستخدم google. معظم الأشياء التي تطلبها يمكن إيجادها بشوية بحث في غووغل.

#13

طيب طلب اخير منكم ايه احسن طريقة اتعلم بها دوال API ولو لها كتاب على النت يكون كويس واحسن

_____________________________

C Language && Windwos_API

_____________________________

#14

بص يا سيدى زى ما system down قالك يجب أن تتوافر بعض الأساسيات لديك

كخوارزميات التشغيل و جدولة البروسيسور و و و و قبل أن تبدأ فى تصميم مترجم أو نظام تشغيل

و ممكن تقرأ الموضوعات اللى فى المنتدى و لو مش فاهم أسأل اللى كاتبين الموضوع

بس حاول تطلع السلم درجه درجه يعنى متفكرش فى تصميم مترجم قبل ما تعرف لغات البرمجه بتتعامل مع السورس كود إزاى وبتتعامل مع exe إزاى

و بدون مجامله أنا حاسس أنت أنت عايز تتعلم و توصل بس متفقدش الأمل

وعلى فكره أنا من أسكندريه برضه و كذلك طارق إبراهيم و برق

تم تعديل هذه المشاركة بواسطة net_code في 8 أغسطس 2005 في 15:37

لا تراجع و لا إستسلام

#15

متشكر اخى طيب ممكن تقولى ازى ابداء بالطريق الصحيح ما نوع التعل الذى اتعلمه الان غير اساسيات البرمجة

فانا جيد وعلى مستوى عالى من البرمجة

باسلوب arry و تراكيب البيانات واستخدام unions وenum و bit filed , preprocessor

و predefined macro name

والذى ينقصنى هو العلم بالاكواد المودية للغرض والتعامل مع الالة

البرمجة ذات الواجهة الرسومية

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

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

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

ولكن اطمئنو مش حصمم اللغة الجديدة الان ولكن بس هو حب للتعلم هذا العلم واوعدكم انى حعملها بس بعد خمس سنوات

الادوات اللى انا محتاجها هى :

لمن يريد مساعدتى

1- كتاب يتحدث عن دوال API

2- كتاب كيف يتم تصميم المترجمات

3- مترجم يمكنه فعل اى شىء على بيئة معالجات 32بت

4- بس خلاص

وشكر الف مليون مليار مرة لكم

تم تعديل هذه المشاركة بواسطة hamada hassan ali في 8 أغسطس 2005 في 16:40

_____________________________

C Language && Windwos_API

_____________________________

#16

سوال بالنسبة : كلية الهندسة فرع اسكندرية

--------------------------------------------------------

انا السنادى حبقى فى سنة تانية نظم معلومات

--------------

هل يحق لى ان اشترى اى كتاب للمنهج الدراسى الخاص بقسم الحاسبات بكلية الهندسة

ام لابد من الحصول على البكارليوس ثم الدخول الى كلية الهندسة ودراسة برمجة المترجمات والنظم

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

ياريت اجابة

ممكن تقولو لى ماهى لغة ASP

تم تعديل هذه المشاركة بواسطة hamada hassan ali في 9 أغسطس 2005 في 08:24

_____________________________

C Language && Windwos_API

_____________________________

#17

بصراحه معرفش حكاية الكتب دى

بس لوعارف أسماء الكتب اللى أنت عايزها سمعت أنك ممكن تجيبها من أدام الكليه

و لغة الasp هى لغة برمجة للويب

لا تراجع و لا إستسلام

#18

شكرا للك اخى net_code

خدمة اخرى

هل البورلاند سى ++ قادر على انشاء محرك العاب

وياريت لو تقولى ما هى الفكرة لبرمجة محرك لعبة بسيطة

يعنى ايه الافكار اللى اهتم بها وانا ابرمج محرك لعبة

او وصلة لمواقع تتكلم عن محرك الالعاب

ودوال api لانى حستخدمها فى تصميم لغتى الجديدة

تم تعديل هذه المشاركة بواسطة hamada hassan ali في 10 أغسطس 2005 في 14:07

_____________________________

C Language && Windwos_API

_____________________________

#19

معلش متزعلش من سؤالى

أنت عاوز أيه بالضبط

أحتراف البرمجه فقط

أم تصميم نظام تشغيل

أم تصميم لغة برمجه

أم برمجة محركات الألعاب

أم ماذا؟؟

حدد هدفك مهما كان و حدد أسئلتك و سوف نساعدك

لا تراجع و لا إستسلام

#20

اوكى

انا اريد فهم واحتراف عمل المترجمات والنظم فقط

ولكن مفيش مانع ان الواحد يجرب نفسه فى كل المجالات

منتظر ردك

تم تعديل هذه المشاركة بواسطة hamada hassan ali في 14 أغسطس 2005 في 03:31

_____________________________

C Language && Windwos_API

_____________________________

#21

أنا معاك أن مفيش مانع أن الواحد يجرب

بس أنت كده بتضيع جهودك ووقتك على الفاضى

يعنى أنا قصدى إنك تركز على حاجه دلوقتى و لما تتقنها أنقل على اللى بعديها و هكذا

يعنى على ما أظن أن مستواك كويس فى السى ++

إبدأ مثلا فى كيفية عمل المترجمات

و علشان تبدأ فيها لازم تعرف بنية الملفات و كيفية التعامل معها

يعنى لازم تعرف ولو مبادئ لغة الأسمبلى

علشان تقدر تستوعب الموضوع

لأن أغلب الموضوع low level

و أبحث عن كتب بناء المترجمات و هناك مادة تدرس على ما أتذكر فى كلية حاسبات و معلومات أسمها compiling building

ممكن تدور على الكتب الخاصه بها و تدرسها و تقولنا وصلت لأيه

لا تراجع و لا إستسلام

#22

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

على الكتاب

وياريت لو فى كتب على النت بس تكون باستخدام سى او سى ++ وليس بلغة البسكال

_____________________________

C Language && Windwos_API

_____________________________

#23

لقيت رابط فى الموسوعه

وهو عباره عن بناء لغة برمجه للتحكم فى روبوت وهذا هو رابط المناقشه

http://c4arab.com/showthread.php?threadid=26832

و هناك موقع آخر لبناء المترجمات

http://compilers.iecc.com/crenshaw/

و بالنسبه لحكاية كتب الكليه فعلى ما أظن أنك مش ممكن تشتريها من الكليه

لكن ممكن تشتريها من بره

و سمعت أن هناك مكتبه فى محطة الرمل أسمها "علاء الدين" بتبيع الكتب دى

لا تراجع و لا إستسلام

#24

اشطه عارفها جابت منها كتابين قبل كده

متشكر اخى المطلوب فقط الذهاب لكلية الهندسة ومعرفة الكتاب المختص بالموضوع ده

تم تعديل هذه المشاركة بواسطة hamada hassan ali في 14 أغسطس 2005 في 13:51

_____________________________

C Language && Windwos_API

_____________________________

#25

انا الان عاوز اعرف هل فى اسم معين للكتاب ولا

الكتاب الخاص بصناعة المترجمات اسمه قابل للتغير كل سنة حسب نظام الدراسة فى كلية - الهندسة

لو راحت لمكتبة علاء الدين لازم اكون عارف اسم الكتاب وياريت تقولولى هل كلمة +A تعنى صيانة الكمبيوتر فقط ام لها اشياء اخرى

تم تعديل هذه المشاركة بواسطة hamada hassan ali في 15 أغسطس 2005 في 11:07

_____________________________

C Language && Windwos_API

_____________________________

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

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