ptop.cfg(5)
NAME
ptop.cfg - The ptop source-beautifier configuration file.
ptop is the source beautifier of the FreePascal project.
Origin probably Pascal-TO-Pascal.cfg
DESCRIPTION
- This is the main configuration file of the ptop FPC source
- beautifier
- The configuration file for ptop(1) isn't necessarily
- called ptop.cfg, and is also not auto-loaded, so the name doesn't
- matter much. This man-page describes the structure of such a con
- figuration file for ptop(1)
Structure
- The structure of a ptop configuration file is a simple
- buildingblock repeated several (20-30) times, for each pascal
- keyword known to the ptop program. (see the default configuration
- file or ptopu.pp source to find out which keywords are known)
- The basic building block of the configuration file con
- sists out of one or two lines, describing how ptop should react
- on a certain keyword. First a line without square brackets with
- the following format:
- keyword=option1,option2,option3,...
- If one of the options is "dindonkey" (see further below),
- a second line (with square brackets) is needed like this:
- [keyword]=otherkeyword1,otherkeyword2,otherkeyword3,...
- As you can see the block contains two types of identi
- fiers, keywords(keyword and otherkeyword1..3 in above example)
- and options, (option1..3 above).
- Keywords are the built-in valid Pascal structure-identi
- fiers like BEGIN, END, CASE, IF, THEN, ELSE, IMPLEMENTATION. The
- default configuration file lists most of these.
- Besides the real Pascal keywords, some other codewords are
- used for operators and comment expressions. These are listed in
- the following table:
- Name of codeword operator
------------- ----casevar : in a case label (<>'colon')
becomes :=
delphicomment //
opencomment { or (*
closecomment } or *)
semicolon ;
colon :
equals =
openparen [
closeparen ]
period . - The Options codewords define actions to be taken when the
- keyword before the equal sign is found.
- Option does what
------- --------crsupp suppress CR before the keyword.
crbefore force CR before keyword - (doesn't go with crsupp :) )
blinbefore blank line before keyword.
dindonkey de-indent on assiociated keywords - (see below)
dindent deindent (always)
spbef space before
spaft space after
gobsym Print symbols which follow a - keyword but which do not
affect layout. prints until
terminators occur.
(terminators are hard-coded in pptop,
still needs changing) - inbytab indent by tab.
crafter force CR after keyword.
upper prints keyword all uppercase
lower prints keyword all lowercase
capital capitalizes keyword: 1st letter - uppercase, rest lowercase.
- The option "dindonkey" requires some extra parameters,
- which are set by a second line for that keyword (the one with the
- square brackets), which is therefore only needed if the options
- contain "dinkdonkey" (contraction of de-indent on assiociated
- keyword).
- "dinkdonkey" deindents if any of the keywords specified by
- the extra options of the square-bracket line is found.
Example
The line
else=crbefore,dindonkey,inbytab,upper
[else]=if,then,else
Means:
- The keyword this is about is else , it's on the LEFT side
- of both equal signs.
- When the ptop parser finds ELSE, the options tell it to do
- the following things:
- - (crbefore) Don't allow other code on the line before
- the keyword. (ELSE alone on a line)
- - (dindonkey) De-indent on the keywords
- in square brackets line (if,then,else)
- - (inbytab) indent by tab.
- (upper) uppercase the keyword (ELSE) - Try to play with the configfile until you find the effect
- you desire. The configurability and possibilities of ptop are
- quite large compared to shareware source beautifier found on e.g.
- SIMTEL.
Acknowledgements
- The writer of the program, Michael van Canneyt, who also
- helped out explaining the format of ptop.cfg.
- Questions/corrections can be mailed to fpc-dev
- el@vekoll.saturnus.vein.hu
- Also thanks to the rest of the FPC development team.
SEE ALSO
- ptop binary
- ptop(1)
- Compiler
- ppc386(1)
- Other FPC utils
- ppdep(1) ppudump(1) ppumove(1) h2pas(1)
- FreePascal 31 may 1999