File SNOLST.SN

Directory of image this file is from
This file as a plain text file

/SNOBOL LISTING PROGRAM
/
/ WRITTEN BY WILLIAM NOWICKI
/ NORTHWESTERN UNIVERSITY
/ COMPUTER SCIENCE RESEARCH LABORATORY
/
/ DECEMBER, 1976
/
/
/+ASK
/THE USER IS FIRST ASKED FOR AN INPUT FILE 
/(ASSUMED TO BE ON "DSK:").
/THIS SOULD BE A "PAL8" LISTING FILE.
/IF THE "SNOBOL 8.2" HEADING PUT OUT BY THE COMPILER
/IS FOUND, THE TITLE WHICH WILL BE PUT ON THE LISTING
/IS PRINTED. THE OUTPUT FILENAME IS THEN REQUESTED.
/IT MAY TAKE A LONG TIME TO PROCESS A LARGE "SNOBOL"
/PROGRAM - PLEASE BE PATIENT.
/
/
/:CODE:
	PG = "1"
	LN = "0"
	TP = "0"	/TOTAL PAGES
	FLD = "0"
	LP = "54"
	T = .A211
	CRLF = .A215 .A212
	PN = "0"
ASK,	OUTHOLD = "INPUT (PAL8 LISTING):"
	.LOOKUP INPUT :F(ASK)
LP1,	LINE = READ :F(EOF)
	LINE "/SNOBOL" :F(LP1)
	LINE "/" *TITLE/50*
	OUTPUT = ""
	OUTPUT = "TITLE:  " TITLE
	OUTPUT = ""
	LINE = READ READ
	TITLE = .A214 CRLF  T T TITLE T "PAGE "
/
ASKO,	OUTHOLD = "OUTPUT (SNOBOL LISTING):"
	.ENTER INPUT :F(ASKO)
/
/
/-ASK
	LAST = "00177"
/
/
LOOP,	LINE = READ :F(EOF)		/READ INPUT LINE
	LINE_ "/SNOBOL" :F(NOPG)
	LINE = READ :F(EOF)		/SKIP A LINE
	TP = TP +1			/INCREMENT TOTAL NUMBER OF PAGES
/
NOPG,					/IT ISN'T A PAGE HEADING
	LINE *LOC/5* :F(NOLOC)
	LINE LOC =			/DELETE THE LOCATION
	LOC "  "!.A211 :S(NOLOC)
	LAST = LOC			/SAVE LOCATION COUNTER
NOLOC,					/WE HAVE LOC. OF PREVIOUS LINE
	LINE_ ** "/" = :F(LOOP)		/GET A SNOBOL SOURCE LINE
	LN = LN + 1
	LP = LP + 1
	LP "55" = :F(JUSTP)		/CHECK FOR PAGINATION TIME
	PN = PN + 1
	OUTPUT = "PAGE " PN
	WRITE = TITLE PN		/PUT OUT THE TITLE
	WRITE = ""
JUSTP,	LOC = LAST
	LINE_ "/" :F(ULOC)		/CHECK FOR COMMENTS
	LOC = "     "
ULOC,	WRITE = LN T " " LOC "  " LINE
		:(LOOP)

/
/+EOF
/	THIS MODULE CLOSES THE INPUT AND OUTPUT FILES
/AND TELLS THE USER THE BAD NEWS IF ANY ERROR OCCURED.
/:CODE:
EOF,	OUTPUT = CRLF
	OUTPUT = "TOTAL PAGES IN THE PAL8 LISTING: " TP
	.OCLOSE :F(CERROR)
	.ICLOSE
	.EXIT
CERROR, OUTPUT = "CLOSING ERROR !"
	.EXIT
IOBAD,	OUTPUT = "OUTPUT ERROR !"
	.END
/-EOF



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search