
Добавил:
Kaz
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
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)
”гЄжЁЁ нЄа Є®б®«Ё ЇаҐ¤ § зҐл ¤«п ўл¤ зЁ нЄа Ё
д®а¬ вЁа®ў Ёп б нЄа ⥪бв - нв® дгЄжЁЁ б®§¤ Ёп ®Є®,
Ё§¬ҐҐЁп Ї®«®¦ҐЁп Єгаб®а Ё ᢥавЄЁ ⥪бв . ЏҐаҐ¬ҐлҐ нЄа
Є®б®«Ё ®ЎҐбЇҐзЁў ов гЇа ў«ҐЁҐ в ЄЁ¬Ё ваЁЎгв ¬Ё, Є Є ¬Ґаж ЁҐ,
ЁўҐаᮥ Ё§®Ўа ¦ҐЁҐ, паЄ®бвм Ё ўв®¬ вЁзҐбЄ п ᢥавЄ нЄа .
Џа®жҐ¤гал, Є®в®алҐ 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