+ | - положительное (>0) значение числа |
− | - отрицательное (<0) значение числа |
0 | - 0 типа атома: 0 (%i) или 0.0 (%f) числа, пустые строка и множество св-в |
1 | - нечетное целое /%i1/, |
2 | - четное /%i2/ |
<имя>:( | Params(<пар-р>{,<пар-р>}[,End(<операции>)]), | |
Ins(<вход>{,<вход>}), | ||
[,Synch(<синхробработка>{,синхробработка>}),] | ||
[Outs(<выход>{,<выход>})] | ||
) |
<имя входа>:( | [<вид источника потока>,] |
[<параметры обработки>,] | |
<обработка потока> | |
) |
<имя входа>:( | Well:<источник потока>, |
[<параметры обработки>,] | |
[<обработка потока>] | |
) |
<синхрообработка>::= | |
<имя-индекс>:( | Regs(<источник[потока]>{,<источник>}) |
[<параметры обработки>,] | |
<обработка потока> | |
) |
%A | - заменено копией атома (вне ДРП), указываемого УКА. При УКА=0 операция прерывается. Это преобразование можно дополнить требованиями (3) изменения типа полученной копии атома. |
%~a | - УКА сбрасывается в 0 |
%~l | - УКС сбрасывается в 0 |
%~a~l | - выполнение предыдущих %~a и %~l |
%Ai | - исх.%R~al заменяется размером слоя по УКС. |
%l0 | - не пустой слой (%l~0) по УКС сбрасывается до пустого. |
%l | - В отсутствие слоя (%R~l) создается пустой слой. |
%a0 | - сброс атома в 0-е значение его типа. |
%V | - меняется на Vзн-е - пару УКС с указываемым УКА индексом - целым (%i) или именем (%n), если, конечно, такой узел в слое по УКС существует (иначе прерывание %X). В отсутствие УКА индекс принимается равным 0. |
\ | - один из атомов отсутствует или не совпадают их виды |
= | - значения атомов совпадают |
< | - значение атома рез-та меньше чем у атома операнда |
<= | - значение атома рез-та не больше чем у атома операнда |
> | - значение атома рез-та больше чем у атома операнда |
>= | - значение атома рез-та не меньше чем у атома операнда |
For( | Params( | rise:(%~A|~i~f?0), |
q:(%Ai?%~−,~?1), | ||
h:(%Aif?(%0?1),~?1) | ||
), | ||
Ins(Calc: | (Well:0, All:q, Sum:rise, Go:(Sum,=>, h, +=Sum))) | |
) |
While( | Params( | bnd1:(%~A|~i~f?0%A), |
bnd2:(%~A|~i~f?0%A), | ||
h:%0?1, | ||
End:(bnd1,=bnd2, %>%−%h, ~?%~−%h) | ||
), | ||
Ins( | Sum:bnd1,Go:(Sum,=>,+h,−>Sum,=bnd2,%>?(h,%~−?%X), %<?(h,%−?%X))) | |
) |
Fact( | Params(n:(%Ai?%~−,~?0), Odd:(%Ai1|Ai2?%Ap,~?%K)), | |
Ins(Well=_N,Sum:1, Go:(+1,−>a,%~K!Odd?(%Ap,=Odd, %=?(Sum,=>)),a, *=Sum)), | ||
Out:(All:n) | ||
) |
Glay( | Params(S:(%V?%R, %~R|~l?%X), q:0, End:%~X!S?(S%~a%i!, −>q)), | |
Ins(Well=For(0,q,1), Go:(−>i; S[i,=>)), | ||
) |
Exp( | Params(x:%~A|~i~f?%X), | |
Ins( | A:(Well:Stream(1680,840,180,20,1), Go :=>), | |
B:(Well:x, All:5, Sum:1, Go:(%0!_N?1,~?(x,*=Sum,=>))) | ||
), | ||
Synch( | Regs(A,B), Begin:(%GAf0!a,%GAf0!b), | |
Go:(A,*B, +=a, %1!_N?−=b,~?+=b), | ||
End:(a,/b,=>) | ||
) | ||
) |
Sin( | Params(x:(%Aif?%f, ~?%X), ms:0.0001, x2:0, End:(x,*x,%−,−>x2)), | ||||
Ins( | Well:_N, Sum:x, | ||||
Begin:(x,−>u,%G!u), | |||||
Go:(+1,*2,−>k,+1,*=k, x2,*u,/k,−>u,+=Sum,?%~−, =ms, %<?=>End), | |||||
End:(Sum,=>) | |||||
) | |||||
) |
Tg( | Params(x:%~A|~i~f?%X), | |
Ins( | A1:(Well:Stream(945,-105,1), Go: =>sh1), | |
B1:(Well:1, All:3, Sum:x, Go:(Sum,%~0!_N?(*x,*x,−>Sum),=>sh1)), | ||
A2:(Well:Stream(945,−420,15), Go: =>sh2), | ||
B2:(Well:1, All:3, Sum:1, Go:(Sum,%~0!_N?(*x,*x,−>Sum),=>sh2)) | ||
), | ||
Synch( | sh1:(Regs(A1,B1), Sum:0.0, Go:(A1,*B1, +=Sum), End:(Sum,=>)), | |
sh2:(Regs(A2,B2), Sum:0.0, Go:(A2,*B2, +=Sum), End:(Sum,=>)), | ||
Out:(Regs(sh1,sh2), Go:(sh1, /sh2, =>)) | ||
) | ||
) |
In( | Params(Struct:(%~R?%X), mInd:100, mDeep:9), | |||
Ins( | Well:FUN, All:mDeep, | |||
Begin:(%G!s, Struct,−>s,%~a!s), | ||||
Go:( | −>i,%Ain?(s, %R~l?%l0, i),~?%X, | |||
%i?(%−?%X, =mInd, %>?%X, s%Ai, =i, %<=?(−i, %− +1, +=s), s[i, =>), | ||||
~?(s,[i,%~X? =>,~?(+i,[i, =>)), | ||||
%R,%~a,−>s | ||||
) | ||||
) | ||||
) |
БП | - блок (страница) ДРП |
ДРП | - Динамически распределяемая память |
исх. | - исходный (ое, ая) |
пар-р | - параметр |
рез-т | - результат |
св-в[о,а] | - свойств[о,а] |
%Rail | - свойства R, a, i и l |
УКА | - указатель БП с атомом |
УКС | - указатель БП со слоем |
Rзн-е | - R-значение |
Vзн-е | - V-значение |