Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lisp / Filp / LISP15

.TXT
Скачиваний:
19
Добавлен:
15.06.2014
Размер:
21.28 Кб
Скачать
5.21. ђ Ў®в  б нЄа ­®¬ Є®­б®«Ё

”г­ЄжЁЁ нЄа ­  Є®­б®«Ё ЇаҐ¤­ §­ зҐ­л ¤«п ўл¤ зЁ ­  нЄа ­ Ё
д®а¬ вЁа®ў ­Ёп б нЄа ­  ⥪бв  - нв® дг­ЄжЁЁ б®§¤ ­Ёп ®Є®­,
Ё§¬Ґ­Ґ­Ёп Ї®«®¦Ґ­Ёп Єгаб®а  Ё ᢥавЄЁ ⥪бв . ЏҐаҐ¬Ґ­­лҐ нЄа ­ 
Є®­б®«Ё ®ЎҐбЇҐзЁў ов гЇа ў«Ґ­ЁҐ в ЄЁ¬Ё  ваЁЎгв ¬Ё, Є Є ¬Ґаж ­ЁҐ,
Ё­ўҐаб­®Ґ Ё§®Ўа ¦Ґ­ЁҐ, паЄ®бвм Ё  ўв®¬ вЁзҐбЄ п ᢥавЄ  нЄа ­ .
Џа®жҐ¤гал, Є®в®алҐ muLISP ¬®¦Ґв ЁбЇ®«м§®ў вм ¤«п ўлЇ®«­Ґ­Ёп
а §«Ёз­ле нЄа ­­ле ®ЇҐа жЁ©, ®в«Ёз овбп ¤агЈ ®в ¤агЈ  ¤«п
а §«Ёз­ле Є®¬ЇмовҐа®ў Ё (Ё«Ё) Є®­б®«Ґ©. ‘«Ґ¤®ў вҐ«м­®, Є®Ј¤ 
muLISP бв авгҐв ЇҐаўл© а §, ®­  Їлв Ґвбп ба §г ®ЇаҐ¤Ґ«Ёвм вЁЇ
ќ‚Њ. …б«Ё нв® г¤ Ґвбп ᤥ« вм, ®Ў н⮬ гЄ §лў Ґвбп ў® ўв®а®©
бва®ЄҐ б®®ЎйҐ­Ёп muLISP (б¬. Ј« ўг 2).
…б«Ё ¦Ґ бЁб⥬  ­Ґ ¬®¦Ґв ®ЇаҐ¤Ґ«Ёвм вЁЇ ќ‚Њ, ўл¤ Ґвбп ¤агЈ®Ґ
б®®ЎйҐ­ЁҐ:
---------------------------------------------------------
| 1 = Other generic MS-DOS computer |
| 2 = IBM PC or "look-alike" computers |
| 3 = ANSI.SYS screen or VT-100 Terminal |
| 4 = TI Professional Computer |
| 5 = Zenith Z-100 Computer or VT-52 Terminal |
| 6 = Hewlett-Packard HP-150 Computer |
| 7 = Hewlett-Packard HP-110 Computer |
| 8 = NEC Advanced Personal Computer or ADM-3A Terminal |
| |
| Please enter your computer type number: |
---------------------------------------------------------

…б«Ё Ё §¤Ґбм ­Ґ гЄ § ­ вЁЇ ў иҐ© ќ‚Њ, ўлЎҐаЁвҐ вЁЇ "1".
Ћ¤­ Є®, ў н⮬ б«гз Ґ ¬­®ЈЁҐ Ё§ ¤Ґ©бвўЁ©, а бб¬ ваЁў Ґ¬ле ў
¤ ­­®© Ј« ўҐ, Ўг¤гв ­Ґ¤Ґ©б⢨⥫м­л¬Ё Ё ў®§ўа впв NIL.
Џа®Ја ¬¬  muLISP ¬®¦Ґв ®ЇаҐ¤Ґ«Ёвм вЁЇ ќ‚Њ Їг⥬ Їа®ўҐаЄЁ
Ў ©в  вЁЇ , Є®в®ал© а бЇ®«®¦Ґ­ ў Ў §®ў®© бва ­ЁжҐ muLISP б®
ᬥ饭ЁҐ¬ 855 ў ¤ҐбпвЁз­®© бЁб⥬Ґ (б¬. ЏаЁ«®¦Ґ­ЁҐ ‚).
‘«Ґ¤®ў вҐ«м­®, Є®¬ ­¤ 

(CSMEMORY 855)

ў®§ўа вЁв ­®¬Ґа вЁЇ  ќ‚Њ - Ї®«®¦ЁвҐ«м­®Ґ 楫®Ґ зЁб«®.
„ «ҐҐ Ўг¤Ґв бзЁв вмбп, зв® нЄа ­ Є®­б®«Ё Ё¬ҐҐв 25 бва®Є Ё 80
Є®«®­®Є. „«п нЄа ­®ў ¤агЈЁе а §¬Ґа®ў б«Ґ¤гҐв § ¬Ґ­Ёвм ¤ ­­лҐ
ўҐ«ЁзЁ­л ­  ваҐЎгҐ¬лҐ б®Ј« б­® вЁЇг нЄа ­ . ‚Ґае­Ё© «Ґўл© гЈ®«
нЄа ­ , в.Ґ. Ёб室­®Ґ Ї®«®¦Ґ­ЁҐ - нв® 0-п бва®Є , 0-п Є®«®­Є .


