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

مشروع بناء محرر بى اتش بى قوى بواسطة سى شارب

مغلقرائج
بدأه Anwarica في 11 مارس 2005 · 65 رد · 6,104 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#51
hamada hassan ali كتب:
لبناء محرر او مترجم  للغة  فهذا  امر  فى  غاية الصعوبة 

ام  يمكننا عمل مفسر للغة  سيكون

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

وفكرة  بناء محرر php

من  لغة السى شارب  تحتاج الى اعادة نظر  لان  لغة السى شارب  ليست لغة  بل  هى مفسر  للغة سى ++

ولكن باسلوب اللغات المرئية كمثل الفيجوال بيسك 

ولكن للاسف  تورط  فى دراسه هذه اللغة  سى شارب    ولكن مضطر  اكملها

هذه وجهة نظر

الحقيقة لا توجد كلمة واحدة صحيحة في هذه المشاركة

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

أولا لا توجد أي علاقة بين المحرر و المترجم فيمكنك بناء المحرر الذي تريده بدون أن تعرف أي شئ عن تصميم المترجمات و الدليل على هذا هو أن أغلب المحررات القوية يمكنك أن تضيف لها لغات جديدة مثل ال Eclipse يمكنك أن تضيف اليه ++C عن طريق plug in بسيط يمكنك تصميمه بنفسك و يمكنك استخدام أي مترجم ++C مثل gcc أو bcc أو أي شئ اخر و أيضا يمكنك أن تبحث عن Notepad 2 فهي مثال على محرر بسيط لجميع لغات الأرض بلا استثناء و لا تحتوي على مترجم واحد لأي منها بل و يمكنك اضافة ماتريد من لغات اليها و حجمها لا يتعدى 500 كيلو بايت

ثانياً

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

مامعنى هذه الجملة؟؟؟ فلم أفهم منها حرفاً

ثالثاً

اقتباس
وفكرة  بناء محرر php  من  لغة السى شارب  تحتاج الى اعادة نظر  لان  لغة السى شارب  ليست لغة  بل  هى مفسر  للغة سى ++  ولكن باسلوب اللغات المرئية كمثل الفيجوال بيسك 

و هذه معلومة جديدة جداً الصراحة و ليس لها أي أساس من الصحة و كأنك تقول أن ال#C عندما تقوم بعمل Compile فإن الكود يتحول الى ++C (ده لو انت فاكر كده يبقى محتاج تعيد النظر في معلوماتك من أول ألف باء برمجة)

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#52

اعتقد انك تعرف جيدا انه لا ينفع بناء مفسر للغة من مفسر اخر

المفسرات تصمم من المترجمات

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

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

وثانيا :

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

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

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

تم تعديل هذه المشاركة بواسطة hamada hassan ali في 6 سبتمبر 2005 في 04:05

_____________________________

C Language && Windwos_API

_____________________________

#53

يا عم انت بتقول ايه بس

كود #C ايه اللي بيتحول ل ++C يا ابني ماكانش حد غُلب و ماكناش حتحتاج لdot net framework و لا غيره و لا JET Compiler و لا الحاجات دي

أنا بس شايف عندك أخطاء في المفاهيم

انت أساساً عارف الفرق بين المترجم Compiler و المفسر Interpreter ؟ عشان أنا لسة شارحه حالاً من كام مشاركة كدة و كمان شرحت اللغات الوسيطة بين النوعين راجع المشاركة و لو ما فهمتش قول عشان اشرحلك تاني

و كمان موضوع النقاش عن تصميم محرر Editor للغة PHP مش صناعة المترجمات أو المفسرات لأن المفسر بتاع الPHP موجود فعلاً و كمان مفتوح المصدر

تم تعديل هذه المشاركة بواسطة bashmohandes في 6 سبتمبر 2005 في 04:11

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#54

اخى باشمهندس

هل لك مواضيع فى بناء المترجمات والمفسرات والفروق بينهما

ياريت تدلنى عليهم او تعطينى اسماء المشاركات دى

وانا ابحث عنها

وساقول لك راىء

ولكن لو سمحت انا نفسى اشترى كتاب بيشرح بناء المترجمات بكل كبيرة وصغيرة بها ( من الالف الى الياء)

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

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

_____________________________

C Language && Windwos_API

_____________________________

#55

لقد شرحت المبادئ الأساسية أكثر من مرة و هذا ما استطعت الوصول اليه من أداة البحث

الفرق بين المفسر و المترجم مشاركة رقم 49

طريقة عمل المترجمات و التنقل بين مراحلها مشاركة رقم 31

مبادئ علم المترجمات مشاركة رقم 3

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#57

