ptop

PTOP - Free Pascal 源码格式化工具

下面是 ptop 帮助。如果安装了帮助,则可以使用 man 命令查看它们。



ptop(1)               ptop 源码格式化程序              ptop(1)


名称
       ptop - FPC Pascal 可配置的源码美化工具。

       起源可能是 Pascal-TO-Pascal。


简介
       ptop[-v]  [-i  indent]  [-b  bufsize ][-c optsfile] infile
       outfile


说明
       ptop 是 pascal 可配置的源码美化工具,尤其支持的那些(与 Turbo Pascal 或 Delphi 2.0 兼容的源代码)。

       ptop 属于 FPC utils 软件包,该软件包目前还包含 ppdeph2pasppudumpppumove用法
       ptop重新格式化 "infile",并将结果输出到 "outfile"。
       它使用下面的配置文件,并可以生成默认配置文件供你编辑。(如果使用默认值,则不需要)


选项
       -h     显示这些选项的简短说明。

       -c     从配置文件中读取选项。不需要配置文件,ptop 将恢复为内部默认值。另参见 -g

       -i ident
              设置用于 BEGIN END; 缩进空格的数量;和其他块。

       -b bufsize
              将 buffersize 设置为 bufsize。 默认值为 255,0 被视为无效且被忽略。

       -v     详细信息,当前仅输出读取/写入的行数和一些错误消息。

       -g ptop.cfg
              写入默认的配置文件到 ptop.cfg。


       尝试使用 ptop 及其配置文件,直到找到所需的效果。
       与在 SIMTEL 上找到的共享源码 beautifier 相比,ptop 的可配置性相当大。



FreePascal                 1999年5月30日                          1





ptop(1)               ptop 源码格式化程序              ptop(1)




致谢
       该程序的作者 Michael van Canneyt 也帮助解释了 ptop.cfg 的格式。

       有关问题/更正,请发送邮件至 fpc-devel@vekoll.saturnus.vein.hu,

       还要感谢 FPC 开发团队的其他成员。

       该程序是基于 Peter Grogono 程序的现代化(OOP,Streams,Delphi Extensions)版本,
       Peter Grogono 又将他的程序基于 Ledgard,Huera 和 Singer 编写的 Pascal pretty-printer 做了改进。
       参见 SIGPLAN 通知,第12卷,第7期,1977年7月,第101-105页和 PP.DOC/HLP。
       此版本的 PP 在 PASCAL/Z V4.0 或更高版本下开发。Willett Kempto 在1984年3月和84年10月对 Turbo Pascal 进行了非常小的修改。
       在8位 Turbo 或16位 Turbo 下运行。Toad Hall 调整,为 TP 5重写,1989年11月28日。



相关
       ptop 配置文件
              ptop.cfg(5)

       编译器
              ppc386(1)

       其他 FPC 实用程序
              ppdep(1) ppudump(1) ppumove(1) h2pas(1)






















FreePascal                 1999年5月30日                          2





ptop.cfg(5)     ptop 源码格式化程序配置文件    ptop.cfg(5)


名称
       ptop.cfg  - ptop 源码美化工具配置文件

       ptop 是 FreePascal 项目源码美化工具。

       起源可能是 Pascal-TO-Pascal.cfg


说明
       这是 ptop FPC 源码美化程序的主要配置文件。

       ptop(1) 配置文件名不一定是 ptop.cfg,也不会自动加载,因此名称并不重要。
       该手册页介绍了 ptop(1) 配置文件的结构。


结构
       ptop 配置文件的结构是一个简单的构造块,对已知的每个 pascal 关键字重复了几(20-30)次。
       (请参阅默认配置文件或 ptopu.pp 源码以找出已知的关键字)

       配置文件的基本构建块由一两行组成,描述了 ptop 对特定关键字的反应。
       首先是没有方括号的行,格式如下:

       keyword=option1,option2,option3,...

       如果选项是 "dindonkey"(参见下文),则需要第二行(带有方括号),
       如下所示:

       [keyword]=otherkeyword1,otherkeyword2,otherkeyword3,...

       如你所看到的,该块包含两种类型的标识符,
       即关键字(在上面的示例中为 keyword 和 otherkeyword1..3)和选项(以上的otherkeyword1..3)。

       Keywords是内置有效 Pascal结构标识符,
       例如 BEGIN,END,CASE,IF,THEN,ELSE 和 IMPLEMENTATION。 默认配置文件列出了大多数。

       除了真正的 Pascal 关键字外,其他一些代码字还用于运算符和注释表达式。
       下表中列出了这些:

       码字名称         操作符
       -------------            -----
       casevar                  : 在 case 标签(<>'冒号')中
       becomes                  :=
       delphicomment            //



FreePascal                 1999年5月30日                          1





ptop.cfg(5)     ptop 源码格式化程序配置文件    ptop.cfg(5)


       opencomment              { or (*
       closecomment             } or *)
       semicolon                ;
       colon                    :
       equals                   =
       openparen                [
       closeparen               ]
       period                   .


       选项码字定义在找到等于号之前的关键字时,要采取的操作。

       选项                操作
       -------             ---------
       crsupp              在关键字前取消 CR。
       crbefore            在关键字前强制 CR(不与 crsupp 配合使用 :))
       blinbefore          关键字前的空白行。
       dindonkey           取消关联关键字缩进(见下文)
       dindent             缩进(始终)
       spbef               空格之前
       spaft               空格之后
       gobsym              打印跟随关键字但不影响布局的符号。打印直到出现终止符。
                           (终止符在 pptop 中进行了硬编码,仍然需要更改)
       inbytab             tab 缩进。
       crafter             在关键字后强制 CR。
       upper               将关键字全部大写
       lower               将关键字全部小写
       capital             首字母大写


       选项 "dindonkey" 需要额外的参数,这些参数由该关键字的第二行(带有方括号的参数)设置,
       因此仅当选项包含 "dinkdonkey" 时(在关联关键字上缩进时才需要)。

       如果找到由方括号行额外选项指定的任何关键字,则 "dindonkey" 将取消指示。


示例
       这条线

       else=crbefore,dindonkey,inbytab,upper
       [else]=if,then,else




FreePascal                 1999年5月30日                          2





ptop.cfg(5)     ptop 源码格式化程序配置文件    ptop.cfg(5)


       方法

       这个关键字是 else ,它在两个等号的左边。


       当 ptop 解析器找到 ELSE 时,这些选项告诉它执行以下操作:

       - (crbefore) 不允许在关键字之前的行中包含其他代码。(仅 ELSE 就行了)
       - (dindonkey) 在方括号行中缩进关键字(if,then,else)
       - (inbytab) tab 缩进。
       - (upper) 关键字大写(ELSE)


       尝试使用 ptop 及其配置文件,直到找到所需的效果。
       与在 SIMTEL 上找到的共享源码 beautifier 相比,ptop 的可配置性相当大。



致谢
       该程序的作者 Michael van Canneyt 也帮助解释了 ptop.cfg 的格式。

       有关问题/更正,请发送邮件至 fpc-devel@vekoll.saturnus.vein.hu,

       还要感谢 FPC 开发团队的其他成员。


相关
       ptop 二进制
              ptop(1)

       编译器
              ppc386(1)

       其他FPC 实用工具
              ppdep(1) ppudump(1) ppumove(1) h2pas(1)














FreePascal                 1999年5月30日                          3