SET-CURSOR [row,column] Function

…б«Ё вЁЇ ў иҐ© ќ‚Њ ᮮ⢥вбвўгҐв, Ё Ґб«Ё <бва®Є > Ё
<Є®«®­Є > а ў­л 0 Ё«Ё Ї®«®¦ЁвҐ«м­лҐ жҐ«лҐ зЁб« , ¬Ґ­миҐ, 祬 25 Ё
80 ᮮ⢥вб⢥­­®, (SET-CURSOR бва®Є  Є®«®­Є ) ЇҐаҐ¬Ґй Ґв Єгаб®а
ў вॡ㥬го бва®Єг Ё Є®«®­Єг нЄа ­  Ё ўл¤ Ґв ’. ‚ Їа®вЁў­®¬
б«гз Ґ ў®§ўа й Ґвбп NIL. Ќ  ЇаЁ¬ҐаҐ Ї®Є § ­®, Є Є ў®§ўа вЁвм
Єгаб®а ў Ёб室­®Ґ Ї®«®¦Ґ­ЁҐ; ЇаЁ н⮬ ў ўҐае­Ґ¬ «Ґў®¬ гЈ«г ®Є­ 
ўл¤ Ґвбп "’":
(SET-CURSOR 0 0) --> T



ROW [ ] Function
COLUMN [ ] Function

(ROW) Ё (COLUMN) ў®§ўа й ов ᮮ⢥вб⢥­­® Ї®«®¦Ґ­ЁҐ Єгаб®а 
ў бва®ЄҐ Ё Є®«®­ЄҐ б®Ј« б­® ⥪г饬㠮Є­г.



CLEAR-SCREEN [ ] Function

…б«Ё вЁЇ ќ‚Њ ᮮ⢥вбвўгҐв, (CLEAR-SCREEN) зЁбвЁв ⥪г饥
®Є­®, ЇҐаҐ¬Ґй Ґв Єгаб®а ў ўҐае­Ё© «Ґўл© гЈ®« ®Є­  (в.Ґ. ў
Ёб室­®Ґ Ї®«®¦Ґ­ЁҐ) Ё ў®§ўа й Ґв ’. ‚ Їа®вЁў­®¬ б«гз Ґ
ў®§ўа й Ґвбп NIL. Ќ  ЇаЁ¬ҐаҐ Ї®Є § ­®, Є Є ¬®¦­® Ї®зЁбвЁвм нЄа ­;
ЇаЁ н⮬ ў ўҐае­Ё© «Ґўл© гЈ®« ўл¤ Ґвбп ’:
(CLEAR-SCREEN) --> T



INSERT-LINES [n] Function

…б«Ё вЁЇ ќ‚Њ ᮮ⢥вбвўгҐв,   <n> - ­®«м Ё«Ё Ї®«®¦ЁвҐ«м­®Ґ
楫®Ґ, (INSERT-LINES n) ўбв ў«пҐв <n> з¬бвле бва®Є ў ⥪г饥 ®Є­®,
­ зЁ­ п б® бва®ЄЁ, Ї®¬ҐзҐ­­®© Єгаб®а®¬, Ё ў®§ўа й Ґв T. ‚
Їа®вЁў­®¬ б«гз Ґ ў®§ўа й Ґвбп NIL. Ќ®ўлҐ бва®ЄЁ ўбв ў«повбп § 
бзҐв ᢥавЄЁ ­г¦­®Ј® Є®«ЁзҐбвў  бва®Є ў ­Ё¦­Ґ© з бвЁ ®Є­ .



DELETE-LINES [n] Function

…б«Ё вЁЇ ќ‚Њ ᮮ⢥вбвўгҐв, Ё Ґб«Ё <n> - ­®«м Ё«Ё
Ї®«®¦ЁвҐ«м­®Ґ 楫®Ґ, (DELETE-LINES n) г­Ёз⮦ Ґв <n> бва®Є
⥪г饣® ®Є­ , ­ зЁ­ п б® бва®ЄЁ, Ї®¬ҐзҐ­­®© Єгаб®а®¬, Ё
ў®§ўа й Ґв ’. ‚ Їа®вЁў­®¬ б«гз Ґ ў®§ўа й Ґвбп NIL. ‘ва®ЄЁ
г­Ёз⮦ овбп §  бзҐв ᢥавЄЁ ­г¦­®Ј® Є®«ЁзҐбвў  бва®Є ­Ё¦Ґ
Єгаб®а  ўўҐае.



MAKE-WINDOW [row,column,rows,columns] Function

