{$L-,C-,M-,F-,P+ <Pascal/Z compiler options}
LABEL 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,24,25,26,27,28,29,30;
TYPE
 byte=0..255;		{SINGLE BYTE INTEGER}
 charset=SET OF CHAR;	{GLOBAL CHARACTER SET}
 string0=string 0;	{SPECIAL STRING FOR PASCAL/Z}
 string255=string 255;	{MAXIMUM LENGTH STRING}
 strng=string 80;	{STANDARD STRING}
VAR
 ch	: char;		{GLOBAL CHARACTER}
 ans,			{SYSTEM STRING}
 temp	: strng;	{TEMP USAGE UTILITY STRING}
 done,			{GLOBAL GENERAL PURPOSE BOOLEAN FLAG}
 flag	: BOOLEAN;	{GLOBAL BOOLEAN FLAG}
 F1,F2,			{GENERAL PURPOSE TEXT FILES}
 output,input:TEXT;	{INPUT AND OUTPUT TEXT FILES}
 #a,#b,#c,#d,#e,#f,#g,#h,#i,#j,#k,#l,#m,
 #n,#o,#p,#q,#s,#t,#u,#v,#w,#x,#y,#z: INTEGER;
 #r: INTEGER;
{#r: REAL; }{IF NEED REAL NUMBERS}
 $a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,
 $n,$o,$p,$q,$r,$s,$t,$u,$v,$w,$x,$y,$z: strng;
FUNCTION vlength(var source:string0):integer;external;
FUNCTION memavail:integer;external;
PROCEDURE setlength(var source:string0;leng:integer);external;
FUNCTION length(source:string255):integer;external;
FUNCTION index(SOURCE,PATTERN:string255):integer;external;
FUNCTION pos(PATTERN,SOURCE:string255):integer;external;
PROCEDURE match(patterns:string255;delim:char;source:string255;
		var status:boolean);external;
PROCEDURE wait(timer:integer; var c:char);external;
PROCEDURE ucase(var source:string0);external;
PROCEDURE lcase(var source:string0);external;
PROCEDURE delete(var source:string0;start,count:integer);external;
PROCEDURE copy(var sub:string0;source:string255;here,count:integer);external;
PROCEDURE insert(pattern:string255;var dest:string0;posn:integer);external;
PROCEDURE replace(pattern:string255;var source:string0;idx:integer);external;
PROCEDURE concat(var new:string0;a1,a2:string255);external;
PROCEDURE str(t:integer;var dest:string0);external;
FUNCTION ivalue(buf:string255;posn:integer):integer;external;
PROCEDURE halt(message:string255);external;
FUNCTION isalpha(c:char):boolean;external;
FUNCTION isupper(c:char):boolean;external;
FUNCTION islower(c:char):boolean;external;
FUNCTION isdigit(c:char):boolean;external;
FUNCTION isspace(c:char):boolean;external;
FUNCTION toupper(c:char):char;external;
FUNCTION tolower(c:char):char;external;
PROCEDURE keyin(var c:char);external;
FUNCTION keyboard(var c:char):boolean;external;
PROCEDURE dwrite(c:char);external;
FUNCTION constat:boolean;external;
FUNCTION conchar:byte;external;
PROCEDURE gotoxy(column,row:integer);external;
FUNCTION val(c:char):integer;external;
PROCEDURE initialize;
BEGIN END;