Press enter to see results or esc to cancel.

Command Line Syntax Display

When no source file is specified this procedure simply displays Turbo Pascal command line syntax with default switch states.

Procedure WriteSyntax;

  Function Switch (Sw: TCompilerSwitches): Char;
  begin
    If Sw in GlobalModuleData^.CompilerSwitches then Switch := '+'
      else Switch := '-';
  end;

begin
  Writeln ('Syntax: TPC [options] filename [options]');
  Writeln ('  -B = Build all units                -L = Link buffer on disk');
  Writeln ('  -D<syms> = Define conditionals      -M = Make modified units');
  Writeln ('  -E<path> = EXE/TPU directories      -O<path> = Object directories');
  Writeln ('  -F<seg>:<ofs> = Find error          -Q = Quiet compile');
  Writeln ('  -GD = Detailed map file             -T<path> = TPL/CFG directory');
  Writeln ('  -GP = Map file with publics         -U<path> = Unit directories');
  Writeln ('  -GS = Map file with segments        -V = Debug information in EXE');
  Writeln ('  -I<path> = Include directories      -$<dir> = Compiler directive');
  Writeln ('Compiler switches: -$<letter><state>  (defaults are shown below)');
  Writeln ('  A', Switch (WordAlignment),' Word alignment       I',
                  Switch (IOErrorChecking),' I/O error checking   R',
                  Switch (RangeChecking),' Range checking');
  Writeln ('  B', Switch (FullBooleanEval),' Full boolean eval    L',
                  Switch (LocalDebugSymbols),' Local debug symbols  S',
                  Switch (StackChecking),' Stack checking');
  Writeln ('  D', Switch (DebugInformation),' Debug information    N',
                  Switch (Instructions80x87),' 80x87 instructions   T',
                  Switch (TypedPointers),' Typed pointers');
  Writeln ('  E', Switch (Emulation80x87),' 80x87 emulation      O',
                  Switch (OverlaysAllowed),' Overlays allowed     V',
                  Switch (StrictVarStrings),' Strict var-strings');
  Writeln ('  F', Switch (ForceFarCalls),' Force FAR calls      P',
                  Switch (OpenStringParams),' Open string params   X',
                  Switch (ExtendedSyntax),' Extended syntax');
  Writeln ('  G', Switch (Instructions80286),' 80286 instructions   Q',
                  Switch (OverflowChecking),' Overflow checking');
  Writeln ('Memory sizes: -$M<stack>,<heapmin>,<heapmax>  (default: ',
            GlobalModuleData^.Stack, ',',
            Longint (GlobalModuleData^.HeapMin) * 16, ',',
            Longint (GlobalModuleData^.HeapMax) * 16, ')');
end;