» נושאי לימוד
» נושאי לימוד
יום שני 29 באפריל 2024
תוכנית הדגמה
דף ראשי  מתקדמים  Stream Tokenizer  תוכנית הדגמה גרסה להדפסה

תוכנית הדגמה

 

התוכנית מתחילה ביצירת קובץ בדיקה  המכיל את ערכי הASCII  מ 32 עד 126 כולל 126. בנוסף, מספר תווים עודפים מוכנסים לזרם כדי להמחיש התנהגות מיוחדת של המחלקה Stream Tokenizer.

לדוגמא, כל תו שביעי מוכנס תו רווח. תו רווח הוא תוחם מילה של ברירת מחדל של המחלקה Stream Tokenizer ומשמש להפרדת אסימונים בזרם הקלט. תו של מירכאות כפולות (") מוכנס מספר מקומות-תו מעבר למקום הרגיל של התו ברצף ה ASCII כדי לגרום לכך שלתווים שנמצאים בין לבין יתייחסו כמחרוזת עם מירכאות (quoted string).

המירכאות הכפולות הן תוחם של ברירת מחדל עבור מחרוזת עם מירכאות ל Stream Tokenizer.

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

כפי שכבר אמרנו, ה  Stream Tokenizerמתייחסת לכל תו קלט כאילו היה אחד מהבאים:

·   תו רווח לבן המפריד בין אסימונים בזרם הקלט.

·   תו המשמש לתחימת מחרוזת עם מירכאות

·   תו רגיל  שאינו תוחם, לא מקיף מחרוזת עם מירכאות, ואינו אחד מהבאים:

                      ·   תו שהוא חלק ממילה

                      ·   תו שהוא חלק ממספר

כפי שאמרנו בתיאור של המתודות: קיימות מספר יכולות מיוחדות בקשר לתו (/) ולתו (*) בקשר לאופן בו הם משמשים בהערות של  ג'אווה.

על כל פנים, תוכנית זו אינה מדגימה את היכולות האלה. מטרת השימוש באחת המתודות של המחלקה היה לגרום שיתייחסו לתו (/) כאל תו רגיל. מטרת מתודה אחרת הייתה לגרום שלתווים s,j,k, ו- l יתייחסו כאל תווי רווח לבן.

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

במבנה ה-switch השתמשו לניתוח ערך ההחזרה ולביצוע הפעולה המתאימה על בסיס ערך ההחזרה הזה. הקובץ נקרא ופורק על ידי אובייקט ממחלקת Stream Tokenizer. השילוב בין של ערך ההחזרה מהמתודה nextToken() ובין הערך של משתנה המופע של ttype הניב תצוגה שהראתה כיצד הקובץ נותח.

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

אני אעיר על חלק מהפלט כשאדון במקטעי קוד מעניינים.

 

התוכנית נבחנה באמצעות JDK 1.1.6  במסגרת Win95.

 29-11-03 / 16:52  נוצר ע"י רונית רייכמן  בתאריך 
 מתודות - הקודםהבא - מקטעי קוד מעניינים 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 4