ב :: ליצור

ב :: צור הוא מודול פרל שבו אתה יכול ליצור עצי OP משלך.
הורד עכשיו

ב :: ליצור דירוג וסיכום

פרסומת

  • Rating:
  • רישיון:
  • Perl Artistic License
  • מחיר:
  • FREE
  • שם המפרסם:
  • Simon Cozens
  • אתר האינטרנט של המוציא לאור:
  • http://search.cpan.org/~simon/Sub-Versive-0.01/Versive.pm

ב :: ליצור תגים


ב :: ליצור תיאור

B :: צור הוא מודול פרל שבו אתה יכול ליצור עצי אופ משלך. B :: צור הוא מודול פרל שבו אתה יכול ליצור B השימוש trees.SYNOPSIS אופ משלך :: צור; # אל תעשה דבר, לאט. בדקו {null $ שלי = new B :: OP ( "null", 0); שלי $ להיכנס = B החדש :: OP ( "הזן", 0); שוטר $ שלי = new B :: COP (0, "היי", 0); חופשת $ שלי = new B :: LISTOP ( "חופשה", 0, $ להיכנס, $ null); $ לחופשות> ילדים (3); $ Enter-> אחים (שוטר $); $ Enter-> הבא (שוטר $); $ Cop-> אח ($ null); $ Null-> הבא (חופשת $); $ Cop-> הבא (חופשת $); # תגיד Perl איפה למצוא העץ שלנו. B :: main_root ($ חופשה); B :: main_start ($ להיכנס); WARNINGThis} מודול ייצור תקלות פילוח אם אתה לא יודע איך להשתמש בו כראוי. אזהרה נוספת: לפעמים אני לא יודע איך להשתמש בה properly.There המון שיטות אחרות ופונקציות שירות, אך אינו מתועד הוא כאן. הדבר נעשה בכוונה, ולא רק דרך עצלות. אתם צפוי קראו את מקורות Perl ו XS עד מודול זה לפני שתנסה לעשות משהו עם מודול B של it.Patches welcome.Malcolm הביטים מאפשר לך לבחון את עץ אופ Perl בזמן הריצה, בחלל Perl; זה הבסיס של מהדר Perl. אבל מה זה לא מאפשר לך לעשות זה לתפעל כי עץ op: זה לא יאפשר לך ליצור ops חדש, או לשנות את הישנים. עכשיו אתה can.Well, אם אתה מכיר מקרוב עם internals של Perl, אתה can.B :: צור תורות ושיטות הרצוע של B לתוך שיטות get-סט. לפיכך, במקום רק אומר $ op2 = $ op-> הבא; אתה עכשיו יכול לומר $ op-> הבא (op2 $); לקבוע את אופ הבא בשרשרת. זה גם מוסיף שיטות בנאי ליצור ops החדש. זה המקום שבו זה נעשה ממש שעיר. B החדש :: OP (סוג, דגלים) החדש B :: UNOP (סוג, דגלים, ראשון) B החדש :: BINOP (סוג, דגלים, ראשון, האחרון) B החדש :: LOGOP (סוג, דגלים, ראשון, שני) B החדש :: LISTOP (סוג, דגלים, הראשון, האחרון) חדש B :: COP (דגלים, שם, הראשון) בכל בנאים לעיל, סוג הוא או ערך מספרי המייצג את סוג אופ (62 היא המפעילה בנוסף, למשל) או את שמו של op. ( "להוסיף") (אגב, אם אתם יודעים על ops אישית ופועל registed אותם כראוי עם המתורגמן, אתה יכול ליצור ops המנהג לפי שם:. חדש B :: OP ( "mycustomop", 0), או כל דבר אחר) הראשון, מעמד ואחרות הן ops להיות מחובר אופ הנוכחי; אלה צריכים להיות חפצי B :: OP. אם עדיין לא יצר את ops עדיין, אל דאגה; לתת ערך כוזב, ולמלא אותם מאוחר יותר: x $ = B החדש :: UNOP ( "לשלול", 0, undef); # ... ליצור כמה ops יותר ... X- $> הראשון ($ y); בנוסף, אפשר ליצור מפעיל nextstate חדש עם newstate B :: op (דגלים, התווית, op) באותו אופן כמו B :: COP :: חדש - זה יהיה גם, עם זאת, מוסיפים את lineseq op.Finally, אתה יכול להגדיר את השורש העיקרי ואת אופ החל על ידי העברת ops אל B :: main_root ו- B :: main_start functions.This מודול יכול כמובן לשמש לכל מיני מטרות כיף. אחד הטובים יהיה conjuction עם מסנני מקור; יש מקור המסנן שלך לנתח קובץ קלט בשפה זרה, ליצור עץ אופ על זה ולקבל Perl לבצע אותו. אז שלח לי ותגיד לי איך עשית את זה. ולמה. דרישות: · פרל


ב :: ליצור תוכנה קשורה