home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 02 / pascomp.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1988-02-09  |  1.2 KB  |  47 lines

  1. PROGRAM PasComp;
  2.  
  3. USES Global, ScanCode, Parser, Init;
  4.  
  5.  
  6. PROCEDURE ReadFileName;
  7.  
  8. VAR FileName,CompName,CodeName: STRING[80];
  9.  
  10. BEGIN
  11.   WriteLn;  Write('Dateiname ohne Suffix : ');  ReadLn(FileName);
  12.   CompName := Concat(FileName,'.PAS');
  13.   CODENAME := Concat(FileName,'.COD');
  14.   Assign(Source,CompName);
  15.   ReSet(Source);
  16.   Assign(Dat,CODENAME);
  17.   ReWrite(Dat);
  18. END;
  19.  
  20.  
  21. BEGIN
  22.   WriteLn;
  23.   WriteLn('PASCOMP  -   PASCAL International PASCAL-COMPILER  v0.1');
  24.   WriteLn('             (C) 1987   J.Velmans & PASCAL INT.');
  25.   WriteLn;
  26.   ReadFileName;
  27.   NoOfFiles := 0;
  28.   TestAusgabe := FALSE;
  29.   InitScalars;  InitSets;  InitTables;
  30.   BSt := 0;  DispTop := 0;
  31.   WITH DispVec[0] DO BEGIN
  32.     FirstDeclId := NIL;  FirstLab := NIL;  OccursIn := IsBlock
  33.   END;
  34.   InitStandardTypes;  InitStNames;  InitStdNames;  InitUndeclared;
  35.   DispTop := 1;  BSt := 1;
  36.   WITH DispVec[1] DO BEGIN
  37.     FirstDeclId := NIL;  FirstLab := NIL;  OccursIn := IsBlock
  38.   END;
  39.   GetSymbol;
  40.   Programm(BlockStartSy+StatStartSymb-[CaseSymb]);
  41.   Close(Source);  Close(Dat);
  42.   WriteLn;  WriteLn;
  43.   IF NoOfErrors > 0 THEN Write(NoOfErrors) ELSE Write('kein');
  44.   WriteLn(' Fehler gefunden.');
  45.   WriteLn;
  46. END.
  47.