{****************************************************************************} {* Bearbeitung von Punkt- und Compiler-Anweisungen *} {****************************************************************************} FUNCTION Sonder( VAR x : line ) : boolean; BEGIN Sonder:=(pos(chr(39),x)=0) AND ((pos('{.',x)>0) OR (pos('(*.',x)>0) OR ((FIncl IN Options) AND ((pos('{$I',x)>0) OR (pos('(*$I',x)>0)) AND (pos('{$I+',x)=0) AND (pos('{$I-',x)=0) AND (pos('(*$I+',x)=0) AND (pos('(*$I-',x)=0))) END; FUNCTION SonderZeile ( VAR x : line ) : boolean; {In Sonderzeilen duerfen keine einfachen Anfuehrungszeichen sein!} VAR h : boolean; w : STRING[2]; z : STRING[3]; Fehler, i,j,m : integer; BEGIN h:=Sonder(x); IF h THEN BEGIN i:=pos('{.',x) OR pos('(*.',x); IF i>0 THEN IF pos('(*.',x)=i THEN m:=1 ELSE m:=0; IF i>0 THEN REPEAT w:=''; Fehler:=0; IF x[i] IN ['A'..'Z','a'..'z'] THEN BEGIN w:=x[i]+x[i+1]; i:=i+2; IF (w='PL') OR (w='MT') OR (w='MB') OR (w='PO') OR (w='CP') THEN BEGIN z:=''; WHILE NOT(x[i] IN ['0'..'9']) DO i:=i+1; WHILE x[i] IN ['0'..'9'] DO BEGIN z:=z+x[i]; i:=i+1 END; IF w='PL' THEN val(z,PL,Fehler); IF w='MT' THEN val(z,MT,Fehler); IF w='MB' THEN val(z,MB,Fehler); IF w='PO' THEN val(z,PO,Fehler); IF w='CP' THEN val(z,CP,Fehler); END; h:=Fehler=0; IF w='HE' THEN BEGIN HE:=copy(x,i,length(x)-i-m); i:=127 END; IF w='FO' THEN BEGIN FO:=copy(x,i,length(x)-i-m); i:=127 END; IF w='PA' THEN NeueSeite; IF w='CP' THEN IF PL-MT-MB-ZeilenZahllength(x) ELSE BEGIN i:=pos('{$I',x)+2; IF i=2 THEN i:=pos('(*$I',x)+3; InclFileName:=''; WHILE (i