זוהי הפקודה שמח שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
happy - מחולל הניתוח עבור Haskell
תַקצִיר
שמח [אוֹפְּצִיָה] ... פילה [אוֹפְּצִיָה] ...
תיאור
דף מדריך זה מתעד בקצרה את שמח פקודה.
דף מדריך זה נכתב עבור הפצת Debian GNU/Linux בגלל המקור
לתוכנית אין דף ידני. במקום זאת, יש לו תיעוד בתחומים אחרים
פורמטים, כולל DVI, מידע ו-HTML; ראה למטה.
שמח היא מערכת מחוללת מנתח עבור Haskell. `HAPPY' הוא ראשי תיבות דיסלקטי של `A
מחולל Haskell Parser דמוי Yacc'.
ישנם שני סוגים של קבצי דקדוק, file.y ו file.ly, כשהאחרונים מתבוננים ב
מוסכמה הפוכה של הערות ציפור (כלומר כל שורת קוד חייבת להתחיל ב-'>'). ה
דוגמאות מופצות עם שמח הם כולם של .ly הטופס.
אזהרה: בעת השימוש hbc (Chalmers Haskell) מבנה הארגומנט הפקודה הוא מעט
שונה. הסיבה לכך היא שמערכת זמן הריצה hbc לוקחת כמה דגלים כשלה (עבור
הגדרת דברים כמו גודל הערימה וכו'). ניתן לעקוף בעיה זו על ידי הוספת א
מקף בודד (`-') לשורת הפקודה שלך. אז כשמשתמשים בגרסה שנוצרה על ידי hbc של Happy,
מבנה הטיעון הוא:
שמח - [אוֹפְּצִיָה] ... פילה [אוֹפְּצִיָה] ...
אפשרויות
התוכניות עוקבות אחר תחביר שורת הפקודה הרגיל של GNU, עם אפשרויות ארוכות שמתחילות בשניים
מקפים (`--'). סיכום האפשרויות כלול להלן. לתיאור מלא, ראה
התיעוד האחר.
-h, - עזרה
הצג סיכום של אפשרויות.
-v, --גִרְסָה
הדפס מידע על גרסת הפלט הרגיל ואז צא בהצלחה.
-a, --מַעֲרָך
מורה ל-Happy ליצור מנתח באמצעות מנתח הפחתה בהיסט מבוסס מערך.
כאשר משתמשים בו יחד עם -g, המערכים יקודדו כמחרוזות, וכתוצאה מכך
במנתחים מהירים יותר. לְלֹא -g, ישמשו מערכי Haskell סטנדרטיים.
-g, --ghc
מורה ל-Happy ליצור מנתח שמשתמש בהרחבות ספציפיות ל-GHC כדי להשיג
קוד מהיר יותר.
-c, --לִכפּוֹת
השתמש ב-GHC unsafeCoerce# הרחבה ליצירת מנתחים קטנים יותר ומהירים יותר. חיסרון אחד
הוא שסוג מסוים של בטיחות אובד, מה שאומר שמנתח שנוצר עם -c אולי
קומפילציה בסדר אבל קורס בזמן ריצה. הקפד להרכיב את הדקדוק שלך בלי -c
ראשית כדי לוודא שהוא מתאים לסוג.
לאפשרות זו יש השפעה די משמעותית על הביצועים של המתקבל
מנתח, אך זכור כי מנתחים שנוצרו בדרך זו ניתן להידור רק על ידי
GHC 3.02 ומעלה.
ניתן להשתמש באפשרות זו רק בשילוב עם -g.
-d, --לנפות
צור מנתח שידפיס אליו מידע ניפוי באגים סטדרר בזמן ריצה,
כולל כל התזוזות, ההפחתות, מעברי המצב והקלטות האסימונים שבוצעו
על ידי המנתח.
ניתן להשתמש באפשרות זו רק בשילוב עם -a.
-i [קובץ], - מידע[=קובץ]
מנחה את שמח להפיק קובץ מידע המכיל מידע מפורט על
דקדוק, מצבי מנתח, פעולות מנתח והתנגשויות. קבצי מידע חיוניים במהלך
איתור באגים בדקדוקים.
ארגומנט שם הקובץ הוא אופציונלי, ואם מושמט קובץ המידע ייכתב אליו
FILE.info (איפה קובץ הוא שם קובץ הקלט עם כל סיומת שהוסרה).
-o קובץ, --outfile=קובץ
מציין את היעד של מודול המנתח שנוצר. אם מושמט, המנתח
יונח ב FILE.hs, שם קובץ הוא השם של קובץ הקלט עם כל
הרחבה הוסרה. אם קובץ is - המנתח שנוצר נשלח לתקן
פלט.
-m שֵׁם, --שם-קסם=שֵׁם
Happy מקדים את כל הסמלים שבהם הוא משתמש פנימי עם אחד מהם שמח or שמח. אל
השתמש במחרוזת אחרת, למשל אם השימוש ב שמח מתנגש עם אחד מ
הפונקציות שלך, ציין את הקידומת באמצעות -m אוֹפְּצִיָה.
-t DIR, --תבנית=DIR
מורה שמח להשתמש בספרייה זו כאשר מחפשים קבצי תבניות: קבצים אלה
מכילים את הקוד הסטטי ש-Happy כולל בכל מנתח שנוצר. אתה
לא צריך להשתמש באפשרות זו אם Happy מוגדר כהלכה עבורך
מחשב.
-l, --glr
מורה על Happy להוציא מנתח GLR במקום an LALR(1) מנתח.
-k, --לְפַעֲנֵחַ
גורם למנתח GLR ליצור קוד לפענוח יער הניתוח לרשימה של
תוצאות סמנטיות (דורש --ghc).
-f, --לְסַנֵן
גורם למנתח GLR לסנן צמתים שאינם נדרשים עבור הסמנטיקה
תוצאות (אופטימיזציה ניסיונית, דורשת --ghc).
השתמש באינטרנט שמח באמצעות שירותי onworks.net