ack/lang/a68s/liba68s/stinch.p

62 lines
2.3 KiB
OpenEdge ABL
Raw Normal View History

1988-10-04 13:41:01 +00:00
93200 #include "rundecs.h"
93210 (* COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER *)
93220 (**)
93230 PROCEDURE SETREADMOOD(PCOV:OBJECTP); EXTERN;
93240 (**)
93250 (*+01() (*$X6*) ()+01*)
93260 FUNCTION PROC( PROCEDURE P (*-01() ( COV: OBJECTP ; EFET: FETROOMP ) ()-01*) ): ASPROC ; EXTERN ;
93270 (*-01()
93280 FUNCTION PROC1(
93290 PROCEDURE P( COV: OBJECTP ; CHARS: GETBUFTYPE ; TERM: TERMSET ; I: INTEGER ; EFET: FETROOMP )
93300 ): ASPROC ; EXTERN ;
93310 ()-01*)
93320 PROCEDURE AOPEN( EFET:FETROOMP; DISP:INTEGER; LFN:LFNTYPE; BUF:IPOINT ); EXTERN;
93330 PROCEDURE SIRDSTR(COV: OBJECTP; CHARS: GETBUFTYPE; TERM (*+01(),TERM1()+01*): TERMSET; I: INTEGER; EFET: FETROOMP);
93340 EXTERN;
93350 PROCEDURE SINEWLINE(COV: OBJECTP; EFET: FETROOMP); EXTERN;
93360 PROCEDURE SINEWPAGE(COV: OBJECTP; EFET: FETROOMP); EXTERN;
93370 PROCEDURE SIRESET(COV: OBJECTP; EFET: FETROOMP); EXTERN;
93380 (**)
93390 (**)
93400 PROCEDURE STINCH(PCOV: OBJECTP; LFN: LFNTYPE);
93410 (*+01() VAR AW66: ^W66; ()+01*)
93420 BEGIN WITH PCOV^ DO
93430 BEGIN CHARBOUND:=MAXINT;
93440 LINEBOUND:=MAXINT;
93450 PAGEBOUND:=MAXINT;
93460 POSSIBLES:=[GETPOSS];
93470 (*+01()
93480 AW66 := ASPTR(66B);
93490 IF (LFN= 'INPUT:::::') AND (AW66^.JOPR=3) THEN (*INPUT AND ONLINE*)
93500 BEGIN
93510 AOPEN( BOOK, FORREAD + ONLINE, LFN, ORD(BOOK)+BUFFOFFSET ) ;
93520 STATUS := [OPENED,NOTINITIALIZED,NOTRESET,LFE,PAGEOVERFLOW,LINEOVERFLOW,CHARMOOD,LAZY,NOTSET]
93530 END
93540 ELSE
93550 ()+01*)
93560 BEGIN
93570 AOPEN( BOOK, FORREAD, LFN, ORD(BOOK)+BUFFOFFSET ) ;
93580 STATUS := [OPENED,NOTRESET,CHARMOOD,NOTSET(*-01(),LAZY()-01*)]
93590 END;
93600 (*+01()
93610 IF BOOK^.LFN<>'INPUT::' THEN POSSIBLES := POSSIBLES+[RESETPOSS];
93620 ()+01*)
93630 DOGETS := PROC(*-01()1()-01*)(SIRDSTR);
93640 DONEWLINE := PROC(SINEWLINE);
93650 DONEWPAGE := PROC(SINEWPAGE);
93660 DORESET := PROC(SIRESET);
93670 SETREADMOOD(PCOV)
93680 END
93690 END;
93700 (*+01() (*$X4*) ()+01*)
93710 (**)
93720 (**)
93730 (*-02()
93740 BEGIN (*OF A68*)
93750 END; (*OF A68*)
93760 ()-02*)
93770 (*+01()
93780 BEGIN (*OF MAIN PROGRAM*)
93790 END (* OF EVERYTHING *).
93800 ()+01*)