איך בונים שפת תכנות?

איך בונים שפת תכנות?

שאלה די כללית..אבל בבקשה תנו לי קווים כלליים... אני יודע VB,C,JAVA, ו-C#.... עמית
 

zontar

New member
אם לא תענו לו הוא יהפוך ל-עמיתלונן

 
העלת בי נוסטלגיות... ../images/Emo13.gif

היה לי חבר שקראו לו "עמית" - אין לך מושג כמה שמות המצאנו לו: עמיתהפך, עמיתרצה, עמיתלבש - היו גם כמה קורעים - לא בראש עכשיו
אני בטח שכל זה מאוד מעניין אותך
 

תמר,

New member
כל התורה כולה על רגל אחת ../images/Emo12.gif

זה נושא לקורס שלם, אבל בקווים מאוד כלליים צריך: א. הגדרת מבנה השפה (מבנה הפקודות, הביטויים וכו´) ב. תוכנית שמנתחת טקסט (parser) ג. תוכנית שבודקת את התאמת הטקסט המנותח להגדרת השפה ד. תוכנית שמתרגמת את הפקודות בשפה החדשה לפקודות בשפת מכונה, או בשפה שתוכנית אחרת יכולה להריץ (ויש עוד הרבה מרכיבים שחסרים, כמו: מערכת לניהול נתונים, תוכנית לאופטימיזציה ועוד) אני אשמח להערות, כי למדתי את זה לפני המון זמן, ובטח שחכתי משהו
 

אלדד26

New member
קורס? נסי תואר שני ../images/Emo13.gif

מדובר בקבוצת קורסים כמו קומפיילרים, שפות טבעיות, תכנון שפות תוכנה, סיבוכיות וחישוביות, ועוד ועוד ועוד ועוד, כיד הדמיון הטובה
 

The_Mighty_Perr

New member
לא לגמרי מדוייק

בס"ד קומפיילרים הוא קורס אחד - שמלמד אותך כל מה שאתה צריך כדי לבנות קומפיילר... קומפיילר עלוב למדי... כדי לכתוב קומפיילר טוב או מסחרי צרחך לדעת את כל מה שאמרת ועוד... למשל יש צורך באופטימיזציה רצינית - רק זה מספיק לקרוס שלם יותר, אבל זה לא חיוני לקומפיילר בסיסי... בברכה...
 

ekampf

New member
יש גם בתואר ראשון

קורס קומפילצייה מלמד את הבסיס בכתיבת קומפיילרים (ספר הדרקון למי שמכיר) והוא קורס ותואר ראשון....
 

אלדד26

New member
אני רוצה לראות אתכם

כותבים קומפיילר נורמלי (לא סופר מסובך) אחרי קורס קומפיילרים. זה מגוחך. שלא לדבר על להמציא שפה חדשה, שזה כבר בכלל סיפור מטורף.
 

תמר,

New member
תסביר את עצמך - מה זה "נורמלי"

אני כתבתי קומפיילר במהלך קורס קומפיילרים, אבל כמובן ללא אופטימיזציות וללא פלט של תוכנת הרצה עצמאית
 

חובבן

New member
לא מטורף כלל

קל מאד לבנות קומפיילר בסיסי לשפה עם חוקי גזירה פשוטים. יש כלים אוטומטים שמייצרים זאת ישירות מחוקי הגזירה: YACC,LEX. כמובן ששפה זאת לא תהיה שימושית ככלי פיתוח. מתי זה כן שימושי? אם אתה רוצה לתת למשתמש command line כמו ב UNIX, או דוס, הגדרת שפה פשוטה ובנית קומפיילר בזעיר ענפין תתן לך גם כח רב וגם מימוש פשוט ביותר. כשאני חושב על, ל lisp יש חוקי גזירה פשוטים ביותר, ולמרות זאת היא שפה חזקה ושימושית.
 
למעלה