home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 June / SIMTEL_0692.cdr / msdos / turbopas / zindent7.arc / ZINDOC.INC < prev    next >
Encoding:
Text File  |  1987-03-30  |  7.0 KB  |  180 lines

  1.  
  2.  
  3.  
  4. (*******************************************************************)
  5. (*                                                                 *)
  6. (* Include File                                                    *)
  7. (* System Documentation, v. 0830am, sun, 28.Mar.87, Glen Ellis     *)
  8. (*                                                                 *)
  9. (*******************************************************************)
  10.  
  11.  
  12. (*--------------------*)
  13. procedure pSaySysDoc;
  14.  
  15. (*  purpose: display program documentation
  16. (*           output literal text only
  17. (* *)
  18.  
  19. var
  20. x : nbr;
  21.  
  22. begin (* proc *)
  23.  
  24.    pClearScreen;
  25.  
  26.    writeln('      Documentation:');
  27.    writeln;
  28.    writeln( SysTitle);
  29.    writeln;
  30.    writeln('is written in Borland Turbo Pascal for CP/M and MSDOS systems');
  31.    writeln;
  32.    writeln( SysVersion1);
  33.    writeln;
  34.    writeln( SysVersion2);
  35.    writeln;
  36.    writeln( SysCredit);
  37.    writeln;
  38.  
  39.    pKeyPressed;
  40.  
  41.  
  42.    (*------------------------------------------------------------------------*)
  43.  
  44.    pClearScreen;
  45.  
  46.    writeln(' provides : ');
  47.    writeln('     indenting/formatting function on Source Code files. ');
  48.    writeln;
  49.    writeln(' Keyword parse algoriths are based on Leading KeyWords.  ');
  50.    writeln(' Keyword routines contained in modules "xxxKEYxx.INC" ');
  51.    writeln(' Upper Case forced on Keywords only during parse routines.');
  52.    writeln(' File Output is Right Trimmed.');
  53.    writeln(' The Pascal parsing algorithms start after detecting     ');
  54.    writeln('    a preliminary BEGIN, thus protecting Header area.    ');
  55.    writeln;
  56.    writeln('--- KeyWords for dBASE routine :                         ');
  57.    writeln('    IF, ENDIF,   DO WHILE, ENDDO,    CASE, ENDCASE       ');
  58.    writeln;
  59.    writeln('--- KeyWords for Turbo Pascal routine :                  ');
  60.    writeln('     IF,   ELSE,   CASE,   WHILE,   REPEAT,   RECORD.    ');
  61.    writeln('     BEGIN, END,                                         ');
  62.    writeln;
  63.  
  64.    pKeyPressed;
  65.  
  66.    (*------------------------------------------------------------------------*)
  67.  
  68.    pClearScreen;
  69.  
  70.    writeln;
  71.    writeln(' Leading KeyWords for Turbo Pascal : ');
  72.    writeln;
  73.    writeln(' "IF", "ELSE", "CASE", "WHILE", "REPEAT", "RECORD",  ');
  74.    writeln(' "BEGIN", "END" are recognized ');
  75.    writeln('  if followed by a $0D (carriage return) or $20 (space).');
  76.    writeln;
  77.    writeln(' "BEGIN", "BEGIN " will be recognized as Keywords. ');
  78.    writeln(' Memory Variables such as "BeginJobMarker" are OK. ');
  79.    writeln;
  80.    writeln(' special parse for "END" with semi-colon : ');
  81.    writeln(' "END", "END ", "END;" will be recognized as Keywords.  ');
  82.    writeln(' Memory Variables such as "EndJobMarker" are OK. ');
  83.    writeln;
  84.    writeln(' dBASE-II traps the first four characters of KeyWords,   ');
  85.    writeln(' leaving no room to share KeyWords with memvar names.    ');
  86.    writeln;
  87.  
  88.    pKeyPressed;
  89.  
  90.    (*------------------------------------------------------------------------*)
  91.  
  92.    pClearScreen;
  93.  
  94.    writeln(' provides : ');
  95.    writeln('     indenting/formatting function on Source Code files. ');
  96.    writeln(' 1.> If command line parameters are present,');
  97.    writeln('     then command line is loaded and parsed,');
  98.    writeln('          and default parameters may be installed. ');
  99.    writeln(' 2.> if Command Parm #1 = "/F" ');
  100.    writeln('     then filename list is expected from text file,');
  101.    writeln('          and user is prompted for paramters.');
  102.    writeln(' 3.> if Command Parm #1 = "?" ');
  103.    writeln('     then user input / documentation module is enabled.');
  104.    writeln(' otherwise ');
  105.    writeln(' 4.> if no command line parameters and/or no data file, ');
  106.    writeln('     then user input / documentation module is enabled.');
  107.    writeln;
  108.  
  109.    pKeyPressed;
  110.  
  111.  
  112.    (*------------------------------------------------------------------------*)
  113.  
  114.    pClearScreen;
  115.  
  116.    writeln('    ---> Command : Line Description <---                    ');
  117.    writeln;
  118.    writeln('A>INDENT Source.pas 3 1 0                                    ');
  119.    writeln(' results : infile (identified as Pascal type ".PAS" )        ');
  120.    writeln('           indent = 3, comments included, no line numbers    ');
  121.    writeln(' Parameters :                                                ');
  122.    writeln(' #1 read source file, write target.$$$                       ');
  123.    writeln('    tested for .TYP in these two groups :                    ');
  124.    writeln('               dBASE(.CMD.PRG) / Pascal(.PAS.INC.PRO.FUN)    ');
  125.    writeln('    erase/rename according to source.TYP                     ');
  126.    writeln('    source.BAK, target.$$$, Source.TYP                       ');
  127.    writeln('    default .TYP is Pascal                                   ');
  128.    writeln('    "/F" enables Filelist entry module.                      ');
  129.    writeln('    "?"  enables User entry / documentation module.          ');
  130.    writeln(' #2 indent length 0 -> 79  , default = 3                     ');
  131.    writeln(' #3 comment :  1 = include, 0 = no include , default = 1     ');
  132.    writeln(' #4 linecnt :  1 = numbered line listing, 0 = not numbered   ');
  133.    writeln('    default = no linecount/vertiate                          ');
  134.    writeln(' if missing parameters #2, or #3, or #4                      ');
  135.    writeln('   then default settings are installed for #2, or #3, or #4. ');
  136.    writeln('   defaults = indentnum = 3, comment = true, linecnt = false.');
  137.    writeln;
  138.  
  139.    pKeyPressed;
  140.  
  141.    (*------------------------------------------------------------------------*)
  142.  
  143.    pClearScreen;
  144.  
  145.    writeln;
  146.    writeln('         ---> Command : File Method <---                     ');
  147.    writeln;
  148.    writeln(' #0 reads ',SysPgmName,' for filename list of file.typ ');
  149.    writeln('    written as file.typ , in standard textfile format.');
  150.    writeln;
  151.    writeln(' #1 user prompted for other parameters.');
  152.    writeln;
  153.  
  154.    pKeyPressed;
  155.  
  156.    (*------------------------------------------------------------------------*)
  157.  
  158.    pClearScreen;
  159.  
  160.    writeln;
  161.    writeln('       ---> Command : User Entry Method <---              ');
  162.    writeln;
  163.    writeln(' User prompted for filename.typ.                            ');
  164.    writeln('        "?" shows documentation.                            ');
  165.    writeln(' User prompted for each parameter,                          ');
  166.    writeln('    similar to above descriptions.                          ');
  167.    writeln(' User prompted for special parameters                       ');
  168.    writeln('    relating to programmer/developer control.               ');
  169.    writeln(' User prompted for specific "Program Mode" parameter,       ');
  170.    writeln('    which will allow                                        ');
  171.    writeln('    forced selection of KeyWord routine : "DB", "TP".       ');
  172.    writeln;
  173.  
  174.    pKeyPressed;
  175.  
  176.  
  177. end; (* proc *)
  178.  
  179.  
  180. (*******************************************************************)
  181. (*<<<>>>*)