أنا مش عارف إيه اللي دخل المترجمات في الموضوع

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#58

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

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

i am sorry

bashmohandes

تم تعديل هذه المشاركة بواسطة hamada hassan ali في 6 سبتمبر 2005 في 20:26

_____________________________

C Language && Windwos_API

_____________________________

#59

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

كيف سيقترح لك المحرر لستة بالاشياء اللي ممكن تكتبها لو لم يكن يعرف كافة الـ functions و الـ variables الموجودة و يعرف كل function يتبع لأي class .. و ايضا لو كتبت مثلا

SomeClass c = .....;
c.func

فإنه لكي يقترح لك لستة لتكمل func فإنه يجب ان يعرف ان c هو من الفئة SomeClass و من ثم ينظر الى الحقول و الداول داخل الكلاس اللتي تستطيع الوصول اليها .. يعني لازم ياخذ في الاعتبار public و private .. و يعرف متى تستطيع الوصول الى الـ private و متى لا تستطيع.

يعني تحتاج معرفة قواعد اللغة و تحتاج الى تحليل الاكواد المكتوبة.

مثلا في Eclipse المحرر هو مجرد محرر نصوص .. و لكن محرر نصوص الجافا الموجود في eclipse يعرف كل تفاصيل اللغة و دائنا ينبهك على الأخطاء و مثلا اذا ورثت من abstract class دون ان تعمل implementation للـ abstract methods فإنه ينبهك لهذا, بل و يستطيع ان يقوم هو بكتابة تعريف هذه الـ methods نيابة عنك.

و هذا الأمر واجهته عندما حاولت دعم D في eclipse, حيث اني الان احاول كتابة برنامج لتحليل الكود المكتوب بلغة D و كتبت له lexical analyzer (تقريبا) بلغة جافا و قمت ايضا بمحاولة كتابة parser بسيط (لتحليل الـ declarations فقط) و لكن لم انجح فيه بشكل كامل (في الحقيقة اوقفت العمل عليه في منتصف الطريق) و الان احاول اعادة كتابة الـ lexer و الـ parser و لكن هذه المرة بلغة D نفسها.

كتبت lexer بسيط و الان احاول كتابة parser

http://aljudy.org/dstuff/simple.d.lexer.zip

طبعا هذا اول lexer اكتبه في حياتي .. لهذا قد لا يكون بالشكل الصحيح .. و لكن اعتقد انه يؤدي الغرض بالنسبة لما اريده.

المهم اعتقد من يريد بناء محرر قوي للغة معينة فسيقوم بكتابة نصف مترجم, لأنه على أقل تقدير سيكون عليه تحليل الاكواد.

#60

بالطبع المحررات الضخمة مثل VS أو Eclipse تقوم بعمل بعض وظائف الCompiler من أجل تقديم بعض الخدمات و لكن هذه المحررات ليست ما نتكلم عنه هنا

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#62

لأ ليس note pad و لكن كل شئ يأتي على مراحل

إذا استطعنا فقط في المرحلة الأولى تلوين النصوص و الرموز الأساسية للغة مع بعض الCode Samples و الCode Template ستكون هذه بداية طيبة لمرحلة أكبر و هكذا

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#63

أرجو أن لا تتغير مواضيع الردود عن موضوع المشاركة الأصلي.

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

مثل الإكمال التلقائي..الخ

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

وشكراً

#64

طال الموضوع دون الخروج حتى بنتيجة ؟

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

مع اني مبرمج vb.net لكن مش مشكلة C# اخت vb .

من من الشباب بيتولى الإدارة ومتابعة تجميع الأكواد وترتيب البرنامج . اما ان نجلس كذا مرة في كيف نعمل ملف تنفيذي او نفهم الأسمبلي والمترجمات , خلينا نمشي حبة حبة . ولا نخرج عن الموضوع الأساسي .

انا حاليا في برنا مجي احاول اعمل التعليقات التذكارية مثلا عندما تعمل MessageBox يضهر لك تعليق يوضح لك صيغة الدالة بس للأسف تعبت فيه جدا ولم اصل إلى حل ياريت لو حد يساعدني في اي رابط او كود.

#65
hasan_aljudy كتب:
ما الذي نتكلم عنه إذا؟ notepad؟

لا حاجة أكبر شوية كده، على الأقل فى نظرى تلوين الأكواد البيشاوية داخل "فرونتبيج" لذا فكرت فى البلج إن...

اقتباس
طال الموضوع دون الخروج حتى بنتيجة ؟

ألا تعلم أننى حددت مده زمنية لا تزيد عن 16 سنه (h) (h) (h)

:rolleyes:

أيه مش كتير خالص :D

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…