From: SMTP%"RELAY-INFO-VAX@CRVAX.SRI.COM" 28-JUL-1994 13:54:20.45 To: EVERHART CC: Subj: NICE version 2.0 Date: Wed, 27 Jul 1994 23:27:03 +0100 From: Arne Vajhoej Subject: NICE version 2.0 To: INFO-VAX@SRI.COM Message-Id: <01HF7VTR46S08Y4X35@kopc.hhs.dk> X-Vms-To: IN::"INFO-VAX@SRI.COM",ARNE Mime-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=ISO-8859-1 Content-Transfer-Encoding: 8BIT Several years ago I wrote a PASCAL beautifier (prettyprinter) called NICE. I have just finished a major rewrite of the program both cleaning up the code, correcting errors and adding new functionality. Here are an extract from FEATURES.TXT: * NICE currently ships in 3 variants. * * 1) A variant for PASCAL with VMS specific extensions. * * 2) A variant for PASCAL with TURBO PASCAL specific extensions. * * 3) A variant for PASCAL with no extensions (standard PASCAL). * * * NICE can be used for 4 purposes. * * 1) NICE is a good PASCAL beautifier (I think the term "prettyprinter" * is widely used). NICE will format the code nicely, but what is even * more important, it will format the code consistently. The looks of * the resulting code can be controlled via a lot of directives. It * even have a directive to force comments on certain places in the code. * * 2) NICE can used as a code analysis tool. The NCALL and NDEF utilitities * will show all routine calls and declarations. The NDOCU utility will * write pseudo-code showing the structure of the code. * * 3) NICE can check the portability of code. The standard version of * NICE will protest against any non-standard language extensions. * The difference in the sorted output from the NCALL and NDEF utilities * will show the external procedures being used. * * 4) NICE can be used to port between VMS PASCAL and TURBO PASCAL. The * TRANSLATE directive will: * - translate the most simple extensions (f.ex. hexadecimal constants) * - write the non-translatable extension to the output, but give * specific error-messages for each with type and line-number * The difference in the sorted output from the NCALL and NDEF utilities * will show the external procedures being used. * This can not do the whole translation itself, but it can automate some * of the more trivial tasks. I have created two seperate kits: - "The base kit", which is needed for modifying the program. It contains both C, YACC and LEX source ! - "The prepared kit", which is enough to build the program for the 3 variants (DEC PASCAL, TURBO PASCAL, STANDARD PASCAL). It contains only C source. The kits are available via anonymous FTP from KOPC.HHS.DK in directory NICE: NICE_BASE_1.ZIP* the base kit NICE_BASE_2.ZIP** the base kit NICE_1.ZIP* the prepared kit NICE_2.ZIP** the prepared kit NICE_BIN_GNUC.ZIP* binaries for VAX (compiled with GNU C) NICE_BIN_VAXC.ZIP* binaries for VAX (compiled with VAX C) NICE_BIN_DECC.ZIP* binaries for AXP NICE_BIN_MSC.ZIP** binaries for PC * : VMS ZIP in VMS mode ** : PKZIP The kits are available via mail from MAILSERV@KOPC.HHS.DK: SEND [NICE]NICE_BASE.* the base kit SEND [NICE]NICE.* the prepared kit Arne Arne Vajhxj local DECNET: KO::ARNE Computer Department PSI: PSI%238310013040::ARNE Business School of Southern Denmark Internet: ARNE@KO.HHS.DK