1
0
mirror of https://github.com/PDP-10/its.git synced 2026-03-18 07:52:52 +00:00

LIB.LOGO update v 0.01

This commit is contained in:
Alexey-Slyusar
2019-05-12 18:30:21 +04:00
parent 19f312f07f
commit e46e090d7b

View File

@@ -3,6 +3,8 @@
;;; WRITTEN BY BRIAN HARVEY AND
;;; PORTED TO ITS LLOGO BY ALEXEY SLYUSAR
;; version 0.01
TO ?
10 OP :TEMPLATE.VAR
END
@@ -73,3 +75,45 @@ TO FOREACH1 :TEMPLATE.VAR
10 RUN :FOREACH.TEMPLATE
20 FOREACH BF :TEMPLATE.LIST :FOREACH.TEMPLATE
END
ERASE PRIMITIVE MAP
; MAP ERASED
TO MAP :MAP.TEMPLATE :TEMPLATE.LIST
10 OP MAP1 PREPARE.TEMPLATE :MAP.TEMPLATE :TEMPLATE.LIST 1
END
;MAP DEFINED
TO MAP1 :MAP.TEMPLATE :TEMPLATE.LIST :TEMPLATE.NUMBER
10 IF EMPTYP :TEMPLATE.LIST OP []
20 LOCAL 'TEMPLATE.VAR
30 MAKE 'TEMPLATE.VAR FIRST :TEMPLATE.LIST
40 OP FPUT (RUN :MAP.TEMPLATE) (MAP1 :MAP.TEMPLATE (BF :TEMPLATE.LIST) 1+:TEMPL!
ATE.NUMBER)
END
;MAP1 DEFINED
TO MAP.SE :MAP.SE.TEMPLATE :MAP.SE.LIST
10 IF EMPTYP :MAP.SE.LIST OP []
20 OP MAP.SE1 FIRST :MAP.SE.LIST
END
;MAP.SE DEFINED
TO MAP.SE1 :TEMPLATE.VAR
10 OP SE (RUN :MAP.SE.TEMPLATE)(MAP.SE :MAP.SE.TEMPLATE BF :MAP.SE.LIST)
END
;MAP.SE1 DEFINED
TO ITEM :ELEMENT :LIST
10 IF :ELEMENT = 1 OP FIRST :LIST
20 OP ITEM (:ELEMENT - 1) BF :LIST
END
;ITEM DEFINED
ERASE PRIMITIVE MEMBER
; MEMBER ERASED
TO MEMBERP :WORD :LIST
10 IF EMPTYP :LIST OP 'NIL
20 IF EQUAL :WORD (FIRST :LIST) OP 'T
30 OP MEMBERP :WORD (BF :LIST)
END
;MEMBER DEFINED