עזרה בחשיבה

עזרה בחשיבה

קבלתי תרגל, אותה אפשר לתכנת ב-#C או אפילו בJAVA. אני מכיר מעט JAVA ויותר #C, אך עוד לא עליתי על פתרון יעיל לבעיה. אני צריך לפתח אפליקציה שתייצר GUI לפי הנחיות שמתקבלים בקובץ שבנוי בצורה של קובץ XML. אומנם אסור לי להשתמש בשום דבר של XML בתרגיל הזה לכן אני מחפש רעיון אחר, לא משהו מן המוכר. הקובץ שאני מקבל הוא בסגנון הבא:
<Panel id="p1" name="Panel1" > <Button id="4" text="MyButton" > <Button id="4" text="MyButton" > <Panel id="p2" name="Panel2" > <Label id="5" text="This is label" >​
זה מעין קובץ קונפיגורציה שבנוי בצורה של XML, יש היררכיות פנימיות וכו'. ברור לי שהמקובץ הזה אני אמור לייצר עץ כזה שיאמר לי בדיוק מי אבא של מי והבנים וכו', כדי לעשות סדר בהיררכיה. הבעיות העיקריות שלי בשלב הזה הם: 1. כיצד לקרוא את הקובץ הזה בצורה יעילה וגם לבדוק שהוא תקין, מכל הבחינות. שלכל סוגר פותח למשל <Someting> יש סוגר </Somtgin> ושאין שום דבר פגום בקובץ עצמו. 2. האם להעתיק את כל תוכן הקובץ לדיסק, או רק חלקים ממנו בכל פעם. אני הרי לא רוצה לגשת לקובץ כל פעם מחדש ולהעתיק ממנו שורה. וגם, אם זהיתי שמדובר נגיד בButton, אולי אין לי צורך בכל השורה, אלא רק במידע הרלוונטי לגביו. אשמח לכל רעיונות כיצד לעבוד בתוך הקובץ על מנת לשלוף את המידע בצורה מהירה שתאפשר לי אחר כך לעבד אותו ולהציג את הGUI שהקובץ מבקש שיצרו.
 

vinney

Well-known member
בגדול ביקשו ממך לכתוב parser

הבנתי נכון? אם לתרגם את השאלה שלך "ביקשו ממני לממש XML משלי ואין לי מושג איך", זה יהיה תרגום קרוב למציאות? מה הידע שלך באוטומטים וקומפילציה? האם המילה "דקדוק"היא בעלת משמעות עבורך?
 
../images/Emo10.gif מצטער לאכזב

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

vinney

Well-known member
אם זה הוזכר כבמבוא לתרגיל

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