StreamTokenizer

פרדיקט

New member
StreamTokenizer

נניח שאני רוצה לעשות שימוש ב- StreamTokenizer של Java. בהינתן מחרוזת (שנמצאת בקובץ כמובן) : ;I+LOVE(3+5)YOU אני רוצה שתתן לי את ה - tokens (בקריאות ()nextToken כמובן) : 1. I 2. + 3. LOVE 4. ) 5. 3 6. + 7. 5 8. ( 9. YOU 10. ; לא הצלחתי להבין את ה - API של SUN. צריך להגדיר את + ) ( ; וכל מה שאני רוצה שיהיה token בפני עצמו כ - wordChar או כ - ordinaryChar ? מה עושים שם? תודה, הפרדיקט.
 

voguemaster

New member
כל ה-TOKENIZERS פועלים באותה צורה

אתה יוצר אותם עם רשימה של תווים שנקראים מפרידים. מה שהאובייקט עושה הוא לעבור על המחרוזת (או STREAM, לא חשוב) ולהפריד אותה ל-TOKENS כשכל TOKEN מופרד בין שני מפרידים. לדוגמא, אם המפרידים שלך הם התווים < ו->, ויש לך מחרוזת קלט שנראית כך:
<token1><token2>>token3<>token4>...​
אז תקבל את ה-TOKENים מופרדים כמו שצריך. למעשה, התווים המפרידים נעלמים להם וכל מה שנשאר בקריאה ל-nextToekn() הוא כל פעם ה-TOKEN הבא. ב-C כתבתי פונקציה שעושה את זה ב-20 שורות
בכל אופן, לדעתי תיאלץ להגדיר מפרידים אחרים (לא + וסוגריים כמו שכתבת שהגדרת!) אלי
 
למעלה