…б«Ё вЁЇ ќ‚Њ ᮮ⢥вбвўгҐв, Ё Ґб«Ё <бва®Є >, <Є®«®­Є >,
<бва®ЄЁ> Ё <Є®«®­ЄЁ> ­ е®¤пвбп ў ®ЇаҐ¤Ґ«Ґ­­ле ЇаҐ¤Ґ« е,
(MAKE-WINDOW бва®Є  Є®«®­Є  бва®ЄЁ Є®«®­ЄЁ) б®§¤ Ґв ­  нЄа ­Ґ
Є®­б®«Ё Їаאַ㣮«м­го ®Ў« бвм Є Є ⥪г饥 ®Є­®, ЇҐаҐ¬Ґй Ґв Єгаб®а
ў ўҐае­Ё© «Ґўл© гЈ®« ®Є­  Ё ў®§ўа й Ґв ’. ‚Ґае­Ё© «Ґўл© гЈ®« ®Є­ 
®ЇаҐ¤Ґ«пҐвбп <бва®Є®©> Ё <Є®«®­Є®©>. ЋЄ­® Ё¬ҐҐв иЁаЁ­г <Є®«®­®Є>
Ё ўлб®вг <бва®Є>.
<‘ва®Є > ¤®«¦­  Ўлвм ­г«Ґ¬ Ё«Ё Ї®«®¦ЁвҐ«м­л¬ 楫л¬, ¬Ґ­миЁ¬,
祬 25. <Љ®«®­Є > ¤®«¦­  Ўлвм ­г«Ґ¬ Ё«Ё Ї®«®¦ЁвҐ«м­л¬ 楫л¬,
¬Ґ­миЁ¬, 祬 80. € <бва®Є >, Ё <Є®«®­Є > Ї® 㬮«з ­Ёо ЇаЁ­Ё¬ овбп
§  0. <‘ва®ЄЁ> ¤®«¦­л Ўлвм Ї®«®¦ЁвҐ«м­л¬Ё 楫묨, ¬Ґ­миЁ¬Ё Ё«Ё
а ў­л¬Ё 25 ¬Ё­гб <бва®Є >. <‘ва®ЄЁ> Ї® 㬮«з ­Ёо а бб¬ ваЁў овбп
Є Є 25 ¬Ё­гб <бва®Є >. <Љ®«®­ЄЁ> ¤®«¦­л Ўлвм Ї®«®¦ЁвҐ«м­л¬Ё
楫묨 ¬Ґ­миҐ Ё«Ё а ў­® 80 ¬Ё­гб <Є®«®­Є >. <Љ®«®­ЄЁ> Ї®
㬮«з ­Ёо а бб¬ ваЁў овбп Є Є 80 ¬Ё­гб <Є®«®­Є >.
(MAKE-WINDOW) ў®§ўа й Ґв бЇЁб®Є Ё§ 4-е н«Ґ¬Ґ­в®ў: Ёб室­®©
бва®ЄЁ, Ёб室­®© Є®«®­ЄЁ, Є®«ЁзҐбвў  бва®Є Ё Є®«ЁзҐбвў  Є®«®­®Є
⥪г饣® ®Є­ . Ќ  Їа®¬ҐаҐ Ї®Є § ­®, Є Є б®§¤ Ґвбп ®Є­® ў 12 бва®Є
Ё 40 Є®«®­®Є ў 業вॠнЄа ­ :
(MAKE-WINDOW 6 20 12 40) --> T



FOREGROUND-COLOR [n] Function
BACKGROUND-COLOR [n] Function

…б«Ё вЁЇ ќ‚Њ ᮮ⢥вбвўгҐв, Ё Ґб«Ё <n> - ­®«м Ё«Ё
Ї®«®¦ЁвҐ«м­®Ґ 楫®Ґ, ¬Ґ­миҐ, 祬 16, (FOREGROUND-COLOR n) Ё
(BACKGROUND-COLOR n) гбв ­ ў«Ёў ов ᮮ⢥вб⢥­­® в®­ ЇҐаҐ¤­ҐЈ® Ё
§ ¤­ҐЈ® Ї« ­  ў <n> Ё ў®§ўа й Ґв ЇаҐ¤л¤г饥 §­ зҐ­ЁҐ. …б«Ё
дг­ЄжЁп ўл§лў Ґвбп ЎҐ§  аЈг¬Ґ­в®ў, ўл¤ овбп ⥪гйЁҐ §­ зҐ­Ёп
в®­®ў.
…б«Ё muLISP а Ў®в Ґв ­  IBM PC б ¬®­®е஬®ўл¬ ¬®­Ёв®а®¬, в®
¤«п а §«Ёз­ле §­ зҐ­Ё© <n> ­  нЄа ­ ¤ЁбЇ«Ґп ўл¤ овбп б«Ґ¤гойЁҐ
१г«мв вл:
ЏҐаҐ¤­Ё© Ї« ­: ‡ ¤­Ё© Ї« ­: ђҐ§г«мв в:
-------------- ------------ ----------
0 0 ЌҐв Ё§®Ўа ¦Ґ­Ёп
1 0 Џ®¤зҐаЄЁў ­ЁҐ
7 0 Ќ®а¬ «м­®Ґ Ё§®Ўа ¦Ґ­ЁҐ
0 7 €­ўҐаб­®Ґ Ё§®Ўа ¦Ґ­ЁҐ


