home *** CD-ROM | disk | FTP | other *** search
- =============================================================================
-
- SIMSMART version 2.10 for the Amiga
-
- c 1989 D A Simon
-
- =============================================================================
-
-
- -----------------
- 1 - INTRODUCTION
- -----------------
-
- WHAT IS SIMSMART ?
- ------------------
-
- SIMSMART is a general-purpose utility that will allow you to print
- the program source code of almost any language, so that (for example) the
- keywords are emboldened and underlined, and the comments are italicized.
- These features are adjustable by the user, to suit individual taste.
- Tabbing is also adjustable, to harmonize with the nesting depth of a
- particular program. Output may be either on the printer, the screen, or
- to another file.
-
- SIMSMART may easily be extended by the user to deal with extra
- languages. In this release, it comes already configured for .....
-
- C
- C++
- Modula-2
- Pascal
- 68000 Assembler
- PostScript
- Ada
- Amiga BASIC
-
-
- SIMSMART is ShareWare! If you actually like it, find it of
- positive value, and use it regularly, you are asked to send a small
- contribution to promote the development of ShareWare (by helping the
- author to purchase more tools for his trade) .... But enough of that for
- the moment ... please see Section 6 at the end of this file, later on.
-
-
-
- HOW DOES IT WORK ?
- ------------------
-
- SIMSMART is intended to be installed on a WorkBench version 1.3
- or later, as it makes extensive use of the ALIASing mechanism of the
- AmigaDos Shell. This allows for a very simple way of printing your program
- code, for (almost) ANY source language. For example, you may print your
- C program on the printer simply by saying ....
-
- CPRT MYPROG.C
-
- or perhaps just examine the neat output on the screen with ....
-
- CSHOW MYPROG.C
-
-
-
- The SIMSMART program itself should be placed in the C: directory
- of your boot-up disk. The accompanying ..keys and ..com files
- should be copied to the S: directory of that disk.
-
- The AmigaDos SHELL is the successor to the old CLI ( Command Line
- Interface ). Whenever you call a shell-window, the file S:SHELL-STARTUP
- is examined, in order to set up aliases, and so on.
-
- The file S:SHELL-STARTUP should be amended to include suitable
- aliases. These aliases will then be ready to use whenever you wish to
- print a C or C++ or Modula-2 or Pascal or Ada or PostScript or ... file.
-
-
-
- THE PRINTER ( IMPORTANT ! )
- ---------------------------
-
- Note that your printer should be capable of printing BOLD, ITALIC
- and UNDERLINE.
-
-
- Your WorkBench disk should be correctly configured to use your
- printer ...
-
- -- the correct printer driver should be in devs:printers/
-
- -- Preferences should be set correctly for your printer
-
- ( If you do not know how to do this, you should read the
- Amiga Manual and other Amiga literature ... ).
-
-
- =============================================================================
-
-
- -------------------
- 2 - USING SIMSMART
- -------------------
-
- GETTING STARTED
- ---------------
-
- 1) Call a Shell-Window.
-
-
- 2) Change to the directory containing the program file that you wish to
- print.
-
-
- 3) EXAMPLE: printing a C program file
-
- ( The defaults used here will print your program with EMBOLDENED
- RESERVED WORDS and ITALICIZED COMMENTS.
- We will consider how to modify these defaults a little later. )
-
-
-
- To examine myprog.c on the SCREEN ...
- CSHOW myprog.c
-
- To send myprog.c to the PRINTER ...
- CPRT myprog.c
-
- To save the neat output in the file NEATPROG.C ...
-
- CSHOW >NEATPROG.C myprog.c
-
-
- 4) ALIASES for OTHER LANGUAGES
-
- In a similar fashion .....
-
-
- C++PRT/C++SHOW are used for C++ files
-
-
- MODPRT/MODSHOW are used for Modula-2 files
-
-
- PASPRT/PASSHOW are used for Pascal files whose COMMENTS are delimited
- either by { and } or by (* and *)
-
-
- AMBPRT/AMBSHOW are used for AmigaBASIC files
-
-
- ASSEMPRT/ASSEMSHOW are used for 68000-Assembler files
-
-
- PSPRT/PSSHOW are used for PostScript files
-
-
- ADAPRT/ADASHOW are used for Ada files
-
-
-
- FILES NEEDED TO DESCRIBE A LANGUAGE
- -----------------------------------
-
- For SimSmart to be able to handle a particular language, TWO files
- must be present to describe the characteristics of the particular language.
- These two files are named as ..KEYS and ..COM files; they are usually
- placed in the S: directory of the boot-up disk. The SimSmart program itself
- should be in the C: directory of the boot-up disk.
-
- The ..KEYS file contains a list of the RESERVED WORDS for the
- language. The ..COM file describes the nature of COMMENTS in the
- language. The exact format of these files will be considered later.
-
- Each language has a distinct pair of such files. You CAN (if you
- wish) make a raw call to SimSmart with the specific command line options to
- be described later on. However, the most usual ( and simplest ) way
- of calling SimSmart for a particular language will be by means of an ALIAS
- that has been set up for that language. This can be effected by editing
- the file Shell-Startup (found in the S: directory).
-
- This release already contains files for eight languages. These
- aliases should appear in the S:shell-startup file ...
-
-
- alias cprt SimSmart >prt: -Ks:ckeys -Cs:ccom []
- alias cshow SimSmart -Ks:ckeys -Cs:ccom []
-
- alias c++prt SimSmart >prt: -Ks:c++keys -Cs:c++com []
- alias c++show SimSmart -Ks:c++keys -Cs:c++com []
-
- alias modprt SimSmart >prt: -Ks:modkeys -Cs:modcom []
- alias modshow SimSmart -Ks:modkeys -Cs:modcom []
-
- alias ambprt SimSmart >prt: -Ks:ambkeys -Cs:ambcom []
- alias ambshow SimSmart -Ks:ambkeys -Cs:ambcom []
-
- alias pasprt SimSmart >prt: -Ks:paskeys -Cs:pascom []
- alias passhow SimSmart -Ks:paskeys -Cs:pascom []
-
- alias psprt SimSmart >prt: -Ks:pskeys -Cs:pscom []
- alias psshow SimSmart -Ks:pskeys -Cs:pscom []
-
- alias assemprt SimSmart >prt: -Ks:assemkeys -Cs:assemcom []
- alias assemshow SimSmart -Ks:assemkeys -Cs:assemcom []
-
- alias adaprt SimSmart >prt: -Ks:adakeys -Cs:adacom []
- alias adashow SimSmart -Ks:adakeys -Cs:adacom []
-
-
- The defaults used here will print your program with EMBOLDENED
- Reserved Words and ITALICIZED Comments.
-
-
-
- ARGUMENTS USED when calling SimSmart
- ------------------------------------
-
-
- SIMSMART [ >prt: ] -K<keywordfile> -C<commentfile>
-
- [-tnn] [ -r[b][i][u] ] [ -q[s][d][b][i][u] ] <filename>
-
-
-
-
- (A) The ESSENTIAL Command-Line Arguments
-
- The minimum call is as follows ...
-
- SimSmart -K<keywordfile> -C<commentfile> <filename>
-
-
-
- <keywordfile> is the FULL PATH to the name of the keyword file.
-
-
- <commentfile> is the FULL PATH to the name of the comment file.
-
- This comment file contains three lines of text
- only -- these three lines describe the
- comment-start-string, the comment-end-string,
- and how comments are to be displayed
- ( viz BOLD | ITALIC | UNDERLINE ) .
-
-
- <filename> is the name of the file to be printed.
-
-
-
-
- (B) The OPTIONAL Command-Line Arguments
-
- -tnn set tabstops to nn spaces.
- The default setting is -t4.
- A setting of -t0 will switch off detabbing.
-
-
-
- -r[b][i][u] set the style of the RESERVED WORDS of this
- language ( viz those listed in <keywordfile> )
- The default is BOLD.
-
- For example, -rbui
- will display Reserved Words in BOLD and ITALIC
- and UNDERLINE.
-
-
- -r ALONE will switch off special treatment of
- Reserved Words.
-
-
-
- -q Anything enclosed in quotes (either single or
- double ) is NORMALLY NOT emboldened or italicized
- or underlined.
- The -q flag, however, gives you the choice of
- highlighting anything enclosed in quotes. This
- might be useful perhaps during debugging.
-
- For example ...
-
- -qsbu will highlight with BOLD UNDERLINE everything
- that is enclosed in SINGLE quotes
-
- -qdi will ITALICIZE everything that is enclosed
- in DOUBLE quotes
-
- -qbiu will highlight with BOLD ITALIC UNDERLINE
- everything in SINGLE and DOUBLE quotes
-
- -qsdbiu ... same as -qbiu
-
-
-
- >prt: Send output to the printer ( assuming that you have
- used Preferences to install the correct printer-
- driver for your particular printer -- see Amiga
- Manuals )
-
-
- =============================================================================
-
-
- -------------------
- 3 - FILE FORMATS
- -------------------
-
-
- 1) The Format of the ..KEYS files
- ----------------------------------
-
- These files are found in the S: directory. There is one for EACH
- LANGUAGE. The file contains a list of Reserved Words for that language,
- ONE PER LINE.
-
- If the language can accept either lower case or upper case Reserved
- Words, then each word must have TWO entries in the ..KEYS file ( one for
- each case ) ... see the file PASKEYS for an example.
-
- Each word should be on a SEPARATE line, with NO LEADING OR TRAILING
- WHITE SPACE.
-
-
-
- 2) The Format of the ..COM files
- ---------------------------------
-
- These files are found in the S: directory. There is one for EACH
- LANGUAGE. The file describes the nature of COMMENTS in that language.
-
-
- Most ..COM files consists of THREE LINES only.
-
- LINE 1 shows the COMMENT-START string
-
- LINE 2 shows the COMMENT-END string
- ( or the string "newline" if the comment extends only
- to the end-of-line in this particular language )
-
- LINE 3 shows any combination of b|i|u
- This line determines the APPEARANCE OF COMMENTS for the
- language.
-
-
- Examples
- --------
-
- The file CCOM consists of these three lines ...
-
- /*
- */
- i
-
- The file MODCOM consists of these three lines ...
-
- (*
- *)
- i
-
- The file ASSEMCOM consists of these three lines ...
-
- ;
- newline
- i
-
-
-
-
- HOWEVER -- some languages ( such as Pascal and C++ ) allow MORE THAN
- ONE COMMENT STYLE. For these languages the format of the ..COM file
- allows for this in the following way ...
-
-
- LINE 1 consists of ~~ followed by the NUMBER OF DISTINCT
- COMMENT STYLES N
- ( For both Pascal and C++, line 1 is ~~2 )
-
-
- N PAIRS OF LINES -- where each pair shows the COMMENT-START string
- and the COMMENT-END string, as previously.
-
-
- LAST LINE shows any combination of b|i|u
- This line determines the APPEARANCE OF COMMENTS for the
- language.
-
-
- Examples
- --------
-
- The file PASCOM consists of these six lines ...
-
- ~~2
- {
- }
- (*
- *)
- i
-
-
- The file C++COM consists of these six lines ...
-
- ~~2
- //
- newline
- /*
- */
- i
-
-
- =============================================================================
-
-
- ----------------------------------
- 4 - ALTERING THE DEFAULT SETTINGS
- ----------------------------------
-
-
- The default settings are for
-
- * ITALICIZED COMMENTS
-
- * EMBOLDENED RESERVED WORDS
-
-
-
- The two following examples show how to change the defaults for CPRT.
-
- You can do this by editing the files S:shell-startup and S:ccom
- with any ordinary text editor ( such as ED or STEVIE ).
-
- Obviously, you can change the defaults for ANY OTHER ALIAS in the same way.
-
-
-
- EXAMPLE 1 : to print C files with EMBOLDENED ITALICIZED Comments
- and EMBOLDENED UNDERLINED Reserved Words
-
- First edit the file s:ccom, and change the LAST LINE only,
- so that the file will now appear thus ...
-
- /*
- */
- bi
-
-
- Now edit the file s:shell-startup. Change the alias for CPRT
- so that it will now appear as follows ...
-
- alias cprt SimSmart >prt: -Ks:ckeys -Cs:ccom -rbu []
-
-
-
-
- EXAMPLE 2 : to print C files with EMBOLDENED UNDERLINED Comments
- and ITALICIZED Reserved Words, and with
- TWO spaces per tab
-
- First edit the file s:ccom, and change the LAST LINE only,
- so that the file will now appear thus ...
-
- /*
- */
- bu
-
-
- Now edit the file s:shell-startup. Change the alias for CPRT
- so that it will now appear as follows ...
-
- alias cprt SimSmart >prt: -Ks:ckeys -Cs:ccom -ri -t2 []
-
-
-
- =============================================================================
-
-
- ------------------------------------------
- 5 - EXTENDING SIMSMART FOR OTHER LANGUAGES
- ------------------------------------------
-
- The manner of setting up the correct ..KEYS and ..COM files
- should be obvious from the previous information.
-
- Then merely set up the required aliases in S:shell-startup.
-
-
- =============================================================================
-
-
- -------------
- 6 - SHAREWARE
- -------------
-
- This program is ShareWare.
-
- If you use it regularly and find it useful, please send a small
- contribution to the author at the address given below.
-
- =============================================================================
-
- Please send any reports, complaints, or manifestations of your munificence
- to ...
-
- David Simon
- Department of Computer Science
- University College of Swansea
- SWANSEA SA2 8PP
- United Kingdom
-
- Electronic Mail: csdavid@uk.ac.swan.pyr
-
- =============================================================================
-