-BLOCKS # MTS Volume 9 (Sept 1975) p164 * &FTRACE = 1000 HL = '-' DIR_VERT = 0 DIR_HORIZ = 1 DIR_NORM = 2 DEFINE('OUTLINE(X)') :(OUTLINE_END) OUTLINE X = IT('|') X IT('|') OUTLINE = ' ' REP(HL) ' ' % X % ' ' REP(HL) ' ' :(RETURN) OUTLINE_END DEFINE('BGRAPH(HTS,LBS,VLF,LPP,BW,BS)HT,BAR,I,H,HT,LB,BF,V') :(BGRAPH_END) BGRAPH VLF = IDENT(VLF) 2 LPP = IDENT(LPP) 1 BW = IDENT(BW) 9 BS = IDENT(BS) 2 BF = DUP(HL, DIR_HORIZ, BW - 2) % VER(VLF - 1) V = 0 * First character is break char HTS LEN(1) . HTS_B = LBS LEN(1) . LBS_B = BGRAPH1 HTS BREAK(HTS_B) . HT LEN(1) = :F(BGRAPH2) HT = (HT + (LPP / 2)) / LPP LBS BREAK(LBS_B) . LB LEN(1) = LB = IDENT(LB) VER(1) I = DUP(BF, 0, (HT / VLF) + 1) I = SLAB(I, DIR_VERT, HEIGHT(I) - HT, HT - 1) BAR = OUTLINE(I) BAR = LT(HT,0) BAR = BAR % VER(2) % LB % HOR(BW + BS) BGRAPH = BGRAPH BAR :(BGRAPH1) BGRAPH2 VER_REG(BGRAPH) = 'BOTTOM' BGRAPH = FIX(BGRAPH) H = HEIGHT(BGRAPH) BGRAPH = BGRAPH # OUTLINE(FRONT(H,WIDTH(BGRAPH),1)) % VER(3) VER_REG(BGRAPH) = 'BOTTOM' I = 0 BAR = 0 ' ' HL BGRAPH3 I = I + VLF GT(I,H) :S(BGRAPH4) BAR = (I * LPP) ' ' HL % VER(VLF - 1) % BAR :(BGRAPH3) BGRAPH4 HOR_REG(BAR) = 'RIGHT' BGRAPH = (BAR % VER(3)) BGRAPH VER_REG(BGRAPH) = 'BOTTOM' :(RETURN) BGRAPH_END HTS = ',124,103,32,215,20,18,' LBLS = ',SYSTEM,SNOBOL4,BLOCKS,DATA AREA,I/O BUFF,I/O PACK.,' B = BGRAPH(HTS, LBLS, 2, 5) B = ('STORAGE' % ' ' % 'IN K BYTES') HOR(3) B % + VER(2) % + 'STORAGE ALLOCATION OF 512K CORE MEMORY' + ' WHEN RUNNING SNOBOL4B UNDER O.S. (PCP)' PRINT(B # FRONT(60,132)) END