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

كيف تبرمج مترجما...

بدأه khatibe_30 في 2 مارس 2010 · 9 رد · 1,817 مشاهدة · في المواضيع والدروس
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
12780421177229952ng2.gif

نقدم لكم هذا الكتاب الذي يشرح بطريقة سهلة و مفهومة الخطوات الأساسية لكيفية برمجة مترجم (Compilateur) خاص بك, لا يهم أن تكون مهمة هذا المترجم ترجمة أكواد لغة متقدمة إلى لغة الآلة بل يمكن إستعمال الكتاب لبرمجة برامج تحول الأكواد من لغة إلى أخرى, و لعل من أبرز الأمثلة البرامج المنتشرة التي تحول من اللغة C إلى PASCAL أو إلى JAVA و غيرها

pagedegarde.jpg

روابط التحميل

CompilerLesson.pdf

تم تعديل هذه المشاركة بواسطة الشمري في 3 مارس 2010 في 01:00 — السبب: إضافة الكتاب كمرفق

8

[سبحان الله و بحمده, سبحان الله العظيم]

#2

السلام عليكم ...

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

لم أقرأ سوى المقدمة, و لكنها أعطتني انطباعاً أن كاتب تلك الوريقات يفقه ما يكتب, و لغته العربية جمية جداً,

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

للأسف أنا مشغول في هذه الأيام, و لكن تأكد بأن ملاحظاتي المتواضعة ستأتي تباعاً, و إن شاء الله نفيد و نستفيد.

أتمنى أن تقوم برفع الكتاب و المثال الموجود في الكتاب في المنتدى لكي يتم حفظه بدلاً من ضياعه في مواقع التحميل,

تقبل تحياتي...

2
#3

أولا, شكرا على الكلمات الرائعة...

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

تحياتي للكل...

[سبحان الله و بحمده, سبحان الله العظيم]

#4

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

بالفعل شيء جميل جداَ لذا سأقرأه بتمعن

وأتمنى لك مزيد من التقدم

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

If you want to learn programming start with C++

#5

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

المهم، لقد حاولت البدئ بتتبع الكتاب وعثرت في توليد كودالسكانر

أولا قمت بفتح المذكرة وكتبت هذا الكود وسميته expl2.l

%{ 
#include<stdlib.h> 
#include"D:\Lex_Yacc\exemples\expy2.h" 
%} 
blanc               [ \t]+ 
chiffre             [0-9] 
entier              {chiffre}+
%% 
{blanc} 
{entier}          { 
                   yylval=atoi(yytext); 
                   return(NOMBRE); 
                  } 
"+"               return(PLUS); 
"*"               return(MULT); 
"-"               return(MOIN); 
"/"               return(DIVS); 
"^"               return(PUIS); 
"("               return(PARG); 
")"               return(PARD); 
"="               return(FIN); 
 \n                {} 
%%

وكتبت في المفكرة أيضا الكود التالي وسميته FLEX_2.bat

FLEX expl2.l
pause

أنظر إلى المجلد

post-548-12676612018188_thumb.jpg

ولكن لا أدري لماذا لم يجد الملف الخطأ في الصورة

post-548-12676609719736_thumb.jpg

وهل يمكن الإستغناء عن lex و bison وكتابة السكانر برمجيا؟

#6

post-548-12676612018188.jpg

الملف الذي كتبت فيه وصف السكانر اسمه expl2.l.txt و ليس expl2.l, و لذلك يجب أن تكتب في الملف الدفعي FLEX expl2.l.txt أو غير اسم الملف إلى expl2.l

طبعا يمكن الإستغناء عن LEX و BISON و لكن لماذا... لدينا أدوات تسهل علينا العمل فلماذا تحاول البداية من الصفر ؟

عند حفظ الملف ن البلوك نوت غير نوع الملف من ملف نصي *.txt إلى *.*.

تمنياتي لك بالتوفيق.

تم تعديل هذه المشاركة بواسطة yacino في 4 مارس 2010 في 11:30

[سبحان الله و بحمده, سبحان الله العظيم]

#7

جزاك الله خير أخي ياسين على الرد لقد نجح الأمر وحصلت على ملف lex.yy يحتوي على أكثر من 1500 سطر مع التعليق :blink:

#8

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

و

جعلك زخرا للاسلام و للمسلمين

]

#9

راااااائع جدااا

#10

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

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