perm filename BB18[206,LSP] blob
sn#128918 filedate 1974-10-24 generic text, type T, neo UTF8
(DEFPROP BBFCNS
(BBFCNS BBXGP
BBPUB
BBTTY
BBLPT
NEWFONTS
XGP
FONTLIST
NUMFONTS
MINFONT
GETFONT
MAXFONT
LINL
BBTTYLPT
SIN
FIN
HIN
MAXF
BBPPROPS
BBPPROP
BBPROPS
TTYMSG
NEWLINE
PREX
BBEX
BBVALDEF
BBFUNDEF
MAK
BBFUN
BBARGS
XBLANK
XSYM
XCONST
BRACKET
BBEXL
INPUNA
XL
FNTLENGTH
FSIZEL
FSIZE
PSIZE
CHVAL
XVAR
SMALLNAM
SMALL
SUMLEN
BBLIST
BBLAMBDA
PARENS
BBLAMBDAF
BBVARS
BINOPB
BBCOND
BBQUOTE
BBLISTF
BBFUNCTION
BBPROG
UNOP
BBSELECTQ
BBSELECTA
XLL
XBOLD
BBPROGA
LABL
ALPHABETIC
ALPHANUM
BBQUOTEL
BBELSE
INOPB
INOPBB
SIMPLEPRINT
PREH
PRA
PRF
PRT
PRINX
PRINXX
SELECTCHAR
FONTSYMS
ULINE
PRINDEC
XSPACE
PFONTS
PRINTC
BBXGPPUB
XGPLINL
CHARW
SCANTABLE
SETBITS
CLEARBITS
SLASHIFY
SETSLASHES
SETSCANTABLE
SCANPUSH
SCANPOP)
VALUE)
(DEFPROP BBXGP
(LAMBDA(U)
(SETQ SELECTCHAR (MAKNAM (LIST (QUOTE //) (ASCII 177) (QUOTE ↓))))
(SETQ FONTSYMS
(LIST (QUOTE ↓)
(QUOTE α)
(QUOTE β)
(QUOTE ∧)
(QUOTE ¬)
(QUOTE ε)
(ASCII 7)
(QUOTE λ)
(ASCII 11)
(ASCII 12)
(ASCII 13)
(ASCII 14)
(ASCII 15)
(ASCII 16)
(ASCII 17)))
(SETQ PUB NIL)
(BBXGPPUB U)
NIL)
EXPR)
(DEFPROP BBPUB
(LAMBDA(U)
(PROG (CH)
(SETQ SELECTCHAR (QUOTE %))
(SETQ FONTSYMS PFONTS)
(SETQ PUB T)
(SETSLASHES (QUOTE (∂ { % //)))
(PRINTC (QUOTE /.BEGIN/ NOFILL))
(PRINTC (QUOTE /.VARIABLE/ CHW))
(PRINTC (QUOTE /.CHW/ ←/ CHARW))
(PRINTC (QUOTE /.TURN/ OFF/ /"βα#\←∞↑↓∪/"))
(PRINTC (QUOTE /.TURN/ ON/ /"∂{%/"))
(PRINTC (QUOTE /.TURN/ ON/ /"///"/ FOR/ /"α/"))
(PRINTC (QUOTE /.AT/ /"∂∂/(/"/ CH/ /"/)/"/ ⊂/ CHARW←CH}∂/(2/){CHARW←CHW/ ⊃))
(BBXGPPUB U)
(PRINTC (QUOTE /.END))
(SETQ CH (OUTC NIL NIL))
(SCANPUSH)
(PRINTC (QUOTE PUB/ FONTS:))
(MAPC (FUNCTION (LAMBDA (V) (PRINTC (CAR (NTH PFONTS (CADR V)))) (PRINC (QUOTE / )) (PRINC (CADDR V))))
FONTLIST)
(OUTC CH NIL)))
EXPR)
(DEFPROP BBTTY
(LAMBDA (U) (SETQ LINL 105) (BBTTYLPT U))
EXPR)
(DEFPROP BBLPT
(LAMBDA (U) (SETQ LINL 160) (BBTTYLPT U))
EXPR)
(DEFPROP NEWFONTS
(LAMBDA NIL
(SETQ XGP T)
(SETQ FONTLIST NIL)
(SETQ NUMFONTS MINFONT)
(GETFONT (QUOTE SYM))
(GETFONT (QUOTE VAR))
(GETFONT (QUOTE BOLD))
(GETFONT (QUOTE CONST))
NIL)
EXPR)
(DEFPROP XGP
(XGP . T)
VALUE)
(DEFPROP FONTLIST
(FONTLIST (CONST 4
BDR30
(176 . 15)
(175 . 21)
(174 . 7)
(173 . 15)
(172 . 16)
(171 . 20)
(170 . 17)
(167 . 27)
(166 . 20)
(165 . 17)
(164 . 14)
(163 . 15)
(162 . 15)
(161 . 16)
(160 . 16)
(157 . 20)
(156 . 17)
(155 . 25)
(154 . 10)
(153 . 20)
(152 . 12)
(151 . 10)
(150 . 17)
(147 . 16)
(146 . 13)
(145 . 17)
(144 . 17)
(143 . 16)
(142 . 17)
(141 . 15)
(140 . 7)
(137 . 22)
(136 . 16)
(135 . 11)
(134 . 24)
(133 . 11)
(132 . 23)
(131 . 23)
(130 . 24)
(127 . 33)
(126 . 25)
(125 . 25)
(124 . 24)
(123 . 17)
(122 . 22)
(121 . 30)
(120 . 20)
(117 . 30)
(116 . 24)
(115 . 31)
(114 . 21)
(113 . 23)
(112 . 15)
(111 . 11)
(110 . 23)
(107 . 24)
(106 . 21)
(105 . 22)
(104 . 26)
(103 . 24)
(102 . 21)
(101 . 26)
(100 . 26)
(77 . 15)
(76 . 24)
(75 . 16)
(74 . 22)
(73 . 10)
(72 . 10)
(71 . 16)
(70 . 16)
(67 . 16)
(66 . 16)
(65 . 16)
(64 . 16)
(63 . 16)
(62 . 16)
(61 . 16)
(60 . 16)
(57 . 24)
(56 . 6)
(55 . 16)
(54 . 7)
(53 . 16)
(52 . 24)
(51 . 12)
(50 . 12)
(47 . 7)
(46 . 26)
(45 . 21)
(44 . 17)
(43 . 20)
(42 . 15)
(41 . 10)
(40 . 13)
(37 . 26)
(36 . 16)
(35 . 24)
(34 . 22)
(33 . 16)
(32 . 24)
(31 . 22)
(30 . 17)
(27 . 25)
(26 . 23)
(25 . 22)
(24 . 26)
(23 . 20)
(22 . 20)
(21 . 26)
(20 . 25)
(17 . 21)
(16 . 34)
(15 . 1)
(14 . 1)
(13 . 1)
(12 . 1)
(11 . 1)
(10 . 22)
(7 . 25)
(6 . 16)
(5 . 16)
(4 . 26)
(3 . 27)
(2 . 32)
(1 . 16))
(BOLD 3
BASB30
(172 . 14)
(171 . 21)
(170 . 23)
(167 . 26)
(166 . 17)
(165 . 21)
(164 . 13)
(163 . 14)
(162 . 14)
(161 . 21)
(160 . 22)
(157 . 17)
(156 . 22)
(155 . 33)
(154 . 11)
(153 . 21)
(152 . 14)
(151 . 12)
(150 . 21)
(147 . 21)
(146 . 16)
(145 . 15)
(144 . 20)
(143 . 16)
(142 . 21)
(141 . 17)
(140 . 6)
(132 . 23)
(131 . 26)
(130 . 27)
(127 . 36)
(126 . 27)
(125 . 30)
(124 . 26)
(123 . 21)
(122 . 27)
(121 . 30)
(120 . 24)
(117 . 27)
(116 . 27)
(115 . 33)
(114 . 23)
(113 . 30)
(112 . 16)
(111 . 15)
(110 . 30)
(107 . 26)
(106 . 22)
(105 . 23)
(104 . 27)
(103 . 25)
(102 . 23)
(101 . 26)
(77 . 12)
(73 . 6)
(72 . 7)
(71 . 16)
(70 . 17)
(67 . 16)
(66 . 16)
(65 . 17)
(64 . 21)
(63 . 16)
(62 . 16)
(61 . 14)
(60 . 16)
(57 . 12)
(56 . 7)
(55 . 11)
(54 . 6)
(52 . 14)
(51 . 10)
(50 . 11)
(47 . 6)
(46 . 27)
(44 . 16)
(43 . 23)
(41 . 6)
(40 . 12)
(37 . 22)
(36 . 21)
(35 . 25)
(34 . 31)
(33 . 31)
(30 . 22)
(16 . 31)
(5 . 24))
(VAR 2
BASI30
(176 . 14)
(175 . 21)
(174 . 7)
(173 . 14)
(172 . 15)
(171 . 15)
(170 . 17)
(167 . 24)
(166 . 16)
(165 . 21)
(164 . 12)
(163 . 14)
(162 . 14)
(161 . 15)
(160 . 22)
(157 . 14)
(156 . 21)
(155 . 26)
(154 . 11)
(153 . 20)
(152 . 10)
(151 . 11)
(150 . 17)
(147 . 20)
(146 . 14)
(145 . 14)
(144 . 20)
(143 . 13)
(142 . 14)
(141 . 17)
(140 . 7)
(137 . 23)
(136 . 17)
(135 . 20)
(134 . 17)
(133 . 20)
(132 . 23)
(131 . 23)
(130 . 27)
(127 . 36)
(126 . 22)
(125 . 26)
(124 . 25)
(123 . 22)
(122 . 27)
(121 . 23)
(120 . 26)
(117 . 24)
(116 . 33)
(115 . 36)
(114 . 24)
(113 . 30)
(112 . 25)
(111 . 14)
(110 . 33)
(107 . 25)
(106 . 26)
(105 . 25)
(104 . 27)
(103 . 23)
(102 . 24)
(101 . 24)
(100 . 24)
(77 . 13)
(76 . 17)
(75 . 22)
(74 . 17)
(73 . 11)
(72 . 7)
(71 . 20)
(70 . 21)
(67 . 16)
(66 . 21)
(65 . 21)
(64 . 17)
(63 . 22)
(62 . 21)
(61 . 14)
(60 . 21)
(57 . 12)
(56 . 6)
(55 . 11)
(54 . 6)
(53 . 15)
(52 . 16)
(51 . 13)
(50 . 13)
(47 . 7)
(46 . 32)
(45 . 20)
(44 . 22)
(43 . 21)
(42 . 14)
(41 . 13)
(40 . 12)
(37 . 23)
(36 . 21)
(35 . 23)
(34 . 17)
(33 . 30)
(32 . 5)
(31 . 23)
(30 . 21)
(27 . 23)
(26 . 21)
(25 . 20)
(24 . 21)
(23 . 17)
(22 . 17)
(21 . 21)
(20 . 21)
(17 . 20)
(16 . 30)
(14 . 21)
(10 . 20)
(7 . 21)
(6 . 14)
(5 . 27)
(4 . 22)
(3 . 25)
(2 . 27)
(1 . 17))
(SYM 1
BDR30
(176 . 15)
(175 . 21)
(174 . 7)
(173 . 15)
(172 . 16)
(171 . 20)
(170 . 17)
(167 . 27)
(166 . 20)
(165 . 17)
(164 . 14)
(163 . 15)
(162 . 15)
(161 . 16)
(160 . 16)
(157 . 20)
(156 . 17)
(155 . 25)
(154 . 10)
(153 . 20)
(152 . 12)
(151 . 10)
(150 . 17)
(147 . 16)
(146 . 13)
(145 . 17)
(144 . 17)
(143 . 16)
(142 . 17)
(141 . 15)
(140 . 7)
(137 . 22)
(136 . 16)
(135 . 11)
(134 . 24)
(133 . 11)
(132 . 23)
(131 . 23)
(130 . 24)
(127 . 33)
(126 . 25)
(125 . 25)
(124 . 24)
(123 . 17)
(122 . 22)
(121 . 30)
(120 . 20)
(117 . 30)
(116 . 24)
(115 . 31)
(114 . 21)
(113 . 23)
(112 . 15)
(111 . 11)
(110 . 23)
(107 . 24)
(106 . 21)
(105 . 22)
(104 . 26)
(103 . 24)
(102 . 21)
(101 . 26)
(100 . 26)
(77 . 15)
(76 . 24)
(75 . 16)
(74 . 22)
(73 . 10)
(72 . 10)
(71 . 16)
(70 . 16)
(67 . 16)
(66 . 16)
(65 . 16)
(64 . 16)
(63 . 16)
(62 . 16)
(61 . 16)
(60 . 16)
(57 . 24)
(56 . 6)
(55 . 16)
(54 . 7)
(53 . 16)
(52 . 24)
(51 . 12)
(50 . 12)
(47 . 7)
(46 . 26)
(45 . 21)
(44 . 17)
(43 . 20)
(42 . 15)
(41 . 10)
(40 . 13)
(37 . 26)
(36 . 16)
(35 . 24)
(34 . 22)
(33 . 16)
(32 . 24)
(31 . 22)
(30 . 17)
(27 . 25)
(26 . 23)
(25 . 22)
(24 . 26)
(23 . 20)
(22 . 20)
(21 . 26)
(20 . 25)
(17 . 21)
(16 . 34)
(15 . 1)
(14 . 1)
(13 . 1)
(12 . 1)
(11 . 1)
(10 . 22)
(7 . 25)
(6 . 16)
(5 . 16)
(4 . 26)
(3 . 27)
(2 . 32)
(1 . 16)))
VALUE)
(DEFPROP NUMFONTS
(NUMFONTS . 4)
VALUE)
(DEFPROP MINFONT
(MINFONT . 0)
VALUE)
(DEFPROP GETFONT
(LAMBDA(FONT)
(COND ((NOT XGP) (QUOTE (NIL NIL)))
(T
((LAMBDA(V)
(COND ((NULL V)
(PROG (CH)
(SETQ CH (OUTC NIL NIL))
(PRINC (QUOTE FONT/ ))
(PRINC (ADD1 NUMFONTS))
(PRINC (QUOTE / ))
(PRINC FONT)
(OUTC CH NIL)
(INC (EVAL (CONS (QUOTE INPUT) (CONS (QUOTE DSK:) (LINEREAD)))) NIL)
(SETQ V
(CONS (COND ((EQ NUMFONTS MAXFONT) (ERROR (QUOTE (TOO MANY FONTS))))
(T (SETQ NUMFONTS (ADD1 NUMFONTS))))
(READ)))
(INC NIL T)
(SETQ FONTLIST (CONS (CONS FONT V) FONTLIST))
(RETURN V)))
(T (CDR V))))
(ASSOC FONT FONTLIST)))))
EXPR)
(DEFPROP MAXFONT
(MAXFONT . 17)
VALUE)
(DEFPROP LINL
(LINL . 2424)
VALUE)
(DEFPROP BBTTYLPT
(LAMBDA(U)
(LINELENGTH LINL)
(SETQ SINDENT SIN)
(SETQ FINDENT FIN)
(SETQ HINDENT HIN)
(SETQ FMAX MAXF)
(SETQ XGP NIL)
(SETQ PUB NIL)
(MAPC (FUNCTION BBPPROPS) U)
(LINELENGTH 105)
NIL)
EXPR)
(DEFPROP SIN
(SIN . 1)
VALUE)
(DEFPROP FIN
(FIN . 2)
VALUE)
(DEFPROP HIN
(HIN . 2)
VALUE)
(DEFPROP MAXF
(MAXF . 10)
VALUE)
(DEFPROP BBPPROPS
(LAMBDA(V)
(COND ((ATOM V) (MAPC (FUNCTION (LAMBDA (X) (BBPPROP V X (GET V X)))) BBPROPS)) (T (BBPPROP NIL NIL V))))
EXPR)
(DEFPROP BBPPROP
(LAMBDA(ATM PROP V)
(COND ((NULL V) NIL)
(T (TTYMSG ATM)
(TERPRI)
(TERPRI)
(NEWLINE (COND (XGP 60) (T 3)))
(PREX (COND ((NULL PROP) (CDR (BBEX V)))
((EQ PROP (QUOTE VALUE)) (BBVALDEF ATM (CDR V)))
(T (BBFUNDEF ATM (CADR V) (CDDR V) PROP)))
0
0)
(TERPRI))))
EXPR)
(DEFPROP BBPROPS
(BBPROPS EXPR FEXPR)
VALUE)
(DEFPROP TTYMSG
(LAMBDA (MSG) (PROG (CH) (SETQ CH (OUTC NIL NIL)) (PRINT MSG) (OUTC CH NIL)))
EXPR)
(DEFPROP NEWLINE
(LAMBDA(N)
(COND (PUB (TERPRI) (SETQ IND N) (SETQ POS IND) (PRINC (QUOTE ∂∂)) (PRINDEC (LIST N)))
(XGP
(PROG NIL
(TERPRI)
(SETQ IND N)
(SETQ POS 0)
A (COND ((EQ POS IND) (RETURN NIL))
((LESSP (DIFFERENCE IND POS) 100)
(XSPACE (DIFFERENCE IND POS))
(SETQ POS IND)
(RETURN NIL))
(T (XSPACE 77)))
(SETQ POS (PLUS POS 77))
(GO A)))
(T
(PROG NIL
(TERPRI)
(SETQ IND N)
(SETQ POS 0)
A (COND ((EQ POS IND) (RETURN NIL)))
(PRINC (QUOTE / ))
(SETQ POS (ADD1 POS))
(GO A)))))
EXPR)
(DEFPROP PREX
(LAMBDA(E IM R)
(COND ((NOT (GREATERP (PLUS (CAR E) POS R) LINL)) (SIMPLEPRINT E))
(T
(SELECTQ (CADR E)
(E (PREH E IM R POS))
(H (PREH E IM R (PLUS POS HINDENT)))
(A (PRA E IM R))
((B U) (PRF E IM R 255))
(F (PRF E IM R FMAX))
(T (PRT E IM R))
(PRINX E)))))
EXPR)
(DEFPROP BBEX
(LAMBDA(E)
(COND ((ATOM E) (CONS 144 (MAK (QUOTE X) (LIST (XVAR E)))))
((ATOM (CAR E))
((LAMBDA(U)
(COND ((NULL U) (BBFUN (CAR E) (BBARGS (CDR E))))
((NULL (CDDR U)) ((CADR U) (CDR E)))
(T ((CADR U) (CDR E) (CDDR U)))))
(ASSOC (CAR E) BBLIST)))
((EQ (CAAR E) (QUOTE LAMBDA)) (BBLAMBDA (CDAR E) (BBARGS (CDR E))))
(T (BBFUN (QUOTE APPLY$) (BBARGS E)))))
EXPR)
(DEFPROP BBVALDEF
(LAMBDA (NAME VAL) (CDR (BBEX (LIST (QUOTE SETQ) NAME (LIST (QUOTE QUOTE) VAL)))))
EXPR)
(DEFPROP BBFUNDEF
(LAMBDA(NAME ARGS BODY PROP)
(MAK (QUOTE F)
(LIST (MAK (QUOTE A)
(LIST (CDR (BBFUN NAME (BBARGS ARGS)))
(MAK (QUOTE X)
(COND ((EQ PROP (QUOTE EXPR)) (LIST (XBLANK) (XSYM (QUOTE ←/ ))))
(T
(LIST (XBLANK)
(XSYM (QUOTE /())
(XCONST (QUOTE FEXPR))
(XSYM (QUOTE /)/ ←/ ))))))))
(BRACKET (BBEXL BODY) 5))))
EXPR)
(DEFPROP MAK
(LAMBDA (A U) (CONS (SUMLEN U) (CONS A U)))
EXPR)
(DEFPROP BBFUN
(LAMBDA(FN ARGS)
(CONS 132
(COND ((NULL ARGS) (MAK (QUOTE X) (LIST (XVAR FN) (XSYM (QUOTE /[/])))))
((NULL (CDR ARGS)) (MAK (QUOTE F) (LIST (MAK (QUOTE X) (LIST (XVAR FN) (XBLANK))) (CDAR ARGS))))
(T
(MAK (QUOTE F)
(LIST (MAK (QUOTE X) (LIST (XVAR FN) (XSYM (QUOTE /[))))
(MAK (QUOTE A)
(LIST (MAK (QUOTE E) (INPUNA (MAK (QUOTE X) (LIST (XSYM (QUOTE /,/ )))) ARGS))
(MAK (QUOTE X) (LIST (XSYM (QUOTE /]))))))))))))
EXPR)
(DEFPROP BBARGS
(LAMBDA (U) (MAPCAR (FUNCTION BBEX) U))
EXPR)
(DEFPROP XBLANK
(LAMBDA NIL (XL (QUOTE SYM) (QUOTE / )))
EXPR)
(DEFPROP XSYM
(LAMBDA (V) (XL (QUOTE SYM) V))
EXPR)
(DEFPROP XCONST
(LAMBDA (V) (XL (QUOTE CONST) V))
EXPR)
(DEFPROP BRACKET
(LAMBDA(U PREC)
(COND ((NOT (GREATERP (CAR U) PREC))
(MAK (QUOTE B)
(LIST (MAK (QUOTE X) (LIST (XSYM (QUOTE /[))))
(MAK (QUOTE A) (LIST (CDR U) (MAK (QUOTE X) (LIST (XSYM (QUOTE /])))))))))
(T (CDR U))))
EXPR)
(DEFPROP BBEXL
(LAMBDA(U)
(COND ((NULL U) (BBEX (QUOTE ****)))
((NULL (CDR U)) (BBEX (CAR U)))
(T (CONS 5 (MAK (QUOTE E) (INPUNA (MAK (QUOTE X) (LIST (XSYM (QUOTE /,/ )))) (BBARGS U)))))))
EXPR)
(DEFPROP INPUNA
(LAMBDA(P U)
(COND ((NULL U) NIL)
((NULL (CDR U)) (NCONS (CDAR U)))
(T (CONS (MAK (QUOTE A) (LIST (CDAR U) P)) (INPUNA P (CDR U))))))
EXPR)
(DEFPROP XL
(LAMBDA (FONT V) (FNTLENGTH (GETFONT FONT) (LIST V)))
EXPR)
(DEFPROP FNTLENGTH
(LAMBDA (FNT U) (CONS (FSIZEL U (CDDR FNT)) (CONS (CAR FNT) U)))
EXPR)
(DEFPROP FSIZEL
(LAMBDA (U WIDTHS) (COND ((NULL U) 0) (T (PLUS (FSIZE (CAR U) WIDTHS) (FSIZEL (CDR U) WIDTHS)))))
EXPR)
(DEFPROP FSIZE
(LAMBDA (U WIDTHS) (COND (XGP (PSIZE (EXPLODEC U) WIDTHS)) (T (FLATSIZEC U))))
EXPR)
(DEFPROP PSIZE
(LAMBDA(U WIDTHS)
(COND ((NULL U) 0)
(T
(PLUS ((LAMBDA (V) (COND ((NULL V) 0) (T (CDR V)))) (ASSOC (CHVAL (CAR U)) WIDTHS))
(PSIZE (CDR U) WIDTHS)))))
EXPR)
(DEFPROP CHVAL
(LAMBDA (Z) (COND ((NUMBERP Z) (PLUS Z 60)) (T (CHRVAL Z))))
EXPR)
(DEFPROP XVAR
(LAMBDA (E) (COND ((OR (NULL E) (EQ E T) (NUMBERP E)) (XCONST E)) (T (XL (QUOTE VAR) (SMALLNAM E)))))
EXPR)
(DEFPROP SMALLNAM
(LAMBDA (E) (MAKNAM (MAPCAR (FUNCTION SMALL) (EXPLODE E))))
EXPR)
(DEFPROP SMALL
(LAMBDA(C)
(COND ((NUMBERP C) C)
(T ((LAMBDA (X) (COND ((AND (GREATERP X 100) (LESSP X 133)) (ASCII (PLUS X 40))) (T C))) (CHRVAL C)))))
EXPR)
(DEFPROP SUMLEN
(LAMBDA (U) (COND ((NULL U) 0) (T (PLUS (CAAR U) (SUMLEN (CDR U))))))
EXPR)
(DEFPROP BBLIST
(BBLIST (CONS BINOPB 24 (SYM / ) (SYM /. / ))
(APPEND BINOPB 12 (SYM / ) (SYM * / ))
(COND BBCOND)
(QUOTE BBQUOTE)
(OR BINOPB 24 (SYM / ) (SYM ∨ / ))
(AND BINOPB 24 (SYM / ) (SYM ∧/ ))
(LIST BBLISTF)
(LAMBDA BBLAMBDAF)
(FUNCTION BBFUNCTION)
(PLUS BINOPB 40 (SYM / ) (SYM + / ))
(GREATERP BINOPB 30 (SYM / ) (SYM > / ))
(LESSP BINOPB 30 (SYM / ) (SYM < / ))
(PROG BBPROG)
(NULL UNOP 132 (BOLD n/ ))
(MINUS UNOP 132 (SYM -))
(CAR UNOP 132 (BOLD a/ ))
(CDR UNOP 132 (BOLD d/ ))
(CADR UNOP 132 (BOLD ad/ ))
(CDAR UNOP 132 (BOLD da/ ))
(CDDR UNOP 132 (BOLD dd/ ))
(CAAR UNOP 132 (BOLD aa/ ))
(CAAAR UNOP 132 (BOLD aaa/ ))
(CAADR UNOP 132 (BOLD aad/ ))
(CADAR UNOP 132 (BOLD ada/ ))
(CADDR UNOP 132 (BOLD add/ ))
(CDAAR UNOP 132 (BOLD daa/ ))
(CDADR UNOP 132 (BOLD dad/ ))
(CDDAR UNOP 132 (BOLD dda/ ))
(CDDDR UNOP 132 (BOLD ddd/ ))
(CAAAAR UNOP 132 (BOLD aaaa/ ))
(CAAADR UNOP 132 (BOLD aaad/ ))
(CAADAR UNOP 132 (BOLD aada/ ))
(CAADDR UNOP 132 (BOLD aadd/ ))
(CADAAR UNOP 132 (BOLD adaa/ ))
(CADADR UNOP 132 (BOLD adad/ ))
(CADDAR UNOP 132 (BOLD adda/ ))
(CADDDR UNOP 132 (BOLD addd/ ))
(CDAAAR UNOP 132 (BOLD daaa/ ))
(CDAADR UNOP 132 (BOLD daad/ ))
(CDADAR UNOP 132 (BOLD dada/ ))
(CDADDR UNOP 132 (BOLD dadd/ ))
(CDDAAR UNOP 132 (BOLD ddaa/ ))
(CDDADR UNOP 132 (BOLD ddad/ ))
(CDDDAR UNOP 132 (BOLD ddda/ ))
(CDDDDR UNOP 132 (BOLD dddd/ ))
(ATOM UNOP 132 (BOLD at/ ))
(EQ BINOPB 30 (SYM / ) (BOLD eq/ ))
(MEMBER BINOPB 30 (SYM / ) (SYM ε/ ))
(NOT UNOP 132 (SYM ¬))
(DIFFERENCE BINOPB 40 (SYM / ) (SYM -/ ))
(SETQ BINOPB 20 (SYM / ) (SYM ←/ ))
(SELECTQ BBSELECTQ))
VALUE)
(DEFPROP BBLAMBDA
(LAMBDA(U ARGS)
(CONS 144
(MAK (QUOTE T)
(LIST (PARENS (MAK (QUOTE X) (LIST (XSYM (QUOTE {)))) (MAK (QUOTE X) (LIST (XSYM (QUOTE })))) ARGS)
(CDR (BBLAMBDAF U))))))
EXPR)
(DEFPROP PARENS
(LAMBDA(LEFT RIGHT ARGS)
(MAK (QUOTE B)
(LIST LEFT
(MAK (QUOTE A)
(LIST (MAK (QUOTE E) (INPUNA (MAK (QUOTE X) (LIST (XSYM (QUOTE /,/ )))) ARGS)) RIGHT)))))
EXPR)
(DEFPROP BBLAMBDAF
(LAMBDA(U)
(CONS 144
(MAK (QUOTE F)
(LIST (MAK (QUOTE B)
(LIST (MAK (QUOTE X) (LIST (XSYM (QUOTE /[λ))))
(MAK (QUOTE A)
(LIST (BBVARS (CAR U)) (MAK (QUOTE X) (LIST (XSYM (QUOTE /./ ))))))))
(MAK (QUOTE A)
(LIST (BRACKET (BBEXL (CDR U)) 5) (MAK (QUOTE X) (LIST (XSYM (QUOTE /]))))))))))
EXPR)
(DEFPROP BBVARS
(LAMBDA(U)
(MAK (QUOTE E)
(INPUNA (MAK (QUOTE X) (LIST (XSYM (QUOTE /,/ ))))
(MAPCAR (FUNCTION (LAMBDA (V) (CONS 144 (MAK (QUOTE X) (LIST (XVAR V)))))) U))))
EXPR)
(DEFPROP BINOPB
(LAMBDA(ARGS V)
(CONS (CAR V) (MAK (QUOTE E) (INOPB (MAK (QUOTE X) (MAPCAR (FUNCTION XLL) (CDR V))) (BBARGS ARGS) (CAR V)))))
EXPR)
(DEFPROP BBCOND
(LAMBDA(U)
(CONS 12
(COND ((NULL U) (MAK (QUOTE X) (LIST (XVAR NIL))))
(T
(MAK (QUOTE E)
(CONS (MAK (QUOTE T)
(LIST (MAK (QUOTE B)
(LIST (MAK (QUOTE X) (LIST (XBOLD (QUOTE if)) (XBLANK)))
(BRACKET (BBEX (CAAR U)) 12)))
(MAK (QUOTE B)
(LIST (MAK (QUOTE X) (LIST (XBLANK) (XBOLD (QUOTE then)) (XBLANK)))
(BRACKET (BBEXL (CDAR U)) 12)))))
(BBELSE (CDR U))))))))
EXPR)
(DEFPROP BBQUOTE
(LAMBDA(E)
(CONS 144
(COND ((ATOM (CAR E))
(MAK (QUOTE X)
(COND ((OR (NUMBERP (CAR E))
(AND (ALPHABETIC (CHRVAL (CAR E))) (ALPHANUM (CDR (EXPLODEC (CAR E))))))
(LIST (XCONST (CAR E))))
((STRINGP (CAR E))
(COND (PUB (LIST (XCONST (CAR E))))
(T (LIST (XSYM (QUOTE /")) (XCONST (CAR E)) (XSYM (QUOTE /"))))))
(T (LIST (XBLANK) (XSYM (QUOTE `)) (XCONST (CAR E)) (XSYM (QUOTE '/ )))))))
(T
(MAK (QUOTE B)
(LIST (MAK (QUOTE X) (LIST (XSYM (QUOTE /())))
(MAK (QUOTE A)
(LIST (MAK (QUOTE E) (BBQUOTEL (CAR E)))
(MAK (QUOTE X) (LIST (XSYM (QUOTE /)))))))))))))
EXPR)
(DEFPROP BBLISTF
(LAMBDA(U)
(CONS 144
(PARENS (MAK (QUOTE X) (LIST (XSYM (QUOTE <)))) (MAK (QUOTE X) (LIST (XSYM (QUOTE >)))) (BBARGS U))))
EXPR)
(DEFPROP BBFUNCTION
(LAMBDA (E) (BBEX (CAR E)))
EXPR)
(DEFPROP BBPROG
(LAMBDA(U)
(CONS 12
(MAK (QUOTE B)
(LIST (MAK (QUOTE X) (LIST (XBOLD (QUOTE prog)) (XBLANK)))
(CONS 10000
(CONS (QUOTE E) (CONS (BRACKET (CONS 0 (BBVARS (CAR U))) 0) (BBPROGA (CDR U)))))))))
EXPR)
(DEFPROP UNOP
(LAMBDA(ARGS V)
(CONS (CAR V)
(MAK (QUOTE F) (LIST (MAK (QUOTE X) (MAPCAR (FUNCTION XLL) (CDR V))) (BRACKET (BBEX (CAR ARGS)) 131)))))
EXPR)
(DEFPROP BBSELECTQ
(LAMBDA(U)
(COND ((LESSP (LENGTH U) 3) (BBFUN (QUOTE SELECTQ) (BBARGS U)))
(T (BBFUN (QUOTE SELECTQ) (CONS (BBEX (CAR U)) (BBSELECTA (CDR U)))))))
EXPR)
(DEFPROP BBSELECTA
(LAMBDA(U)
(COND ((NULL (CDR U)) (LIST (BBEX (CAR U))))
(T
(CONS (CONS 0
(MAK (QUOTE B)
(LIST (MAK (QUOTE A) (LIST (CDR (BBQUOTE (CAR U))) (MAK (QUOTE X) (LIST (XBLANK)))))
(BRACKET (BBEXL (CDAR U)) 5))))
(BBSELECTA (CDR U))))))
EXPR)
(DEFPROP XLL
(LAMBDA (U) (FNTLENGTH (GETFONT (CAR U)) (CDR U)))
EXPR)
(DEFPROP XBOLD
(LAMBDA (V) (XL (QUOTE BOLD) V))
EXPR)
(DEFPROP BBPROGA
(LAMBDA(U)
(COND ((NULL U) NIL)
((ATOM (CAR U))
(COND ((NULL (CDR U)) (LIST (MAK (QUOTE U) (LIST (LABL (CAR U))))))
(T (CONS (MAK (QUOTE U) (LIST (LABL (CAR U)) (CDR (BBEX (CADR U))))) (BBPROGA (CDDR U))))))
(T (CONS (CDR (BBEX (CAR U))) (BBPROGA (CDR U))))))
EXPR)
(DEFPROP LABL
(LAMBDA (U) (MAK (QUOTE X) (LIST (XVAR U) (XBLANK))))
EXPR)
(DEFPROP ALPHABETIC
(LAMBDA (V) (AND (GREATERP V 100) (LESSP V 133)))
EXPR)
(DEFPROP ALPHANUM
(LAMBDA (U) (OR (NULL U) (AND (OR (NUMBERP (CAR U)) (ALPHABETIC (CHRVAL (CAR U)))) (ALPHANUM (CDR U)))))
EXPR)
(DEFPROP BBQUOTEL
(LAMBDA(E)
(COND ((NULL (CDR E)) (LIST (CDR (BBQUOTE E))))
((ATOM (CDR E))
(LIST (CDR (BBQUOTE E))
(MAK (QUOTE B)
(LIST (MAK (QUOTE X) (LIST (XBLANK) (XSYM (QUOTE /./ )))) (CDR (BBQUOTE (LIST (CDR E))))))))
(T (CONS (MAK (QUOTE A) (LIST (CDR (BBQUOTE E)) (MAK (QUOTE X) (LIST (XBLANK))))) (BBQUOTEL (CDR E))))))
EXPR)
(DEFPROP BBELSE
(LAMBDA(U)
(COND ((NULL U) NIL)
((EQ (CAAR U) (QUOTE T))
(LIST
(MAK (QUOTE B)
(LIST (MAK (QUOTE X) (LIST (XBLANK) (XBOLD (QUOTE else)) (XBLANK)))
(BRACKET (BBEXL (CDAR U)) 5)))))
(T
(CONS (MAK (QUOTE T)
(LIST (MAK (QUOTE B)
(LIST (MAK (QUOTE X) (LIST (XBLANK) (XBOLD (QUOTE else/ if)) (XBLANK)))
(BRACKET (BBEX (CAAR U)) 12)))
(MAK (QUOTE B)
(LIST (MAK (QUOTE X) (LIST (XBLANK) (XBOLD (QUOTE then)) (XBLANK)))
(BRACKET (BBEXL (CDAR U)) 12)))))
(BBELSE (CDR U))))))
EXPR)
(DEFPROP INOPB
(LAMBDA (P U PREC) (COND ((NULL U) NIL) (T (CONS (BRACKET (CAR U) PREC) (INOPBB P (CDR U) PREC)))))
EXPR)
(DEFPROP INOPBB
(LAMBDA(P U PREC)
(COND ((NULL U) NIL) (T (CONS (MAK (QUOTE B) (LIST P (BRACKET (CAR U) PREC))) (INOPBB P (CDR U) PREC)))))
EXPR)
(DEFPROP SIMPLEPRINT
(LAMBDA (E) (COND ((EQ (CADR E) (QUOTE X)) (PRINX E)) (T (MAPC (FUNCTION SIMPLEPRINT) (CDDR E)))))
EXPR)
(DEFPROP PREH
(LAMBDA(E IM R I2)
(PROG (IB IMM)
(SETQ IB (MAX I2 IM))
(SETQ IMM (PLUS IB SINDENT))
(SETQ E (CDDR E))
(COND ((NULL E) (RETURN NIL)))
A (PREX (CAR E) IMM (COND ((NULL (CDR E)) R) (T 0)))
(SETQ E (CDR E))
(COND ((NULL E) (RETURN NIL)) (T (ULINE IB (CAR E)) (GO A)))))
EXPR)
(DEFPROP PRA
(LAMBDA (E IM R) (PREX (CADDR E) IM (PLUS R (CAAR (CDDDR E)))) (PREX (CADDDR E) IM R))
EXPR)
(DEFPROP PRF
(LAMBDA(E IM R M)
(COND ((OR (GREATERP (PLUS (CAADDR E) POS (MINUS IND)) M) (GREATERP (PLUS (CAADDR E) POS) LINL))
(PROG (I)
(SETQ I (MAX IM (PLUS IND FINDENT)))
(PREX (CADDR E) (PLUS I SINDENT) 0)
(NEWLINE I)
(PREX (CADDDR E) I R)))
(T (PREX (CADDR E) 0 0) (PREX (CADDDR E) IM R))))
EXPR)
(DEFPROP PRT
(LAMBDA(E IM R)
((LAMBDA(I)
(COND ((NOT (GREATERP (PLUS (CAADDR E) (CAADDR (CADDDR E)) POS) LINL))
(PREX (CADDR E) 0 0)
(PREX (CADDR (CADDDR E)) 0 0)
(NEWLINE I)
(PREX (CADDDR (CADDDR E)) I R))
(T (PREX (CADDR E) (PLUS I SINDENT) 0) (NEWLINE I) (PREX (CADDDR E) (PLUS I SINDENT) R))))
(MAX IM (PLUS IND HINDENT))))
EXPR)
(DEFPROP PRINX
(LAMBDA (E) (MAPC (FUNCTION PRINXX) (CDDR E)))
EXPR)
(DEFPROP PRINXX
(LAMBDA(E)
(COND ((AND (EQ POS IND) (EQ (CADDR E) (QUOTE / ))) NIL)
(T
(PROG2 (COND (PUB (PRINC SELECTCHAR)
(PRINC (CAR (NTH FONTSYMS (CADR E))))
(MAPC (FUNCTION PRIN1) (CDDR E)))
(XGP (PRINC SELECTCHAR)
(PRINC (CAR (NTH FONTSYMS (CADR E))))
(MAPC (FUNCTION PRINC) (CDDR E)))
(T (MAPC (FUNCTION PRINC) (CDDR E))))
(SETQ POS (PLUS POS (CAR E)))))))
EXPR)
(DEFPROP SELECTCHAR
(SELECTCHAR . %)
VALUE)
(DEFPROP FONTSYMS
(FONTSYMS /2 /3 /4 /5 /6 /7 /8 /9 A B C D E F G)
VALUE)
(DEFPROP ULINE
(LAMBDA (I E) (COND ((EQ (CADR E) (QUOTE U)) (NEWLINE (MAX (DIFFERENCE I (CAADDR E)) 0))) (T (NEWLINE I))))
EXPR)
(DEFPROP PRINDEC
(LAMBDA(U)
(PROG (B P)
(SETQ B BASE)
(SETQ P *NOPOINT)
(SETQ BASE 12)
(SETQ *NOPOINT T)
(PRINC U)
(SETQ BASE B)
(SETQ *NOPOINT P)))
EXPR)
(DEFPROP XSPACE
(LAMBDA (N) (COND ((EQ N 0) NIL) (T (PRINC (ASCII 177)) (PRINC (QUOTE α)) (PRINC (ASCII N)))))
EXPR)
(DEFPROP PFONTS
(PFONTS /2 /3 /4 /5 /6 /7 /8 /9 A B C D E F G)
VALUE)
(DEFPROP PRINTC
(LAMBDA (U) (TERPRI) (PRINC U))
EXPR)
(DEFPROP BBXGPPUB
(LAMBDA(U)
(SETQ LINL XGPLINL)
(LINELENGTH 10000)
(SETQ SINDENT (TIMES SIN CHARW))
(SETQ FINDENT (TIMES FIN CHARW))
(SETQ HINDENT (TIMES HIN CHARW))
(SETQ FMAX (TIMES MAXF CHARW))
(SETQ XGP T)
(MAPC (FUNCTION BBPPROPS) U)
(LINELENGTH 105))
EXPR)
(DEFPROP XGPLINL
(XGPLINL . 2424)
VALUE)
(DEFPROP CHARW
(CHARW . 20)
VALUE)
(DEFPROP SCANTABLE
(LAMBDA NIL
(PROG (N TBL)
(SETQ N 200)
(SETQ TBL NIL)
L (SETQ N (SUB1 N))
(SETQ TBL (CONS (MODCHR N NIL) TBL))
(COND ((GREATERP N 0) (GO L)))
(RETURN TBL)))
EXPR)
(DEFPROP SETBITS
(LAMBDA (N M) (BOOLE 7 N M))
EXPR)
(DEFPROP CLEARBITS
(LAMBDA (N M) (BOOLE 2 M N))
EXPR)
(DEFPROP SLASHIFY
(LAMBDA(U)
(PROG (N)
(SETQ N 0)
L (COND ((MEMBER N U) (MODCHR N (CLEARBITS (MODCHR N NIL) -200000000000)))
(T (MODCHR N (SETBITS (MODCHR N NIL) -200000000000))))
(SETQ N (ADD1 N))
(COND ((LESSP N 200) (GO L)))))
EXPR)
(DEFPROP SETSLASHES
(LAMBDA(U)
(SETQ LISPSCAN (SCANTABLE))
(SLASHIFY (MAPCAR (FUNCTION CHRVAL) U))
(SETQ PROGSCAN (SCANTABLE))
(SETQ %SCANSETFLAG% (GET (QUOTE SCANPUSH) (QUOTE SUBR))))
EXPR)
(DEFPROP SETSCANTABLE
(LAMBDA (U) (PROG (N) (SETQ N 0) L (MODCHR N (CAR U)) (SETQ N (ADD1 N)) (SETQ U (CDR U)) (COND (U (GO L)))))
EXPR)
(DEFPROP SCANPUSH
(LAMBDA NIL (SETSCANTABLE LISPSCAN))
EXPR)
(DEFPROP SCANPOP
(LAMBDA NIL (SETSCANTABLE PROGSCAN))
EXPR)