1 01/14/87 pascal_indent
 2 
 3 Syntax as a command:  pascal_indent old_path {new_path} {-control_args}
 4 
 5 
 6 Function:  indents a Pascal source program according to a standard set
 7 of conventions described below.  For information on Pascal see the
 8 _^HM_^Hu_^Hl_^Ht_^Hi_^Hc_^Hs _^HP_^Ha_^Hs_^Hc_^Ha_^Hl _^HU_^Hs_^He_^Hr_^H'_^Hs _^HG_^Hu_^Hi_^Hd_^He (GB62).
 9 
10 
11 Arguments:
12 old_path
13    is the pathname of the source segment to be indented.  The .pascal
14    suffix is assumed.
15 new_path
16    is the optional pathname of the indented result.  The .pascal suffix
17    is assumed.  If you omit new_path, the indented copy replaces the
18    original segment.  If errors are detected in the source, however, a
19    temporary indented copy is created instead and its pathname is
20    printed in an error message.
21 
22 
23 Control arguments:
24 -brief, -bf
25    suppresses warning messages for invalid or non-Pascal characters
26    found outside a string or comment.  Errors corresponding to
27    suppressed messages do not prevent the original source segment from
28    being replaced.
29 -comment N, -com N
30    indents comments at column number N.  Comments are lined up at this
31    column unless they occur at the beginning of a line and are preceded
32    by a blank line.  (Default:  column 61)
33 -english
34    assumes that the source program is written in English.  (Default)
35 -french
36    assumes that the source program is written in French.
37 -highlight, -hl
38    translates reserved symbols of the Pascal language to lowercase if
39    you provide -uc; to uppercase otherwise so that they stand out from
40    the rest of the text.
41 -indent N, -in N
42    indents each level an additional N spaces.  (Default:  5 spaces)
43 -lmargin N, -lm N
44    sets the left margin for top-level program statements after the Nth
45    column.  (Default:  10)
46 -long, -lg
47    allows warning messages for invalid or non-Pascal characters.
48    (Default)
49 -lower_case, -lc
50    translates all uppercase letters outside of strings and comments to
51    lowercase.
52 no_case_translation, nct
53    does not translate letters outside strings and comments to uppercase
54    or lowercase.  (Default)
55 -no_highlight, -nhl
56    does not translate Pascal reserved symbols to lowercase or
57    uppercase.  (Default)
58 -upper_case, -uc
59    translates all lowercase letters outside of strings and comments to
60    uppercase.
61 
62 
63 Notes on indenting style:  Multiple spaces are replaced by single
64 spaces, except inside strings and for nonleading spaces and tabs in
65 comments.  Trailing spaces and tabs are removed from all lines before
66 indenting.  Spaces are inserted before left parentheses, brackets, and
67 braces, and removed after them.  Spaces are inserted after right
68 parentheses, brackets, and braces, and removed before them.  Spaces are
69 inserted around the constructs =, ^=, <>, <=, >=, :=, ;, and :  and
70 operators in expressions.
71 
72 Parentheses, brackets, and braces must balance.  The keywords "begin,"
73 "case," and "repeat" must balance with their corresponding "end"
74 statements; likewise for "repeat" and "until" constructs.