ЋИРИЛИСП:0,9
This commit is contained in:
parent
9ada71164a
commit
edd55717d4
|
@ -80,6 +80,7 @@ void init()
|
|||
addSymbolInternal("примени", &applyInt, 0);
|
||||
addSymbolInternal("прикажи", &displayInt, 0);
|
||||
addSymbolInternal("штампај", &printInt, 0);
|
||||
addSymbolInternal("читај", &readInt, 0);
|
||||
addSymbolInternal("почни", &beginInt, 0);
|
||||
addSymbolInternal("баци", &throwInt, 0);
|
||||
addSymbolInternal("направи-ниску", &makeStrInt, 0);
|
||||
|
|
10
internals.c
10
internals.c
|
@ -792,6 +792,16 @@ object printInt(object parameters)
|
|||
return copyObject(CAR(parameters));
|
||||
}
|
||||
|
||||
object readInt(object parameters)
|
||||
{
|
||||
if (listLength(parameters) != 0)
|
||||
{
|
||||
SIGERR(argumentNumberError);
|
||||
}
|
||||
|
||||
return Read("", stdin);
|
||||
}
|
||||
|
||||
object beginInt(object parameters)
|
||||
{
|
||||
object last;
|
||||
|
|
|
@ -36,6 +36,7 @@ object eqvQInt(object parameters);
|
|||
object applyInt(object parameters, env currentEnv);
|
||||
object displayInt(object parameters);
|
||||
object printInt(object parameters);
|
||||
object readInt(object parameters);
|
||||
object beginInt(object parameters);
|
||||
object throwInt(object parameters);
|
||||
object makeStrInt(object parameters);
|
||||
|
|
29
инит.ћ
29
инит.ћ
|
@ -60,11 +60,34 @@
|
|||
(листа 'ако (саар клаузе)
|
||||
(ако (нил? (сдар клаузе))
|
||||
(саар клаузе)
|
||||
(листа 'примени 'почни
|
||||
(листа 'навод (сдар клаузе))))
|
||||
(конс 'почни (сдар клаузе)))
|
||||
(ако (нил? (сдр клаузе))
|
||||
()
|
||||
(примени услов (сдр клаузе)))))))
|
||||
|
||||
(опиши (цеоброј? џ)
|
||||
(опиши (мапирај процедура листа)
|
||||
(услов
|
||||
((није (листа? листа)) (баци "Функција се не може мапирати\
|
||||
на не-листу"))
|
||||
((није (процедура? процедура)) (баци "Не може се мапирати\
|
||||
не-функција"))
|
||||
((нил? листа) ())
|
||||
(#и (конс
|
||||
(процедура (сар листа))
|
||||
(мапирај процедура (сдр листа))))))
|
||||
|
||||
(опиши-складњу (нека листа-променљивих . тело)
|
||||
(опиши (валидна-нека-листа-променљивих листа)
|
||||
(опиши (дужине2 листа)
|
||||
(= (дужина листа) 2))
|
||||
(примени и (мапирај дужине2 листа)))
|
||||
(ако (није (валидна-нека-листа-променљивих листа-променљивих))
|
||||
(баци "Невалидна листа променљивих за \"нека\" процедуру")
|
||||
(почни
|
||||
(опиши имена (мапирај сар листа-променљивих))
|
||||
(опиши вредности (мапирај садр листа-променљивих))
|
||||
(опиши ламбда-израз (надовежи (листа 'ламбда имена) тело))
|
||||
(конс ламбда-израз вредности))))
|
||||
|
||||
(опиши (цео-број? џ)
|
||||
(= (именилац (нетачно->тачно џ)) 1))
|
||||
|
|
Loading…
Reference in a new issue