67 lines
3.1 KiB
Plaintext
67 lines
3.1 KiB
Plaintext
{ DOS version of PASKEY (Pascal Pre-declaration) File}
|
||
INTEGER WORD CHAR REAL {primitive types}
|
||
634 {size in bytes of FCB without buffer variable}
|
||
{intrinsic pre-declared procedures and functions}
|
||
READLN WRITELN READ WRITE PAGE READFN READSET NEW DISPOSE
|
||
PACK UNPACK EVAL * * * *
|
||
EOF EOLN CHR ORD ABS SQR PRED SUCC ODD LOWER UPPER
|
||
HIBYTE LOBYTE WRD DECODE ENCODE SIZEOF RETYPE RESULT BYWORD
|
||
{intrinsic pre-declared constants and data types}
|
||
CONST MAXINT=32767; MAXWORD=65535; NULL=0;
|
||
TYPE BOOLEAN=(FALSE,TRUE); TEXT=FILE OF CHAR;
|
||
STRING =SUPER PACKED ARRAY [1..*] OF CHAR; SINT=-127..127;
|
||
LSTRING=SUPER PACKED ARRAY [0..*] OF CHAR; BYTE=WRD(0)..255;
|
||
ADRPQQQ=RECORD R:WORD END; ADSPQQQ=RECORD R:WORD; S:WORD END;
|
||
LSTLQQQ=RECORD LEN:BYTE END; ADAPQQQ=ARRAY [WRD(0)..32765] OF BYTE;
|
||
ADRMEM=ADR OF ADAPQQQ; ADSMEM=ADS OF ADAPQQQ;
|
||
END {terminate declaration section}
|
||
|
||
{runtime unit interface; as a unit, allows renaming entry points}
|
||
INTERFACE; UNIT RUNTQQQ
|
||
(FCBFQQ,INPFQQ,OUTFQQ,FILEMODES,SEQUENTIAL,TERMINAL,DIRECT,
|
||
SEKFQQ,RESFQQ,REWFQQ,ASSFQQ,CLOFQQ,CLDFQQ,GETFQQ,PUTFQQ,
|
||
SRTRQQ,SINRQQ,COSRQQ,ATNRQQ,EXPRQQ,LNERQQ,TRNRQQ,ROURQQ,FLTRQQ,
|
||
CONLQQ,DELLQQ,INSLQQ,CPLLQQ,POSLQQ,SEQLQQ,SNELQQ,CPSLQQ,
|
||
MOVEL,MOVER,FILLC,MOVESL,MOVESR,FILLSC,EMSEQQ);
|
||
TYPE FILEMODES = (SEQUENTIAL, TERMINAL, DIRECT);
|
||
FCBFQQ = RECORD TRAP:BOOLEAN; ERRS:BYTE; MODE:FILEMODES END;
|
||
VAR INPFQQ,OUTFQQ:TEXT;
|
||
PROCEDURE SEKFQQ (VAR F:FCBFQQ;N:WORD);
|
||
PROCEDURE RESFQQ (VAR F:FCBFQQ);
|
||
PROCEDURE REWFQQ (VAR F:FCBFQQ);
|
||
PROCEDURE ASSFQQ (VAR F:FCBFQQ;CONSTS N:STRING);
|
||
PROCEDURE CLOFQQ (VAR F:FCBFQQ);
|
||
PROCEDURE CLDFQQ (VAR F:FCBFQQ);
|
||
PROCEDURE GETFQQ (VAR F:FCBFQQ);
|
||
PROCEDURE PUTFQQ (VAR F:FCBFQQ);
|
||
FUNCTION SRTRQQ (A:REAL):REAL;
|
||
FUNCTION SINRQQ (A:REAL):REAL;
|
||
FUNCTION COSRQQ (A:REAL):REAL;
|
||
FUNCTION ATNRQQ (A:REAL):REAL;
|
||
FUNCTION EXPRQQ (A:REAL):REAL;
|
||
FUNCTION LNERQQ (A:REAL):REAL;
|
||
FUNCTION TRNRQQ (A:REAL):INTEGER;
|
||
FUNCTION ROURQQ (A:REAL):INTEGER;
|
||
FUNCTION FLTRQQ (A:INTEGER):REAL;
|
||
PROCEDURE CONLQQ (VARS D:LSTRING;CONSTS S:STRING);
|
||
PROCEDURE DELLQQ (VARS D:LSTRING;I,L:INTEGER);
|
||
PROCEDURE INSLQQ (CONSTS S:STRING;VARS D:LSTRING;I:INTEGER);
|
||
PROCEDURE CPLLQQ (CONSTS S:STRING;VARS D:LSTRING);
|
||
FUNCTION POSLQQ (CONSTS P,S:STRING;I:INTEGER):INTEGER;
|
||
FUNCTION SEQLQQ (L:INTEGER;C:CHAR;CONSTS S:STRING;I:INTEGER):INTEGER;
|
||
FUNCTION SNELQQ (L:INTEGER;C:CHAR;CONSTS S:STRING;I:INTEGER):INTEGER;
|
||
PROCEDURE CPSLQQ (CONSTS S:STRING;VARS D:STRING);
|
||
PROCEDURE MOVEL (S,D:ADRMEM;L:WORD);
|
||
PROCEDURE MOVER (S,D:ADRMEM;L:WORD);
|
||
PROCEDURE FILLC (D:ADRMEM;L:WORD;C:CHAR);
|
||
PROCEDURE MOVESL (S,D:ADSMEM;L:WORD);
|
||
PROCEDURE MOVESR (S,D:ADSMEM;L:WORD);
|
||
PROCEDURE FILLSC (D:ADSMEM;L:WORD;C:CHAR);
|
||
PROCEDURE EMSEQQ (CONST MS:LSTRING;EC,ES:WORD);
|
||
END; USES RUNTQQQ
|
||
(FCBFQQ,INPUT,OUTPUT,FILEMODES,SEQUENTIAL,TERMINAL,DIRECT,
|
||
SEEK,RESET,REWRITE,ASSIGN,CLOSE,DISCARD,GET,PUT,
|
||
SQRT,SIN,COS,ARCTAN,EXP,LN,TRUNC,ROUND,FLOAT,
|
||
CONCAT,DELETE,INSERT,COPYLST,POSITN,SCANEQ,SCANNE,COPYSTR,
|
||
MOVEL,MOVER,FILLC,MOVESL,MOVESR,FILLSC,ABORT); END.
|
||
|