…б«Ё muLISP а Ў®в Ґв ­  IBM PC б 梥в­л¬ Ја дЁзҐбЄЁ¬
¤ЁбЇ«ҐҐ¬, в® а §«Ёз­л¬ §­ зҐ­Ёп¬ <n> ᮮ⢥вбвўгов 梥в :

0 - зҐа­л© 4 - Єа б­л© 8 - ⥬­®-бҐал© 12 - ᢥ⫮-Єа б­л©
1 - бЁ­Ё© 5 - дгЄбЁ­®ўл© 9 - ᢥ⫮-Ј®«гЎ®© 13 - ᢥв«л© дгЄбЁ­
2 - §Ґ«Ґ­л© 6 - Є®аЁз­Ґўл© 10 - ᢥ⫮-§Ґ«Ґ­л© 14 - ¦Ґ«вл©
3 - жЁ ­®ўл© 7 - ᢥ⫮-бҐал© 11 - ᢥв«л© жЁ ­ 15 - ЎҐ«л©



CURSOR-LINES: [start-line,end-line] Function

Љгаб®а Є®­б®«Ё - нв® ¬Ґаж ойЁ© Їг祪 бўҐв  ­  нЄа ­Ґ,
б®бв®пйЁ© Ё§ ®Ў­®© Ё«Ё Ў®«ҐҐ Ј®аЁ§®­в «м­ле «Ё­Ё© ¤«Ё­®© ў 1
бЁ¬ў®«. „«п ¬ иЁ­ IBM PC Ја ­Ёжл ­ з «  Ё Є®­ж  Єгаб®а  ¬®Јгв
гбв ­ ў«Ёў вмбп Ї®¤ гЇа ў«Ґ­ЁҐ¬ ЏЋ. „«п ¬®­®е஬®ў®Ј® ¤ЁбЇ«Ґп
Єгаб®а ¬®¦Ґв ўЄ«оз вм ў бҐЎп ¤® 14 бва®Є, ¤«п Ја дЁзҐбЄ®Ј®
¤ЁбЇ«Ґп - ¤® 8 бва®Є. ‚ «оЎ®¬ б«гз Ґ, «Ё­ЁЁ Єгаб®а  ­г¬Ґаговбп,
­ зЁ­ п б 0.
…б«Ё muLISP а Ў®в Ґв ­  IBM PC Ё Ґб«Ё <«Ё­Ёп-­ з «®> Ё
<«Ё­Ёп-Є®­Ґж> - нв® ­Ґ®ваЁж вҐ«м­лҐ 楫лҐ, ¬Ґ­миҐ, 祬
¬ ЄбЁ¬ «м­®Ґ Є®«ЁзҐбвў® «Ё­Ё© Єгаб®а  ¤«п ¤ ­­®Ј® ¬®­Ёв®а ,
(CURSOR-LINE «Ё­Ёп-­ з «® «Ё­Ёп-Є®­Ґж) гбв ­ ў«Ёў Ґв «Ё­ЁЁ ­ з « 
Ё Є®­ж  Єгаб®а  Ё ў®§ўа й Ґв бЇЁб®Є, б®бв®пйЁ© Ё§ ­®¬Ґа®ў бв але
«Ё­Ё© ­ з «  Ё Є®­ж .
Џ® ®Є®­з ­ЁЁ а Ў®вл muLISP ў®ббв ­ ў«Ёў Ґв ЇҐаў®­ з «м­го
д®а¬г Єгаб®а .
ЏаЁ¬Ґа:
(CURSOR-LINES 0 13) --> (12 13) ;Makes cursor a full block



DISPLAY-PAGE: [n] Function

…б«Ё muLISP а Ў®в Ґв ­  IBM PC б Ја дЁзҐбЄЁ¬ ¤ЁбЇ«ҐҐ¬, Ё
Ґб«Ё <n> - ­®«м Ё«Ё Ї®«®¦ЁвҐ«м­®Ґ 楫®Ґ, ¬Ґ­миҐ, 祬 8,
(DISPLAY-PAGE n) гбв ­ ў«Ёў Ґв бва ­Ёжг  ЄвЁў­ле а Ў®в ў <n> Ё
ў®§ўа й Ґв ЇаҐ¤л¤гйго бва ­Ёжг. ‚ Їа®вЁў­®¬ б«гз Ґ, DISPLAY-PAGE
ў®§ўа й Ґв ⥪гйго display-бва ­Ёжг. ќв® ¤ Ґв ў®§¬®¦­®бвм Ўлбва®
ЇҐаҐЄ«оз вмбп ¬Ґ¦¤г нЄа ­ ¬Ё, Ї®«­л¬Ё ⥪бв  (б¬. ’Ґе­ЁзҐбЄ®Ґ
агЄ®ў®¤бвў® Ї® IBM PC).




*AUTO-NEWLINE*: '*AUTO-NEWLINE* Control variable

