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