* JOHN DAVID STONE * INFORMATION SCIENCES 100 * ASSIGNMENT 6, DUE 21 FEBRUARY 1972 * PROGRAMMING EXERCISE NO. 4--PROGRAM * * FIRST REVISION * * THIS PROGRAM LISTS AND COUNTS THE FOUR-LETTER WORDS IN ONE OR MORE * GIVEN TEXTS, EACH OF WHICH MUST BE FOLLOWED BY A BLANK CARD. * &TRIM = 1 SEPARATOR = BREAK(' -') . WORD (SPAN(' ') | '--') INTERNAL.MARK = ANY("'-.") MARK = INTERNAL.MARK | ANY(',;:()"?') PUNCTUATION = (POS(0) MARK) | (RPOS(1) MARK) DATA.SET = 1 OUTPUT = 'PROGRAMMING EXERCISE NO. 4--RESULTS' OUTPUT = NEW.SET OUTPUT = IN OUTPUT = INPUT :F(END) EQ(SIZE(OUTPUT)) :S(COUNT) LINE = OUTPUT ' ' WORDS LINE SEPARATOR = :F(IN) CLEAR WORD PUNCTUATION = :S(CLEAR) EQ(SIZE(WORD),4) :F(WORDS) WORD INTERNAL.MARK :S(WORDS) LIST WORD ' ' :F(NEW.WORD) $(DATA.SET WORD) = $(DATA.SET WORD) + 1 :(WORDS) NEW.WORD LIST = LIST WORD ' ' :(WORDS) COUNT LIST LEN(4) . ELEMENT ' ' = :F(OUT) REPEATS = $(DATA.SET ELEMENT) ELEMENT = NE(REPEATS) ELEMENT ' (' REPEATS + 1 ')' ELEMENT = ', ' ELEMENT LIST.WITH.COUNTS = LIST.WITH.COUNTS ELEMENT :(COUNT) OUT OUTPUT = LIST.WITH.COUNTS ', ' REM . OUTPUT = DATA.SET = DATA.SET + 1 :(NEW.SET) END