…б«Ё *AUTO-NEWLINE* - ­Ґ NIL, в® ­ҐЇ®б।б⢥­­® Ї®б«Ґ
бЁ¬ў®« , Є®в®ал© ўлᢥ稢 Ґвбп ў б ¬®© Їа ў®© Є®«®­ЄҐ ⥪г饣®
®Є­ ,  ўв®¬ вЁзҐбЄЁ Ї®пў«пҐвбп ­®ў п бва®Є . …б«Ё *AUTO-NEWLINE*
- NIL, в® ­®ў п бва®Є  ­Ґ Ї®пў«пҐвбп,   Єгаб®а Ё§ б ¬®© Їа ў®©
Є®«®­ЄЁ ®Є­  гЎЁа Ґвбп.



*BLINK*: NIL Control variable

…б«Ё *BLINK* - ­Ґ NIL, в® ­®ўлҐ бЁ¬ў®«л ­  нЄа ­Ґ ¤ЁбЇ«Ґп
Ўг¤гв ¬ЁЈ вм, Ґб«Ё NIL - ­Ґ Ўг¤гв ¬ЁЈ вм.



*HIGH-INTENSITY*: NIL Control variable

…б«Ё *HIGH-INTENSITY* - ­Ґ NIL, в® ­®ўлҐ бЁ¬ў®«л Ўг¤гв
ўлᢥ稢 вмбп б Ї®ўл襭­®© паЄ®бвмо; Ґб«Ё NIL - б Ї®­Ё¦Ґ­­®©
паЄ®бвмо (в.Ґ. вгбЄ«®).





5.22. ‘¬Ґи ­лҐ дг­ЄжЁЁ

TIME [flag] Function

TIME ў®§ўа й Ґв Є®«ЁзҐбвў® Їа®©¤Ґ­­®Ј® ўаҐ¬Ґ­Ё б вҐе Ї®а,
Є Є Ўл«Ё гбв ­®ў«Ґ­л бЁб⥬­лҐ з бл, б в®з­®бвмо ¤® б®вле ¤®«Ґ©
ᥪ㭤л. …б«Ё <д« Ј> - ­Ґ NIL, (TIME д« Ј) гбв ­ ў«Ёў Ґв з бл ў 0.
TIME ¬®¦Ґв ЁбЇ®«м§®ў вмбп ¤«п ®ЇаҐ¤Ґ«Ґ­Ёп ­ ЁЎ®«ҐҐ
нд䥪⨢­®Ј®  «Ј®аЁв¬  аҐиҐ­Ёп ®ЇаҐ¤Ґ«Ґ­­®© § ¤ зЁ. ‘Ўа®б з б®ў
¤® 0 ­Ґ ў«ЁпҐв ­  бзҐвзЁЄ ўаҐ¬Ґ­Ё Ћ‘,   в®«мЄ® ­  ў­гв७­Ё©
бзҐвзЁЄ ўаҐ¬Ґ­Ё muLISP.
ЏаЁ¬Ґа:
(DEFUN TIME (RESET)
((NULL RESET)
(return the time in 100ths of a second) )
(set the time counter to time 0)
0 )

(TIME T) (RECLAIM) (TIME) --> 50





6. Ћв« ¤зЁЄ muLISP


Ћв« ¤®з­л© Ї ЄҐв muLISP - нв® ¬­®¦Ґбвў®  «Ј®аЁв¬®ў,
®ЎҐбЇҐзЁў ойве Ї®¬®йм Ї®«м§®ў вҐ«о ЇаЁ Їа®ҐЄвЁа®ў ­ЁЁ Ё ®в« ¤ЄҐ
Їа®Ја ¬¬ muLISP. Ћ­ ᮤҐа¦Ёв б।бвў  ва ббЁа®ўЄЁ, ЇаҐалў ­Ёп Ё
бв вЁбвЁЄЁ. ‘।бвў  ва ббЁа®ўЄЁ ¤«п Є ¦¤®© дг­ЄжЁЁ ўл¤ ов ­ 
нЄа ­ ¤ЁбЇ«Ґп Ё­д®а¬ жЁо ® 室Ґ ўлзЁб«Ґ­Ёп дг­ЄжЁЁ. ‘।бвў 
ЇаҐалў ­Ёп ®бв ­ ў«Ёў ов ўлзЁб«Ґ­ЁҐ дг­ЄжЁ© ў ЄаЁвЁзҐбЄЁе
в®зЄ е, Ї®§ў®«пп Ї®«м§®ў вҐ«о ®бгйҐбвўЁвм Їа®ўҐаЄг б।л.
‘।бвў  бв вЁбвЁЄЁ Ї®¬®Ј ов ®ЇаҐ¤Ґ«Ёвм бЄ®а®бвм Ё«Ё Ј«гЎЁ­г
ЄаЁвЁзҐбЄЁе гз бвЄ®ў ў Ў®«миЁе Їа®Ја ¬¬ е.
‘।бвў  ®в« ¤ЄЁ muLISP - нв® Ёб室­л© д ©« DEBUG.LSP; ®­
¬®¦Ґв Ўлвм § Ја㦥­ б Ї®¬®ймо Є®¬ ­¤л

