
Добавил:
Kaz
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
‘ Ћ „ … ђ † Ђ Ќ € …
1. ‚ўҐ¤ҐЁҐ
1.1. Ћб®ЎҐ®бвЁ
1.2. ‘®бв ў бЁб⥬л muLISP
1.3. ’ॡ®ў Ёп бЁб⥬л
1.4. ѓ« ў п ¤ЁбЄҐв BACKUP
1.5. muLISP ¤«п ЇҐаб® «мле Є®¬ЇмовҐа®ў IBM
2. Ћб®ўлҐ ®ЇҐа жЁ®лҐ Їа®жҐ¤гал
2.1. ‡ Јаг§Є Ё а Ў®в бЁб⥬л
2.2. €бЇ®«м§®ў ЁҐ ЇаЁжЁЇ жЁЄ«®ў
2.3. Џа®жҐ¤гал । ЄвЁа®ў Ёп бва®Є
2.4. Ћб®ўлҐ ЇаЁжЁЇл Їа®Ја ¬¬Ёа®ў Ёп
2.5. —⥨Ґ Ёб室ле д ©«®ў
2.6. SYS-д ©«л б।л
3. ЋЎг票Ґ muLISP
3.1. „Ґ¬®бва жЁ®лҐ Їа®Ја ¬¬л
3.2. ‘Ёб⥬ ®Ўг票п muLISP
3.3. ” ©«л ЎЁЎ«Ё®вҐЄЁ гвЁ«Ёв
4. €вҐаЇаҐв в®а muLISP
4.1. ‘вагЄвга ¤ ле
4.2. “Їа ў«ҐЁҐ Ї ¬пвмо
4.3. Џ ЄҐвл ЇаҐалў Ё©
4.4. ‘Ёб⥬ ЇаҐалў Ё© б Є®б®«Ё
4.5. ‘®®ЎйҐЁп ®Ў ®иЁЎЄ е
5. ЏаЁ¬ЁвЁўл muLISP
5.1. ”гЄжЁЁ ®вЎ®а
5.2. ”гЄжЁЁ Є®бвагЄв®а
5.3. ”гЄжЁЁ ¬®¤ЁдЁЄ в®а
5.4. ”гЄжЁЁ а бЇ®§ ў ⥫п
5.5. ”гЄжЁЁ Є®¬Ї а в®а
5.6. ‹®ЈЁзҐбЄЁҐ дгЄжЁЁ
5.7. ”гЄжЁЁ § 票п
5.8. ”гЄжЁЁ бў®©бвў
5.9. ”гЄжЁЁ д« Ј®ў
5.10. Ќ з «млҐ ўла ¦ҐЁп ¤«п ®ЇаҐ¤Ґ«ҐЁ©
5.11. ‘ва®Є®ўлҐ дгЄжЁЁ
5.12. —Ёб«®ўлҐ дгЄжЁЁ
5.13. Ќ з «млҐ ўла ¦ҐЁп ¤«п ўў®¤
5.14. Ќ з «млҐ ўла ¦ҐЁп ¤«п ўлў®¤
5.15. ‚лзЁб«пҐ¬лҐ дгЄжЁЁ
5.16. Љ®ва®«млҐ Є®бвагЄжЁЁ
5.17. ”гЄжЁЁ гЇа ў«ҐЁп Ї ¬пвмо
5.18. ”гЄжЁЁ б।л
5.19. ”гЄжЁЁ ЁвҐадҐ©б Ї®«м§®ў ⥫п
5.20. ”гЄжЁЁ ЁвҐадҐ©б ЏЋ
5.21. ђ Ў®в б нЄа ®¬ Є®б®«Ё
5.22. ‘¬Ґи лҐ дгЄжЁЁ
6. Ћв« ¤зЁЄ muLISP
6.1. ‘।бвў ва ббЁа®ўЄЁ
6.2. ‘।бвў ЇаҐалў Ёп
6.3. ‘।бвў бв вЁбвЁЄЁ
7. ђҐ¤ Єв®а muLISP
7.1. ‡ Јаг§Є Ё б®еа ҐЁҐ ђҐ¤ Єв®а
7.2. ЋЇжЁЁ ¬Ґо ўҐа奣® га®ўп
7.3. Љ®¬ ¤л Є« ўЁ вгал
7.4. ’Ґ®аЁп ®ЇҐ жЁ©
8. ( १Ґаў )
9. ”гЄжЁЁ ¬ иЁ®¬ п§лЄҐ
9.1. ЏаҐ¤бв ў«ҐЁҐ ¤ ле
9.2. ЏҐаҐ¤ з аЈг¬Ґв®ў
9.3. Ќ з «млҐ ¤Ґ©бвўЁп ЇаЁ ўл§®ў е
9.4. ‡ Јаг§Є Ё бўп§м
10. LISP Ё ў®Їа®бл ЁбЄгбб⢥®Ј® ЁвҐ««ҐЄв
10.1. ЋЎйҐбвў® Їа®дҐббЁ® «®ў
10.2. ЏҐаЁ®¤ЁзҐбЄЁҐ Ё§¤ Ёп
10.3. ЉЁЈЁ
11. ’Ґа¬Ё®«®ЈЁзҐбЄЁ© б«®ў ам
ЏаЁ«®¦ҐЁҐ
1. ‚ўҐ¤ҐЁҐ
Џ®§¤а ў«пҐ¬ ў б б ЇаЁ®ЎаҐвҐЁҐ¬ бЁб⥬л а §а Ў®вЄЁ
ЁбЄгбб⢥®Ј® ЁвҐ««ҐЄв muLISP-85. „ п бЁб⥬ пў«пҐвбп
гб®ўҐаиҐбвў®ў л¬ Їа®Ја ¬¬®Ј® ®ЎҐбЇҐзҐЁп (ЏЋ) ¤«п
¬ЁЄа®Їа®жҐбб®а . Ћ Їа®ҐЄвЁа®ў « бм б 楫мо Ї®¤¤Ґа¦ЄЁ иЁа®Є®Ј®
ап¤ Ёбб«Ґ¤®ў Ё© ў ®Ў« бвЁ ЁбЄгбб⢥®Ј® ЁвҐ««ҐЄв ( €€ ) .
Њ®¦® ¤Ґпвмбп, зв® ®ЇаҐ¤Ґ«Ґл© § Ї б § Ё© Ё вҐаЇҐЁп Ї®¬®¦Ґв
ў ¬ Їа ўЁ«м® ЁбЇ®«м§®ў вм muLISP ў Є зҐб⢥ б।бвў а §ўЁвЁп
Їа®ҐЄв®ў ЏЋ ¤«п бЁб⥬ €€ .
„ ®Ґ агЄ®ў®¤бвў® пў«пҐвбп гзҐЎл¬ Ї®б®ЎЁҐ¬. ‹гзиЁ© бЇ®б®Ў
Ё§гзЁвм LISP - нв® "агз®© ®Їлв". €вҐа ЄвЁў п ®Ўгз ой п бЁб⥬
muLISP, ®ЇЁб п ў Ј«.3, ®Є §лў Ґв бгйҐб⢥го Ї®¬®йм ў н⮬
Їа®жҐббҐ. Ља®¬Ґ в®Ј®, ЎЁЎ«Ё®Ја дЁп Ї® LISP Ё €€ ў Ј«. 10 ᮤҐа¦Ёв
бЇЁб®Є Ї®«Ґ§®© «ЁвҐа вгал.
1.1. Ћб®ЎҐ®бвЁ
1) Ѓ®«ҐҐ 260 дгЄжЁ© LISP ¤«п Ў®«м襩 нд䥪⨢®бвЁ
®ЇаҐ¤Ґ«Ґл ¬ иЁ®¬ п§лЄҐ. ќвЁ дгЄжЁЁ ®ЎҐбЇҐзЁў ов Ї®бв஥ЁҐ
бвагЄвга ¤ ле, ўЄ«оз п Ї®«л© Є®¬Ї«ҐЄв ЇҐаҐЄ«оз ⥫Ґ©,
Є®бвагЄв®а®ў, а бЇ®§ ў ⥫Ґ© Ё ба ўҐЁ©.
2) –Ґ«лҐ зЁб« ЎҐбЄ®Ґз® Ў®«ми®© в®з®бвЁ Ё а жЁ® «м п
аЁд¬ҐвЁЄ , ®ЇаҐ¤Ґ«ҐлҐ ў Є ¦¤®© Їа®ҐЄвЁа㥬®© ®б®ў®© бЁб⥬Ґ
бзЁб«ҐЁп ®в 2 ¤® 36, Ї®¤¤Ґа¦Ёў овбп б Ї®¬®ймо Ї®«®Ј® ¬®¦Ґбвў
зЁб«®ўле дгЄжЁ©.
3) Љ®««ҐЄв®а, б®ЎЁа ойЁ© ¬гб®а, ®бгйҐбвў«пҐв ўв®¬®вЁзҐбЄ®Ґ,
¤Ё ¬ЁзҐбЄ®Ґ гЇа ў«ҐЁҐ Ї ¬пвмо ў® ўбҐе ®Ў« бвпе ¤ ле. ђ Ў®в
Є®««ҐЄв®а ¤«Ёвбп, Є Є Їа ўЁ«®, ¬ҐҐҐ 2-е ᥪг¤.
4) „Ё ¬ЁзҐбЄ®Ґ ЇҐаҐа бЇаҐ¤Ґ«ҐЁҐ Ја Ёж ®Ў« б⥩ ¤ ле
Їа®Ёб室Ёв ўв®¬ вЁзҐбЄЁ ЇаЁ ЁЎ®«ҐҐ нд䥪⨢®¬ ЁбЇ®«м§®ў ЁЁ
ўбҐе ¤®бвгЇле аҐбгаб®ў Ї ¬пвЁ ( ¬ ЄбЁ¬ «м® ¤® 512 Љ ).
5) Љ Є®бвагЄжЁп¬ Є®ва®«п ®в®бпвбп дгЄжЁЁ
COND,LOOP,IF,PROGN Ё RETURN. ќвЁ Є®бвагЄжЁЁ Ї®§ў®«пов
б®бв ў«пвм Їа®Ја ¬¬л ў Їа®б⮬ Ё н«ҐЈ ⮬ LISP-бвЁ«Ґ.
6) ”гЄжЁЁ CATCH, THROW Ё UNWIND-PROTECT ®ЎҐбЇҐзЁў ов
бвагЄвгал© ®ЎйЁ© ¬Ґе Ё§¬ ўл室®ў, Є®в®ал© § зЁвҐ«м® гЇа®й Ґв
Є®ва®«м ®иЁЎ®Є Ё ЁбЄ«озЁвҐ«мле бЁвг жЁ© ў Їа®Ја ¬¬ е
Ї®«м§®ў ⥫п.
7) Џ®«®Ґ ¬®¦Ґбвў® ЇҐаўЁз® ®ЇаҐ¤Ґ«Ґле дгЄжЁ©
®в®Ўа ¦ҐЁп Ё ЇаҐ¤ЁЄ в®ў ®в®Ўа ¦ҐЁп ¬®¦Ґв ЁбЇ®«м§®ў вмбп ¤«п
вҐбвЁа®ў Ёп н«Ґ¬Ґв®ў бЇЁбЄ®ў.
8) ”гЄжЁЁ muLISP ¬®Јгв Ўлвм ®ЇаҐ¤Ґ«Ґл «ЁЎ® Є Є ўлзЁб«пҐ¬лҐ
(EVAL) Ё«Ё ҐўлзЁб«пҐ¬лҐ (NORMAL) , «ЁЎ® Є Є а §ўҐагвлҐ (SPRED)
Ё«Ё Ґа §ўҐагвлҐ (NOSPRED). Њ Єа®б, ®ЇаҐ¤Ґ«пҐ¬л© Ї®«м§®ў ⥫Ґ¬,
¬®¦Ґв е а ЄвҐаЁ§®ў вмбп «ЁЎ® ўаҐ¬ҐҐ¬ Є®¬ЇЁ«пжЁЁ, «ЁЎ® ўаҐ¬ҐҐ¬
ўлЇ®«ҐЁп.
9) Ћв« ¤Є Їа®Ја ¬¬ ®Ў«ҐЈз Ґвбп б ЁбЇ®«м§®ў ЁҐ¬ १Ё¤Ґв®Ј®
¤ЁбЇ«Ґ©-®аЁҐвЁа®ў ®Ј® । Єв®а muLISP Ё ®в« ¤®з®Ј® Ї ЄҐв ,
Є®в®ал© ўЄ«оз Ґв ў ᥡп б।бвў ва ббЁа®ўЄЁ, ЇаҐалў Ёп Ё бЎ®а
бв вЁбвЁЄЁ.
10) Џ®б«Ґ¤®ў ⥫мл© Ё б«гз ©л© ¬Ґв®¤л ¤®бвгЇ ,
Ї®б«Ґ¤®ў ⥫мл© д ©« ўў®¤ -ўлў®¤ Ї®«®бвмо Ї®¤¤Ґа¦Ёў овбп
бЁб⥬®©. Ља®¬Ґ в®Ј®, ¬®Јгв Ўлвм б®§¤ л д ©«л ®Ўа § Ї ¬пвЁ ¤«п
б®еа ҐЁп б।л muLISP, зв®Ўл ® ¬®Ј« Ўлвм ЇҐаҐ§ Ја㦥 ў
«оЎ®Ґ ўаҐ¬п.
11) Ћв®бЁвҐ«м® ¬ «ҐмЄЁ© а §¬Ґа muLISP Ї®§ў®«пҐв ®бв ўЁвм
гз бв®Є Ї ¬пвЁ ќ‚Њ бў®Ў®¤л¬, ¤®бв в®зл¬ ¤«п бвагЄвга ¤ ле
Ї®«м§®ў ⥫п. ЊЁЁ¬ «м® бЁб⥬ § ©¬Ґв Ґ ¬ҐмиҐ 128 Љ Ї ¬пвЁ,
е®вп muLISP ¬®¦Ґв ЁбЇ®«м§®ў вм Ё ¤® 512 Љ.
12) ЏаҐ¤Ґ«м® Ўлбва п бЄ®а®бвм ўлЇ®«ҐЁп Їа®Ја ¬¬
¤®бвЁЈ Ґвбп Ў« Ј®¤ ап ЁбЇ®«м§®ў Ёо в Є®© вҐе®«®ЈЁЁ, Є Є ¬ «лҐ
бўп§ЄЁ ЇҐаҐ¬Ґле, ¤аҐблҐ бвагЄвгал ¤ ле Ё § ¬ЄгвлҐ
Їа®бва бвў гЄ § ⥫Ґ©.
13) ЋЇаҐ¤Ґ«ҐЁп дгЄжЁ© ўв®¬ вЁзҐбЄЁ ЇҐаҐў®¤пвбп "зЁбвл©"
Є®¤ Ё«Ё D-Є®¤. Џа®жҐбб ®Ўа в®Ј® ЇҐаҐў®¤ Їа®Ёб室Ёв в Є¦Ґ
ўв®¬ вЁзҐбЄЁ Ї®б«Ґ ў®§ўа в ®ЇаҐ¤Ґ«ҐЁп.
14) ‚®§¬®¦®бвЁ ®Ўа Ў®вЄЁ ⥪бв Ё п§лЄ Ўл«Ё 㢥«ЁзҐл
Їг⥬ ¤®Ў ў«ҐЁп нд䥪⨢ле бва®Є®ўле дгЄжЁ©.
15) Ќ ЇЁб ЁҐ ®Ўлзле и Ў«®®ў ®Ў«ҐЈзҐ® б Ї®¬®ймо в Ў«Ёжл
бЄ Ґа muLISP.
16) ”гЄжЁп б®авЁа®ўЄЁ SORT ЁбЇ®«м§гҐв ¤Ґ¦го, бв ЎЁ«мго
б®авЁа®ўЄг бЇЁбЄ®ў, Є®в®а п вॡгҐв Є®«ЁзҐбвў® ўаҐ¬ҐЁ
Їа®Ї®ажЁ® «м® nlog n,Ј¤Ґ n - ¤«Ё б®авЁа㥬®Ј® бЇЁбЄ .
17) muLISP-бЁ¬ў®«л ¬®Јгв Ўлвм бўп§ л, ®Ў« бвм Ї ¬пвЁ
¬®¦Ґв Ўлвм а бЇаҐ¤Ґ«Ґ ¤«п Ї®¤Їа®Ја ¬¬ ¬ иЁ®¬ п§лЄҐ.
18) muLISP ¬®¦Ґв Ўлвм ўаҐ¬Ґ® ЇаЁ®бв ®ў«Ґ ¤«п в®Ј® зв®Ўл
бв ав®ў вм Є Є®©-«ЁЎ® ¤агЈ®© Їа®жҐбб, ЇаЁ¬Ґа, । Єв®а ⥪бв®ў,
Ё«Ё ¤ ¦Ґ ¤агЈго ўҐабЁо muLISP. Љ®Ј¤ Їа®жҐбб ЇаҐЄа й Ґв
ўлЇ®«пвмбп, muLISP ў®§®Ў®ў«пҐв а Ў®вг, Є Є Ё ЇаҐ¦¤Ґ.
1.2. ‘®бв ў бЁб⥬л muLISP
‘Ёб⥬ muLISP-85 б®бв®Ёв Ё§ б«Ґ¤гойЁе агЄ®ў®¤бвў Ё д ©«®ў,
§ ЇЁб ле Ј« ўго ¤ЁбЄҐвг:
1). ‚лЇ®«пҐ¬лҐ MS-DOS COM-д ©«л:
MULISP.COM - Є®¬ЇЁ«пв®а Ё ЁвҐаЇаҐв в®а muLISP
COMTOEXE.COM - гвЁ«Ёв ®Ўа йҐЁп ®в COM-д ©« Є EXE-д ©«г
2). ” ©«л । Єв®а Ё ®в« ¤зЁЄ muLISP
EDIT.LSP - Ёбе®¤л© д ©« । Єв®а
DEBUG.LSP - Ёбе®¤л© д ©« ®в« ¤зЁЄ
3). ” ©«л ЎЁЎ«Ё®вҐЄЁ гвЁ«Ёв
INTERLISP.LSP - дгЄжЁЁ-гвЁ«Ёвл INTERLISP
COMMON.LSP - дгЄжЁЁ-гвЁ«Ёвл Ё ¬ Єа®бл COMMONLISP
GRAPHICS.LSP - Ја дЁзҐбЄЁҐ дгЄжЁЁ в®зҐЄ, «ЁЁ© Ё в.¤.
MOUSE.LSP - дгЄжЁЁ ЁвҐа䥩б 'Microsoft Mouse-tm
MULISP83.LSP - д ©« б®ў¬ҐбвЁ¬®бвЁ б muLISP83
4). ” ©«л бЁбвҐ¬л ®Ўг票п
LESSONS.LSP - д ©« ®б®ўле Ёб室ле § Ё©
MULISPn.LES - д ©« ®Ўг票п muLISP
5). ” ©«л ¤Ґ¬®бва жЁ®ле Їа®Ја ¬¬
ANIMAL.LSP - ЁЈа Ї®¤бзҐв §ўҐаҐ©
ANIMAL.MEM - ¤ҐаҐў® ¤ ле ¤«п ЁЈал Ї®¤бзҐв §ўҐаҐ©
DOCTOR.LSP - Ё¬Ёв жЁп ЇбЁе®«®Ј
EICHIS.LSP - ЁЈа ў ЈаҐЎлҐ б®бвп§ Ёп
HANOI.LSP - е ®©бЄ п Ў ип
METAMIND.LSP - ЁЈа а биЁда®ўЄЁ ᥪаҐв®Ј® Є®¤
1.3. ’ॡ®ў Ёп бЁб⥬л
muLISP-85 ЁбЇ®«м§гҐвбп ¬®¦Ґбвў®¬ Є®¬ЇмовҐа®ў, Ё¬ҐойЁе «ЁЎ®
Ћ‘ MS-DOS, «ЁЎ® Ћ‘ PC-DOS. ‚ ¤ ®¬ а §¤Ґ«Ґ ЇҐаҐзЁб«повбп
¬ЁЁ¬ «млҐ вॡ®ў Ёп Є ®ЎмҐ¬г ’Ћ Ё ЏЋ Ћ‘ ¤«п а Ў®вл muLISP
Є ¦¤®¬ Ё§ Є®¬ЇмовҐа®ў.
1.3.1. ЏҐаб® «мл© Є®¬ЇмовҐа IBM
’ॡговбп:
1. ЏҐаб® «мл© Є®¬ЇмовҐа IBM ( «ЁЎ® PC,XT,JR, «ЁЎ® AT )
ў¬ҐбвҐ б ®¤®жўҐвл¬ Ё«Ё Ја дЁзҐбЄЁ¬ ¤ЁбЇ«ҐҐ¬.
2. ЌҐ ¬ҐҐҐ 128 Љ RAM-Ї ¬пвЁ ( muLISP ¬®¦Ґв ЁбЇ®«м§®ў вм Ё
¤® 512 Љ Ї«об 64 Љ Ў®«миҐ ¤«п PC-DOS ).
3. Џ® Єа ©Ґ© ¬ҐаҐ ®¤Ё бв ¤ авл© IBM PC, 5 1/4-¤о©¬®ўл©
¤ЁбЄ®ў®¤ ¤«п д«®ЇЇЁ-¤ЁбЄ .
4. „ЁбЄҐв , ᮤҐа¦ й п ЏЋ PC-DOS ( ўҐабЁп 1.1 Ё ўлиҐ ).
1.3.2. MS-DOStm Є®¬¬ЇмовҐа
’ॡговбп:
1. Ћ‘ MS-DOS 8086,8088 Ё«Ё 80186
2. ЌҐ ¬ҐҐҐ 128 Љ RAM-Ї ¬пвЁ ( muLISP ¬®¦Ґв ЁбЇ®«м§®ў вм Ё
¤® 512 Љ Ї«об 64 Љ Ў®«миҐ ¤«п MS-DOS )
3. Џ® Єа ©Ґ© ¬ҐаҐ 1 бв ¤ авл© ¤ЁбЄ®ў®¤ ¤«п д«®ЇЇЁ-¤ЁбЄ
¤«п звҐЁп Ј« ў®© ¤ЁбЄҐвл muLISP
1.4. ѓ« ў п ¤ЁбЄҐв BACKUP
ЌҐ®Ўе®¤Ё¬® ба §г ¦Ґ ᤥ« вм Є®ЇЁо Ј« ў®© ¤ЁбЄҐвл . ќв® -
Ј а вЁп § йЁвл ®в Ї®вҐаЁ, Ї®ўаҐ¦¤ҐЁп Ё«Ё Ї®¤зЁбвЄЁ Ёд®а¬ жЁЁ
Ј« ў®© ¤ЁбЄҐвҐ.
Љ ¦¤ п Є®ЇЁп muLISP ¤®«¦ Ё¬Ґвм ¬ҐвЄг б ®¬Ґа®¬ ўҐабЁЁ,
¤ в®© Ё ®¬Ґа®¬ бҐаЁЁ.
…б«Ё ў и бЁб⥬ Ё¬ҐҐв гвЁ«Ёвг Є®ЇЁа®ў Ёп ¤ЁбЄҐв,
ЁбЇ®«м§г©вҐ ҐҐ ¤«п Ї®«гзҐЁп Є®ЇЁЁ Ј« ў®© ¤ЁбЄҐвл muLISP.
Ќ ЇаЁ¬Ґа, Ї®«м§®ў ⥫Ё MS-DOS ¬®Јгв ЁбЇ®«м§®ў вм гвЁ«Ёвг DISKCOPY
( б¬. агЄ®ў®¤бвў® Ї® DOS ). „агЈЁ¬, Ў®«ҐҐ ¬Ґ¤«Ґл¬ бЇ®б®Ў®¬
Є®ЇЁа®ў Ёп пў«пҐвбп ўлЇ®«ҐЁҐ б«Ґ¤гойЁе и Ј®ў:
1. “бв ®ўЁвҐ ¤ЁбЄ®ўго Ћ‘ ( бЁб⥬го ¤ЁбЄҐвг )
2. “бв ®ўЁвҐ д®а¬Ёа㥬го ¤ЁбЄҐвг гбва®©бвў® ‚
3. “бв ®ўЁвҐ Ј« ўго ¤ЁбЄҐвг muLISP гбва®©бвў® Ђ
4. „«п Ї®«м§®ў ⥫Ґ© MS-DOS Ё IBM PC : ЎҐаЁвҐ Є®¬ ¤г
COPY Ђ:*.*‚:
Ё 嬨⥠Є« ўЁиг < RETURN >
5. Љ®Ј¤ ўбҐ д ©«л бЄ®ЇЁаговбп, бЁб⥬ ўл¤ бв б®®ЎйҐЁҐ Ћ‘
6. ‘Ё¬ЁвҐ ¤ЁбЄҐвг б гбва®©бвў ‚ Ё Ї®¬Ґвм⥠ҐҐ гЄ § ⥫Ґ¬
ўв®абЄЁе Їа ў.
1.5. muLISP ¤«п ЇҐаб® «мл• Є®¬ЇмовҐа®ў IBM
„ лҐ Є®¬ЇмовҐал Ё¬Ґов ҐЄ®в®алҐ Ґбв ¤ авлҐ
е а ЄвҐаЁбвЁЄЁ Ё ў®§¬®е®бвЁ ¤«п нд䥪⨢®Ј® ЁбЇ®«м§®ў Ёп
muLISP.
1.5.1. €§®Ўа ¦ҐЁҐ Є« ўЁ вгал
ЌҐЄ®в®алҐ Є« ўЁиЁ Є« ўЁ вгал IBM PC Ї®¬ҐзҐл ®ЇЁб ⥫мл¬Ё
бЁ¬ў®« ¬Ё ў¬Ґбв® §ў Ё©. ‚ б«Ґ¤го饩 в Ў«ЁжҐ ЇаЁўҐ¤Ґ бўп§м
§ў Ё© Ё бЁ¬ў®«®ў Є« ўЁ вгаҐ:
< RETURN > <--|
< LINEFEED > ctrl <--|
< BACKSPACE > <--
< RUBOUT > ctrl <--
< TAB > -->
< SHIFT > shift key
< SPACE > space bar
1.5.2. ђ биЁаҐлҐ дгЄжЁ® «млҐ Є« ўЁиЁ
Љ« ўЁ вга IBM PC Ё¬ҐҐв ¬®¦Ґбвў® дгЄжЁ® «мле Є« ўЁи. €¬Ё
пў«повбп 10 дгЄжЁ® «мле Є« ўЁи ў «Ґў®¬ Є®жҐ Є« ўЁ вгал Ё
Є®ва®«млҐ Є« ўЁиЁ Єгаб®а ў Їа ў®¬ Є®жҐ Є« ўЁ вгал.
‚ҐабЁп IBM PC । Єв®а muLISP гбЁ«Ґ ў®§¬®¦®бвмо
ЁбЇ®«м§®ў вм ҐЄ®в®алҐ а биЁаҐлҐ дгЄжЁ® «млҐ Є« ўЁиЁ ¤«п
гЇа ў«ҐЁп Єгаб®а®¬, Ё¬Ґ®:
<-- б¤ўЁЈ ў«Ґў® бЁ¬ў®«
--> б¤ўЁЈ ўЇа ў® бЁ¬ў®«
^ б¤ўЁЈ ўўҐае бва®Єг
б¤ўЁЈ ўЁ§ бва®Єг
INS - ўбв ўЄ mode toggle
Ctrl-> - c¤ўЁЈ ў«Ґў® б«®ў®
Ctrl<- - б¤ўЁЈ ўЇа ў® б«®ў®
PgUp - ўўҐае нЄа
PgDn - ўЁ§ нЄа
Del - гЁз⮦ҐЁҐ бЁ¬ў®«
ђ бᬮваЁвҐ в Ў«Ёжг а биЁаҐле дгЄжЁ® «мле Є« ўЁи,
ЇаЁўҐ¤Ґго ў ЇаЁ«®¦ҐЁЁ Ђ ¤ ®Ј® агЄ®ў®¤бвў .
2. Ћб®ўлҐ ®ЇҐа жЁ®лҐ Їа®жҐ¤гал
„ п Ј« ў ᮤҐа¦Ёв Ёд®а¬ жЁо, Ґ®Ўе®¤Ё¬го ¤«п § Јаг§ЄЁ Ё
ўлЇ®«ҐЁп muLISP. ‚ ®бв «м®© з бвЁ ¤ ®Ј® агЄ®ў®¤бвў ¤ Ґвбп
¤Ґв «м®Ґ а бᬮв२Ґ бвагЄвга ¤ ле muLISP, б奬л гЇа ў«ҐЁп
Ї ¬пвмо Ё Ёб室ле дгЄжЁ©. ‚ ЎЁЎ«Ё®Ја дЁЁ ¤ ®Ј® агЄ®ў®¤бвў
гЄ § ҐЄ®в®а п Ї®«Ґ§ п «ЁвҐа вга Ї® п§лЄг.
2.1. ‡ Јаг§Є Ё а Ў®в бЁб⥬л
—в®Ўл ЁЁжЁЁа®ў вм ўлЇ®«ҐЁҐ muLISP, ў®-ЇҐаўле, ЇаЁўҐ¤ЁвҐ
¤ЁбЄ®ўго Ћ‘ ў ®а¬ «м®Ґ ( а Ў®зҐҐ ) б®бв®пЁҐ. ‡ ⥬, Ґб«Ё
Ґ®Ўе®¤Ё¬®, ЇҐаҐЄ«озЁвҐбм б ®ЇаҐ¤Ґ«Ґ®Ј® Ї® 㬮«з Ёо (default)
гбва®©бвў ¤агЈ®Ґ б ¤ЁбЄҐв®©, ᮤҐа¦ 饩 нЄ§Ґ¬Ї«па MULISP.COM.
‚ўҐ¤ЁвҐ Є®¬ ¤г:
MULISP
‡ Ґ© Ї®б«Ґ¤гҐв < RETURN >. Џ®б«Ґ ҐбЄ®«мЄЁе ᥪг¤
§ Јаг§ЄЁ нЄа Ґ ¤ЁбЇ«Ґп Ї®пўЁвбп б®®ЎйҐЁҐ:
muLISP-85 5.nn ( mm/dd/yy )
xxxxxxxxxxx version
Copyright (c) 1982 to 85 SOFT WAREHOUSE, Inc.
Licensed by MICROSOFT corp.
‘®®вўҐвб⢥®, Ї®пў«повбп ®¬Ґа ўҐабЁЁ (5.nn), ¬Ґбпж (mm),
¤Ґм (dd) Ё Ј®¤ (yy). Ќ®¬Ґа Ё ¤ в ўҐабЁЁ ў¬Ґб⥠б бҐаЁ©л¬
®¬Ґа®¬ ЏЋ Ўг¤гв ўЄ«оз вмбп ў® ўбҐ бЇа ўЄЁ бЁб⥬л. еееееееееее ў
б®®ЎйҐЁЁ ®Ў®§ з Ґв вЁЇ бЁбвҐ¬л ќ‚Њ, ў Є®в®а®© ¤ п ўҐабЁп
muLISP ¬®¦Ґв а Ў®в вм.
ЌЁ¦Ґ б®®ЎйҐЁп ўлᢥ稢 Ґвбп Ї®¤бЄ §Є muLISP. Ћвбгвбвўгой п
Ї®¤бЄ §Є б®бв®Ёв Ё§ § Є ¤®«« а ($), § Є®в®ал¬ б«Ґ¤гҐв
Їа®¬Ґ¦гв®з®Ґ Їа®бва бвў® ¤® Єгаб®а Є®б®«Ё. Џ®¤бЄ §Є
®§ з Ґв,зв® бЁб⥬ Ј®в®ў Є ўў®¤г б Є®б®«Ё.
2.2. €бЇ®«м§®ў ЁҐ ЇаЁжЁЇ жЁЄ«®ў
Џ®б«Ґ б«®¦®Ј® ўла ¦ҐЁп, § Є®в®ал¬ б«Ґ¤гҐв Ї®пў«ҐЁҐ
<RETURN>, muLISP ®жҐЁў Ґв нв® ўла ¦ҐЁҐ Ё ЇҐз в Ґв
१г«мвЁаго饥 § 票Ґ ў з «Ґ ®ў®© бва®ЄЁ. ќв®в жЁЄ«
ў§ Ё¬®¤Ґ©бвўЁп Ї®ўв®апҐвбп Ў®«м讥 Є®«ЁзҐбвў® а § ¤® вҐе Ї®а,
Ї®Є Ґ Ї®пўЁвбп бЁб⥬ п Є®¬ ¤ . ќв Є®¬ ¤ § ўҐаи Ґв а Ў®вг
muLISP Ё ў®§ўа й Ґв гЇа ў«ҐЁҐ агЄ®ў®¤п饩 Ћ‘. –ЁЄ«ЁзҐбЄЁ©
ЇаЁжЁЇ muLISP ЇаҐ¤бв ў«пҐв б®Ў®© "®ў «мл©" LISP (oval-LISP). ‘
Є®б®«Ё ¬®Јгв Ўлвм Ї®«гзҐл ўла ¦ҐЁп, § ЇЁб лҐ ў ЎгЄўҐ®¬
Ё/Ё«Ё в®зҐз®¬ ўЁ¤Ґ. ‚ла ¦ҐЁҐ Ґ ®жҐЁў Ґвбп ¤® вҐе Ї®а, Ї®Є
ўбҐ бЄ®ЎЄЁ Ґ Ўг¤гв бЎ « бЁа®ў л, Ї®н⮬㠬®¦Ґв Ї®пўЁвмбп
¬г«мвЁ-«ЁҐ©®Ґ ўла ¦ҐЁҐ. Џ®б«Ґ в®Ј®, Є Є Ї®пўЁвбп Є®Ґзл©
<RETURN>, ўла ¦ҐЁҐ Ўг¤Ґв Їа®зЁв ® дгЄжЁҐ© READ, ®жҐҐ®
дгЄжЁҐ© EVAL, Ё १г«мв в ўл¤ бвбп ¤ЁбЇ«Ґ© б Ї®¬®ймо дгЄжЁЁ
PRINT. Ќ ЇаЁ¬ҐаҐ ¤Ґ¬®бваЁагҐвбп ®б®ў®© ЇаЁжЁЇ жЁЄ« :
$ 'DOG
DOG
$ (+5-2 4)
7
$ ( EQUAL 'DOG 'CAT )
NIL
$ ( member 'dog' ( cat cow dog pig ))
( DOG PIG )
Ћв¬ҐвЁ¬, зв® muLISP ЇаҐ®Ўа §гҐв ¬ «ҐмЄЁҐ ЎгЄўл ў § Ј« ўлҐ
Ї® ¬ҐаҐ Ёе бзЁвлў Ёп. …б«Ё Є®ва®«м п ЇҐаҐ¬Ґ п *READ-UPCASE*
Ґбвм NIL, muLISP в Є®Ј® ЇаҐ®Ўа §®ў Ёп Ґ ўлЇ®«пҐв ( б¬.
®ЇЁб ЁҐ *READ-UPCASE* Ё *IGNORE-CASE* ў Ј«. 5 ).
„«п 㤮Ўбвў Їа®Ја ¬¬Ёа®ў Ёп Ї®б«Ґ¤ЁҐ ваЁ ўла ¦ҐЁп,
Є®в®алҐ зЁв овбп Ї® ЇаЁжЁЇг жЁЄ«®ў, § ЄаҐЇ«повбп § ЇҐаҐ¬Ґл¬Ё:
Ї®б«Ґ¤ҐҐ ўла ¦ҐЁҐ - § +, ўв®а®Ґ б Є®ж - § ++, ваҐвмҐ б
Є®ж - § +++. Ља®¬Ґ в®Ј®, १г«мв вл ўлзЁб«ҐЁ© ваҐе Ї®б«Ґ¤Ёе
ўла ¦ҐЁ© в Є¦Ґ § ЄаҐЇ«повбп § ЇҐаҐ¬Ґл¬Ё: Ї®б«Ґ¤Ё© १г«мв в
- § *, ўв®а®© б Є®ж - § **, ваҐвЁ© б Є®ж - § ***.
Ќ ЇаЁ¬Ґа:
$ ( APPEND '(TOM SAM JOAN) '(ANN JOE SUE))
( TOM SAM JOAN ANN JOE SUE )
$ +
( APPEND '(TOM SAM JOAN) '(ANN JOE SUE) )
$ **
( TOM SAM JOAN ANN JOE SUE )
2.3. Џа®жҐ¤гал । ЄвЁа®ў Ёп бва®Є
muLISP ᮤҐа¦Ёв । Єв®а бва®Є ¤«п । ЄвЁа®ў Ёп
ЇаҐ¤ў аЁвҐ«м® ўўҐ¤Ґле Ё«Ё ўў®¤Ё¬ле ў ¤ л© ¬®¬Ґв б
Є« ўЁ вгал бва®Є. „«п Ї®«г票п бва®ЄЁ ⥪бв 㦮 Ўа вм ап¤
бЁ¬ў®«®ў, § ⥬ ¦ вм <RETURN>.
ђҐ¤ ЄвЁа®ў ЁҐ ⥪бв®ў ®бгйҐбвў«пҐвбп б ЁбЇ®«м§®ў ЁҐ¬
Є®ва®«мле бЁ¬ў®«®ў. Љ®ва®«млҐ бЁ¬ў®«л бўп§ л б Є ¦¤®©
ЎгЄў®© «д ўЁв . ‚л§®ў Є®ва®«м®Ј® бЁ¬ў®« - нв® Ў®а
ᮮ⢥вбвўго饩 ЎгЄўл б ®¤®ўаҐ¬Ґл¬ ¦ вЁҐ¬ Є« ўЁиЁ "ctrl":
ctrl-A - б¤ўЁЈ ў«Ґў® б«®ў
ctrl-C - б¤ўЁЈ ў«Ґў® Є®ж бва®ЄЁ
ctrl-D - б¤ўЁЈ ўЇа ў® бЁ¬ў®«
ctrl-F - б¤ўЁЈ ўЇа ў® б«®ў
ctrl-G - гЁз⮦ҐЁҐ бЁ¬ў®« Ї®¤ Єгаб®а®¬
ctrl-H - б¤ўЁЈ ў«Ґў® бЁ¬ў®«
ctrl-I - б¤ўЁЈ ўЇа ў® ¤® б«Ґ¤го饩 ®бв ®ўЄЁ в Ўг«пв®а
ctrl-J - § ЇЁбм бва®ЄЁ ⥪бв
ctrl-M - § ЇЁбм бва®ЄЁ ⥪бв
ctrl-P - Ё§Ў ў«ҐЁҐ ®в б«Ґ¤го饣® ўўҐ¤Ґ®Ј® бЁ¬ў®«
ctrl-R - б¤ўЁЈ ўЇа ў® Є®ж бва®ЄЁ
ctrl-S - б¤ўЁЈ ў«Ґў® бЁ¬ў®«
ctrl-T - гЁз⮦ҐЁҐ б«®ў Ї®¤ Єгаб®а®¬
ctrl-V - ўбв ўЄ /ЇҐаҐ¬ҐйҐЁҐ ...( mod toggle )
ctrl-X - б¤ўЁЈ ў«Ґў® Є®ж бва®ЄЁ
ctrl-_ - б¤ўЁЈ ў«Ґў® бЁ¬ў®«
ctrl-Y - б¤ўЁЈ ў«Ґў® Є®ж бва®ЄЁ
BACKSPACE - б¤ўЁЈ ў«Ґў® бЁ¬ў®«
DELETE - гЁз⮦ҐЁҐ бЁ¬ў®« б«Ґў ®в Єгаб®а
ESC - § ЇЁбм бва®ЄЁ ⥪бв
LINEFEED - § ЇЁбм бва®ЄЁ ⥪бв
RETURN - § ЇЁбм бва®ЄЁ ⥪бв
RUBOUT - гЁз⮦ҐЁҐ бЁ¬ў®« б«Ґў ®в Єгаб®а
…б«Ё muLISP а Ў®в Ґв IBM PC Ё«Ё Ї®¤®Ўле ќ‚Њ, Є« ўЁиЁ
гЇа ў«ҐЁп Єгаб®а®¬ ( в.Ґ. «Ґў п бв५Є , Їа ў п бв५Є , HOME,
END, INSERT Ё в.¤. ) Їа ў®¬ Є®жҐ Є« ўЁ вгал в Є¦Ґ пў«повбп
дгЄжЁ® «мл¬Ё.
2.4. Ћб®ўлҐ ЇаЁжЁЇл Їа®Ја ¬¬Ёа®ў Ёп
muLISP ўЄ«оз Ґв ў бҐЎп ¬®Ј®зЁб«ҐлҐ а биЁаҐЁп LISP, зв®
§ зЁвҐ«м® 㢥«ЁзЁў Ґв зЁв ЎҐ«м®бвм Їа®Ја ¬¬ Ё бЄ®а®бвм Ёе
ўлЇ®«ҐЁп. Љ в ЄЁ¬ а биЁаҐЁп¬ ®в®бпвбп б«Ґ¤гойЁҐ:
1. Љ®Ј¤ ®ўл© бЁ¬ў®« бзЁвлў Ґвбп Ё«Ё ЈҐҐаЁагҐвбп
muLISP-®¬, § ҐЈ® ўҐ«ЁзЁг ЇаЁЁ¬ Ґвбп ® б ¬. ’ Є п ббл«Є
бЁ¬ў®« ᥡп б ¬®Ј® §лў Ґвбп ўв®-ббл«Є®©. ќв® гбва пҐв
Ґ®Ўе®¤Ё¬®бвм ббл«ЄЁ бЁ¬ў®«®ў ®ЇаҐ¤Ґ«ҐЁп, ўб«Ґ¤бвўЁҐ нв®Ј®
г«гзи Ґв ўлЇ®«ҐЁҐ Ё б®еа пҐв Ї ¬пвм.
2. ”гЄжЁп COND ®Ў®ЎйҐ в ЄЁ¬ ®Ўа §®¬, зв® ўбҐ ўла ¦ҐЁп,
б«Ґ¤гойЁҐ § ЇаҐ¤ЁЄ ⮬ Ё ®в«ЁзлҐ ®в NIL, ®жҐЁў овбп Ї® ®зҐаҐ¤Ё.
‡ 票Ґ, ў®§ўа 饮Ґ дгЄжЁҐ© COND, ў ¤ ®¬ б«гз Ґ Ўг¤Ґв
§ 票Ґ¬ Ї®б«Ґ¤ҐЈ® ўла ¦ҐЁп.
3. ЋжҐЄ ⥫ дгЄжЁЁ Ўл« а биЁаҐ ¤® ЁбЇ®«м§®ў Ёп
Ґпў®© дгЄжЁЁ PROGN, в Є з⮠⥫® дгЄжЁЁ ¬®¦Ґв ᮤҐа¦ вм
Ў®«ҐҐ, 祬 ®¤г § ¤ зг. muLISP, Єа®¬Ґ в®Ј®, а бЇ®§ Ґв Ґпўго
дгЄжЁо COND, зв® § зЁвҐ«м® б®Єа й Ґв Ґ®Ўе®¤Ё¬®бвм
ЁбЇ®«м§®ў Ёп пў®© дгЄжЁЁ COND ¤«п ®ЇаҐ¤Ґ«ҐЁ© дгЄжЁ©.
‡ ЁбЄ«о票Ґ¬ ҐбвагЄвгале дгЄжЁ© PROG Ё GO Їа®Ја ¬¬®Ј®
Є®ва®«п, LISP пў«пҐвбп бвагЄвгал¬ п§лЄ®¬. muLISP Ё¬ҐҐв ¤ўҐ
®б®ЎҐ®бвЁ, Є®в®алҐ «ЁЄўЁ¤Ёагов «оЎго Ґ®Ўе®¤Ё¬®бвм
ЁбЇ®«м§®ў Ёп в ЄЁе ҐбвагЄвгале дгЄжЁ©:
1. ”гЄжЁп LOOP ¬®Ј®Єа в®Ј® ўл室 а §аҐи Ґв
Їа®Ја ¬¬Ёа®ў вм ҐаҐЄгабЁўлҐ жЁЄ«л ЎҐ§ ЁбЇ®«м§®ў Ёп
ҐбвагЄвга®© дгЄжЁЁ GO.
2. Љ Є Ё ў п§лЄҐ Interlisp, «ЁиЁҐ аЈг¬Ґвл ў бЇЁбЄҐ
аЈг¬Ґв®ў ЇаЁ ўл§®ўҐ дгЄжЁЁ § ¬Ґповбп NIL. ќвЁ «ЁиЁҐ
аЈг¬Ґвл ¤®бвгЇл ¤«п ЁбЇ®«м§®ў Ёп Ёе ў Є зҐб⢥ «®Є «мле
ЇҐаҐ¬Ґле ўгваЁ дгЄжЁЁ, Ї®н⮬г дгЄжЁп PROGN ¤«п б®§¤ Ёп
в ЄЁе «®Є «мле ЇҐаҐ¬Ґле Ґ г¦ .
Ќ н⮬ ®б®ў ЁЁ дгЄжЁЁ Є®ва®«п PROG Ё GO ў muLISP
ЇаҐ¤ў аЁвҐ«м® Ґ ®ЇаҐ¤Ґ«повбп.
‚ Є зҐб⢥ ЇаЁ¬Ґа а бᬮваЁ¬ ®ЇаҐ¤Ґ«ҐЁҐ дгЄжЁЁ FACTORIAL:
(DEFUN FACTORIAL (N)
(PROG (M)
(SETQ M 1)
A (COND
((ZEROP N) (RETURN M)) )
(SETQ M (* M N))
(SETQ N (SUB1 N))
(GO A) ) )
(DEFUN FACTORIAL (N M)
(SETQ M 1)
(LOOP
((ZEROP N) M)
(SETQ M (* M N))
(SETQ N (SUB1 N)) ) )
ЏҐаўл¬ Ё¤Ґв ®Ўл箥 ҐаҐЄгабЁў®Ґ ®ЇаҐ¤Ґ«ҐЁҐ. ‚в®ал¬ Ё¤Ґв
нЄўЁў «Ґв®Ґ ®ЇаҐ¤Ґ«ҐЁҐ muLISP, в Є¦Ґ Ґ ४габЁў®Ґ. ‚ ¬
ЇаҐ¤®бв ў«пҐвбп аҐи вм,Є Є®Ґ ®ЇаҐ¤Ґ«ҐЁҐ Ў®«ҐҐ Єа бЁў® Ё
бвагЄвгаЁа®ў ®.
2.5. —⥨Ґ Ёб室ле д ©«®ў
‚ў®¤ бЁ¬ў®«®ў ў muLISP oбгйҐбвў«пҐвбп б Є« ўЁ вгал Є®б®«Ё.
Ћ¤ Є®, д ©« ¬®¦Ґв а бб¬ ваЁў вмбп Є Є "’ҐЄгйЁ© Ёбв®зЁЄ ўў®¤ "
(SIC) Ё ЁбЇ®«м§®ў вм "а §Ў®азЁўл© ўў®¤" (Є®¬ ¤г RDS).
Љ®¬ ¤ RDS ўЁ¤
( RDS 'drive:name.type )
ў®§ўа й Ґв бЁ¬ў®« <гбва®©бвў®:Ё¬п.вЁЇ>, Ґб«Ё д ©« <Ё¬п.вЁЇ>
©¤Ґ ¤ЁбЄҐ, а §¬ҐйҐ®¬ гбва®©б⢥ <гбва®©бвў®>; ў
Їа®вЁў®¬ б«гз Ґ ® ў®§ўа й Ґв NIL.
Соседние файлы в папке Filp