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

الطريق للمترجم العربي

بدأه Delphawi في 18 فبراير 2008 · 9 رد · 2,363 مشاهدة · في قسم التقنيات الجديدة (لإفتتاح أقسام خاصة بها لاحقا)
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم إخواني الكرام ورحمة الله وبركاته

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

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

يمكنك هنا إضافة ما تريد من اقتراحات ,

لكن المشكلة أنني لا أتقن سوى vb And vb.NET

فمن لديه خبرة , رجاااااااااااااااااء إخواني

رجااااااااااااااااااء

يمكنه مساعدتي لأكبر إفادة

وسنمشي فيه إن شاء الله , خطوة خطوة مع الدروس التي أضعها

وجزاكم الله خيرا

اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#3

انا شايف ان كلام الاخ احمد صحيح 10^854 %.... الموضوع ده التفوق هيكون فيه للـ ++C

ملحوظة : ارجو انك لا تعتبر ده احباط لكن للاسف ده واقع

حاول تتعلم ++C وبعد كده هتقدر تعمل كل اللى انت عاوزه

#4

فقط توكل على الله

هناك الكثير من الاعضاء الذيك بامكانهم مساعدتك

d4baa0.gif
#5
اقتباس
فقط توكل على الله

جزاك الله خيرا أخي الكريم , مع الأخذ بالأسباب طبعاً

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

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

وانا حاليا لم أكمل حتى دروس المسح .

المترجم العربي , هو مشروع سيهدف إلى التدريب على بناء مترجمات , سنستعمل فيها بإذن الله جميع التقنيات من مسح وتحليل وتحسين ...إلخ

والمشكلة ليست في لغة البرمجة , في البداية سنصمم بإذن الله مترجم يتعامل مع :

Msgbox

Form

Inputbox

Print

وهكذا أشياء سهلة ...

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

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

ولكن هذا لا يمنع من التعامل مع لغات أخرى , لكن ربما سنحتاج أولاً مثلاً من خبير Delphi أو C++ أو شخص لديه علم , أن يبين مميزات كل لغة في عملية الترجمة , وللعلم هذا مثال للمترجم الأول إن شاء الله :

input : Msgbox "Compiler"

Scan : If Msgbox Is in the language words

analyze : If the code have a meaning

optimizing : if there is a words can be placed in a less place

Back End : Convert to EXE

دي العمليات الأساسية , هيكون سهل بإذن الله

تم تعديل هذه المشاركة بواسطة Ala2 VB في 20 فبراير 2008 في 23:11

اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#6

سأتكلم من وجهة نظر ++C.

الميزة الأساسية للغة ++C هي إنها أقرب لغات البرمجة للغة الآلة, وبحكم ذلك فهنالك أشياء كثيرة تستطيع متابعتها والتحكم بها مثل dynamic memory allocation (لن أجرؤ على ترجمتها), او عموماً التعامل المباشر مع نظام التشغيل.

وحسب معلوماتي المتواضعة عن المترجمات, الخطوة الأصعب هي خطوة الربط (او الرابط) Linker (أو توليد ملف الـ EXE نفسه), اما عملية تحليل الرموز فيمكن إستخدام مكتبات مفتوحة المصدر مثل bison و flex لإختصار الطريق, ولكن لا أعتقد إن هنالك من حاول إستخدامهما على اللغة العربية ولست متأكد من أن ذلك ممكن أصلاً لأنها لغة تكتب Right-to-left, حيث إن bison بالذات مصمم خصيصاً ليدعم لغات الـ Left-to-right..

ممكن إستخدام لغات برمجة موجودة أصلاً مفتوحة المصدر للتعرف على العملية بأكملها, أحد هؤلاء هي لغة FreeBASIC التي حيرني فيها إمكانية قراءة ملفات DLL من مجلد النظام في وندوز وبناء واجهات كاملة بإستخدامها أثناء التثبيت لأول مرة! كذلك فهي تترجم البرامج المكتوبة إلى ملفات تنفيذية قائمة بذاتها على مجموعة من نظم التشغيل.

FreeBASIC on Wikipedia - FreeBASIC Official Site

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

في الحقيقة, خطرت لي فكرة شريرة يمكن تكون قابلة للتطبيق العملي :D , تصوروا معي... لغة برمجة عربية يتم ترجمتها مباشرة لـ NET framework. !!! أو بالتحديد للغة MSIL, هنالك من قام بشئ مشابه مع لغة بايثون (إنظر IronPython) سأحاول البحث في هذا الموضوع أكثر... إذ إنه يبدوا الأكثر إمكانية للتحقيق.

آسف للتشعب في مواضيع كثيرة :)

تم تعديل هذه المشاركة بواسطة SandHawk في 2 مارس 2008 في 02:49

#7

عذرا علي المقاطعة

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

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

طبعا البرنامج عبار عن سورس كود

وايضا ينتج ملفات exe

وبه ايضا امثلة في البرمجة

LC41SRC.zip

من قال فيني عيب والله ظلمني ×× فيني ثمان عيوب والتاسع الطيب

العاشر ليا من رفـيقي زهمني ×× اسوق له عمري واسوق المواجيب

#8

مشروع APL, بناء لغة برمجة عربية ..

/index.php?showtopic=51402

d4baa0.gif
#9
اقتباس
الخطوة الأصعب هي خطوة الربط (او الرابط) Linker (أو توليد ملف الـ EXE نفسه)

هذا أصعب شيء

اقتباس
طبعا البرنامج عبار عن سورس كود

وايضا ينتج ملفات exe

وبه ايضا امثلة في البرمجة

جزاك الله ألف خير

اقتباس
مشروع APL, بناء لغة برمجة عربية ..

رأيته أخي الكريم

لكن لماذا اسمه APL اسم English

المفروض بدلا من

Arabic Programming Language

أن تكون

لغة الفريق العربي للبرمجة , لغة البرمجة العربية ...

اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#10
Ala2 VB كتب:
لكن لماذا اسمه APL اسم English

المفروض بدلا من

Arabic Programming Language

ذلك الاسم المتتداول بانتظار ان يخرج باسمه الحقيقي مثل ويندوز Longhorn هو اسم Vista

Ala2 VB كتب:
أن تكون

لغة الفريق العربي للبرمجة , لغة البرمجة العربية ...

لاستخدام ذلك الاسم يجب ان يكون مطوريه من اعضاء المؤسسة

والمؤسسة قيد الانشاء...

ملاحظة: كن متفائل اخي علاء، حسب ما ارى في الافق ليس لغة برمجة عربية واحدة فقط بل سيفوق العدد خمسة!

والسلام عليكم ورحمة الله

تم تعديل هذه المشاركة بواسطة B.M.AbdelAziZ في 19 مارس 2008 في 16:59 — السبب: نون

d4baa0.gif

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

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

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

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

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