(RDS 'DEBUG)

‡ ЎҐЈ п ўЇҐаҐ¤, ®в¬ҐвЁ¬, зв® дг­ЄжЁЁ APP Ё REV ®ЇаҐ¤Ґ«повбп
б«Ґ¤гойЁ¬ ®Ўа §®¬:

(DEFUN APP (LST1 LST2)
((NULL LST1) LST2)
(CONS (CAR LST1) (APP (CDR LST1) LST2)) )

(DEFUN REV (LST)
((NULL LST) NIL)
(APP (REV (CDR LST)) (LIST (CAR LST))) )

APP Ё REV нЄўЁў «Ґ­в­л Їа®бвл¬ дг­ЄжЁп¬ muLISP APPEND Ё
REVERSE ᮮ⢥вб⢥­­®. Ћ¤­ Є® APP Ё REV ¬Ґ­ҐҐ нд䥪⨢­л Ё
а Ў®в ов ¬ ЄбЁ¬г¬ б ¤ўг¬п  аЈг¬Ґ­в ¬Ё, Ї®н⮬㠨¬ § ¤ ­л ¤агЈЁҐ
Ё¬Ґ­ .


6.1. ‘।бвў  ва ббЁа®ўЄЁ

Љ Є в®«мЄ® ўбваҐвЁ«бп ўл§®ў ва ббЁа㥬®© дг­ЄжЁЁ, ҐҐ Ё¬п Ё
бЇЁб®Є д®а¬ «м­ле Ё д ЄвЁзҐбЄЁе  аЈг¬Ґ­в®ў ўл¤ овбп ­  нЄа ­
¤ЁбЇ«Ґп. Љ Є в®«мЄ® ўлЇ®«­Ёвбп ўл室 Ё§ ва ббЁа㥬®© дг­ЄжЁЁ, ­ 
нЄа ­ ўл¤ овбп ҐҐ Ё¬п Ё §­ зҐ­ЁҐ. Џ® ў иҐ¬г ¦Ґ« ­Ёо дг­ЄжЁЁ ¬®Јгв
ўлᢥ稢 вм Ё­д®а¬ жЁо ® ва ббЁа®ўЄҐ в®«мЄ® Ї®б«Ґ в®Ј®, Є Є
дг­ЄжЁп Ўг¤Ґв ўл§ў ­  ®ЇаҐ¤Ґ«Ґ­­®Ґ Є®«ЁзҐбвў® а §, Ё«Ё в®«мЄ®
¬Ґ¦¤г ¬ ЄбЁ¬ «м­л¬ Ё ¬Ё­Ё¬ «м­л¬ га®ў­п¬Ё ४габЁў­ле ўЁвЄ®ў Ё
в.¤.
’а ббЁа®ўЄ  дг­ЄжЁ© ®бгйҐбвў«пҐвбп б Ї®¬®ймо
­Ґа §ўҐа­гв®© дг­ЄжЁЁ TRACE. Ћ­  ўл§лў Ґвбп б ®¤­®© Ё«Ё Ў®«ҐҐ
дг­ЄжЁп¬Ё ¤«п ва ббЁа®ўЄЁ ў Є зҐб⢥ бў®Ёе  аЈг¬Ґ­в®ў. Ќ ЇаЁ¬Ґа,
Є®¬ ­¤ 

(TRACE 'APP 'REV)

ва ббЁагҐв дг­ЄжЁЁ APP Ё REV. …б«Ё Ї®б«Ґ нв®Ј® ўўҐбвЁ Є®¬ ­¤г

(REV '(A B)) ,

в® ўлᢥвЁвбп б«Ґ¤гой п ва бб :

1| REV [LST: (A B)]
2| REV [LST: (B)]
3| REV [LST: NIL]
3| REV = NIL
3| APP [LST1:NIL,LST2: (B)]
3| APP = (B)
2| REV = (B)
2| APP [LST1: (B),LST2: (A)]
3| APP [LST1: NIL,LST2: (A)]
3| APP = (A)
2| APP = (B A)
1| REV = (B A)
(B A)

…б«Ё ўлў®¤ ва ббл ®бгйҐбвў«пҐвбп б«ЁиЄ®¬ Ўлбва®, ¤«п
ўаҐ¬Ґ­­®© ®бв ­®ўЄЁ ва ббл ¬®¦­® ЁбЇ®«м§®ў вм <CTRL-S>. ‘ Ї®¬®ймо
Є®¬ ­¤

(SETQ ECHO T)
(WRS 'drive:name.type)

¬®¦­® ЇҐаҐб« вм ўл室­го ва ббг ў д ©« <Ё¬п>.<вЁЇ> ­ 
<гбва®©б⢥> ¤«п Ї®б«Ґ¤го饩 ўл¤ зЁ ҐЈ® ­  Є®­б®«м. Љ Є в®«мЄ®
ва бба®ўЄ  § Є®­зЁвбп, ўў®¤Ёвбп Є®¬ ­¤ 

(WRS) ,

Є®в®а п § Єалў Ґв д ©«. ‡ вҐ¬ ¬®¦­® Їа®б¬®ваҐвм д ©« ў «оЎ®©
­г¦­л© ¬®¬Ґ­в б Ї®¬®ймо бв ­¤ ав­®Ј® । Єв®а  ⥪бв®ў.
„«п «ЁЄўЁ¤ жЁЁ ЇаҐ¤бв ў«Ґ­Ёп Ў®«миЁе ®ЎмҐ¬®ў ­Ґ­г¦­®©
Ё­д®а¬ жЁЁ ¬®¦­® ўлЎа вм ¬®¬Ґ­в, Є®Ј¤  дг­ЄжЁп ва ббЁа®ўЄЁ Ўг¤Ґв
ўлЇ®«­пвм ўлў®¤. Љ®¬ ­¤ 

(SETQ TRACE NIL)

§ ¤Ґа¦Ёў Ґв ўлў®¤ ва ббл ¤«п ўбҐе дг­ЄжЁ© ¤® вҐе Ї®а, Ї®Є  TRACE
ЇҐаҐ®ЇаҐ¤Ґ«пҐв §­ зҐ­ЁҐ, ®в«Ёз­®Ґ ®в NIL. Љ®¬ ­¤ 

(REMFLAG 'TRACE 'name) ,

Ј¤Ґ <Ё¬п> - нв® Ё¬п ва ббЁа㥬®© дг­ЄжЁЁ, § ¤Ґа¦Ёў Ґв ўлў®¤ ва ббл
¤«п ¤ ­­®© дг­ЄжЁЁ ¤® вҐе Ї®а, Ї®Є  ­Ґ ўбваҐвЁвбп Є®¬ ­¤ 

(FLAG 'TRACE 'name)

‚лў®¤ ва ббл ¤«п ўбҐе дг­ЄжЁ© ¬®¦Ґв Ўлвм § ¤Ґа¦Ґ­ ­  ®б­®ўҐ
Є®«ЁзҐбвў  ўл§®ў®ў ва ббЁа㥬®© дг­ЄжЁЁ. …б«Ё Є®­ва®«м­ п
ЇҐаҐ¬Ґ­­ п MINCALL Ё¬ҐҐв §­ зҐ­ЁҐ 楫®Ј® Ї®«®¦ЁвҐ«м­®Ј® зЁб« ,
ўҐбм ўлў®¤ ва ббл § ¤Ґа¦Ёў Ґвбп ¤® вҐе Ї®а, Ї®Є  Є®«ЁзҐбвў®
ўл§®ў®ў дг­ЄжЁЁ ­Ґ Ўг¤Ґв Ў®«миҐ Ё«Ё а ў­® н⮬㠧­ зҐ­Ёо.
’ Є ¦Ґ, ­  ®б­®ўҐ Є®«ЁзҐбвў  ўл§®ў®ў, ¬®¦Ґв Ўлвм § ¤Ґа¦ ­
ўлў®¤ ва ббл ¤«п Є Є®©-«ЁЎ® ®¤­®© Є®­ЄаҐв­®© дг­ЄжЁЁ. Љ®¬ ­¤ 

(PUT 'MINCALL 'name n) ,

Ј¤Ґ <Ё¬п> - нв® Ё¬п ва ббЁа㥬®© дг­ЄжЁЁ,   <n> - Ї®«®¦ЁвҐ«м­®Ґ
楫®Ґ зЁб«®, § ¤Ґа¦Ёў Ґв ўлў®¤ ва ббл дг­ЄжЁЁ ¤® вҐе Ї®а, Ї®Є 
®­  ­Ґ Ўг¤Ґв ўл§ў ­  <n> а §.
‚лў®¤ ва ббл ¤«п ўбҐе дг­ЄжЁ© ¬®¦Ґв Ўлвм § ¤Ґа¦ ­ ­  ®б­®ўҐ
га®ў­п ў«®¦Ґ­­®бвЁ ўл§®ў  дг­ЄжЁЁ. …б«Ё Є®­ва®«м­ п ЇҐаҐ¬Ґ­­ п
NINLEVEL Ё¬ҐҐв §­ зҐ­ЁҐ Ї®«®¦ЁвҐ«м­®Ј® 楫®Ј® зЁб« , ўҐбм ўлў®¤
ва ббл § ¤Ґа¦Ёў Ґвбп ¤® вҐе Ї®а, Ї®Є  га®ўҐ­м ў«®¦Ґ­­®бвЁ дг­ЄжЁЁ
Ўг¤Ґв Ў®«миҐ Ё«Ё а ўҐ­ н⮬㠧­ зҐ­Ёо. ’®з­® в Є ¦Ґ, Ґб«Ё
MAXLEVEL Ё¬ҐҐв §­ зҐ­ЁҐ Ї®«®¦ЁвҐ«м­®Ј® 楫®Ј® зЁб« , ўҐбм ўлў®¤
ва ббл § ¤Ґа¦Ёў Ґвбп ¤® вҐе Ї®а, Ї®Є  га®ўҐ­м ў«®¦Ґ­­®бвЁ дг­ЄжЁЁ
Ўг¤Ґв ¬Ґ­миҐ Ё«Ё а ўҐ­ н⮬㠧­ зҐ­Ёо.
’®з­® в Є ¦Ґ, ­  ®б­®ўҐ га®ў­п ў«®¦Ґ­­®бвЁ ¬®¦Ґв Ўлвм
§ ¤Ґа¦Ґ­ ўлў®¤ ва ббл ¤«п Є Є®©-«ЁЎ® ®¤­®© Є®­ЄаҐвЄ®© дг­ЄжЁЁ.
Љ®¬ ­¤ 

(PUT 'MINLEVEL 'name 'n) ,

Ј¤Ґ <Ё¬п> - нв® Ё¬п ва ббЁа㥬®© дг­ЄжЁЁ,   <n> - Ї®«®¦ЁвҐ«м­®Ґ
楫®Ґ, ўлў®¤ ва ббл дг­ЄжЁЁ § ¤Ґа¦Ёў Ґвбп ¤® вҐе Ї®а, Ї®Є 
га®ўҐ­м ҐҐ ў«®¦Ґ­­®бвЁ Ў®«миҐ Ё«Ё а ўҐ­ <n>.
’®з­® в Є ¦Ґ, Є®¬ ­¤ 

(PUT 'MAXLEVEL 'name n)

§ ¤Ґа¦Ёў Ґв ўлў®¤ ва ббл дг­ЄжЁЁ б Ё¬Ґ­Ґ¬ <Ё¬п> ¤® вҐе Ї®а, Ї®Є 
га®ўҐ­м ҐҐ ў«®¦Ґ­­®бвЁ ¬Ґ­миҐ Ё«Ё а ўҐ­ <n>. ЏаЁбў Ёў п MAXLEVEL
§­ зҐ­ЁҐ 1, ¬®¦­® ва ббЁа®ў вм ўл§®ў дг­ЄжЁЁ в®«мЄ® ўҐае­ҐЈ®
га®ў­п.
Ќ ЇаЁ¬Ґа, Є®¬ ­¤л

(PUT 'MINLEVEL 'APP2)
(PUT 'MAXLEVEL 'REV1)
(REV '(A B C))

ўлЇ®«­пҐв б«Ґ¤гойЁ© ўлў®¤:

1| REV [LST: (A B C)]
4| APP [LST1: NIL,LST2: (B)]
4| APP = (B)
3| APP [LST1: (B),LST2: (A)]
4| APP [LST1: NIL,LST2: (A)]
4| APP = (A)
3| APP = (B A)
1| REV = (C B A)
(C B A)

Ћ¤­ Є®, ¤ ¦Ґ в®Ј¤ , Є®Ј¤  ўлў®¤ ва ббЁа®ўЄЁ Ўл« § ¤Ґа¦ ­
®¤­Ё¬ Ё§ ўл襯ҐаҐзЁб«Ґ­­ле бЇ®б®Ў®ў, ва бб  ¬®¦Ґв Ўлвм ўл¤ ­  ­ 
нЄа ­ ¤ЁбЇ«Ґп Ё§ в Є ­ §лў Ґ¬®© "Ёбв®аЁЁ" ва ббЁа®ўЄЁ. Ћв« ¤®з­л©
Ї ЄҐв  ўв®¬ вЁзҐбЄЁ б®еа ­пҐв "Ёбв®аЁо" ва ббЁа®ўЄЁ ¤«п
Ї®б«Ґ¤го饣® ў®ббв ­®ў«Ґ­Ёп ўлў®¤  ва бб ЇаЁ Ї®¤®Ў­ле § ¤Ґа¦Є е.
"€бв®аЁп" б®еа ­пҐвбп ў ЎгдҐаҐ дЁЄбЁа®ў ­­®© ¤«Ё­л; ¤«Ё­  ЎгдҐа 
а ў­  §­ зҐ­Ёо Є®­ва®«м­®© ЇҐаҐ¬Ґ­­®© HISTLEN. Џ® 㬮«з ­Ёо
§­ зҐ­ЁҐ HISTLEN а ў­® 15. …б«Ё Ї®б«Ґ ЇаҐ¤л¤гйЁе ¤Ґ©бвўЁ© ўўҐбвЁ
Є®¬ ­¤г:

(HISTORY) ,

ўлᢥвЁвбп б«Ґ¤гой п ва бб :

4| APP [LST1: NIL,LST2: (C)]
4| APP = (C)
3| REV = (C)
3| APP [LST1: (C),LST2: (B)]
4| APP [LST1: NIL,LST2: (B)]
4| APP = (B)
3| APP = (C B)
2| REV = (C B)
2| APP [LST1: (C B),LST2: (A)]
3| APP [LST1: (B),LST2: (A)]
4| APP [LST1: NIL,LST2: (A)]
4| APP = (A)
3| APP = (B A)
2| APP = (C B A)
1| REV = (C B A)







Соседние файлы в папке Filp