» נושאי לימוד
» נושאי לימוד
יום רביעי 8 במאי 2024
שפת scheme
דף ראשי  שפות תכנות - שפת ++C/C : הידור והרצת תכנית  שפת scheme גרסה להדפסה

הקדמה

 

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

אנו מריצים תכניות סקים על ידי מפענח למרות שקיימים קומפיילרים שונים לשפה זו.

תחילה, נכתוב קובץ בשפת סקים, לשם כך ניתן לו סיומת sch. את הקובץ ניתן לכתוב בכל אחד מהעורכים של יוניקס.

 

 לדוגמא: הקובץ len.sch המקבל רשימה ומחזיר את אורכה:

 

(define (len x)

                   (cond ((null? X) 0)

                                      else (+ 1 (len (cdr x))))))

 

איך מריצים scheme?

 

ניתן להריץ סקים ישירות ממעטפת היוניקס על ידי הקשת הפקודה sch:

% sch

 

כעת נפתח לפנינו סמן ההנחיה של סקים < . על מנת שהמפענח יוכל לקרוא את הקובץ יש להקיש את הפקודה load:

> (load "filename")

 

כדי שהמפענח יוכל להעריך ביטוי (למשל פונקציה) יש להקליד את הביטוי ואחריו Enter.

 

 הערה: יש אנשים המעדיפים להריץ ישירות מתוך emacs שכן ניתן לערוך את התוכנית ולהריצה מאותה סביבת עבודה. לשם כך יש לפצל את חלון emacs לשני חלונות על ידי: Ctrl+x 2. אחר כך הקש o על מנת לעבור לרצועה בתחתית החלון. הקש Esc ושחרר ואחר כך הקש x. הקלד את המילה "shell". זה נותן לך סביבת מעטפת של יוניקס בתחתית החלון. כעת תוכל להקליד sch כדי לקרוא למפענח של סקים.

 

 דוגמא:

> (load "len")

loading len;

done loading len.sch;

Evaluation took 0 mSec (0 in gc) 85 cells work, 123 bytes other;

#<unspecified>

> (len '(1 2 3))

Evaluation took 0 mSec (0 in gc) 27 cells work, 33 bytes other;

3

 

 

 

 Debugging:

 

על מנת לדבג את התוכנית יש צורך בפקודה trace. בדוגמא לעיל:

> (require 'trace)

.

.

.

> (trace len)

Evaluation took 0 mSec (0 in gc) 114 cells work, 31 bytes other;

#<unspecified>

> (len '(1 2 3))

len (1 2 3) CALLED

    len (2 3) CALLED      

len (3) CALLED

len ( ) CALLED

len (1 2 3) CALLED

len 0 RETURNED

len 1 RETURNED

len 2 RETURNED

len 3 RETURNED

Evaluation took 0 mSec (0 in gc) 1314 cells work, 81 bytes other;

3

 

 

 02-02-04 / 16:21  עודכן ,  19-10-03 / 16:39  נוצר ע"י חן דרור  בתאריך 
 SICStus Debugger - הקודםהבא - שאלות חזרה 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 5