pad2ps 3.1  1996-11-02  by S. Yoshida (seiichi@muraoka.info.waseda.ac.jp)


0. Contents

	1. General information about pad2ps
	2. Compile and install
	3. Notice
	4. To Do
	5. Special Thanks
	6. Copyright


1. General information

   Pad2ps, pad2tex, and pad2eps are tools to convert a PAD source written as
   a text file to PostScript, LaTeX, and Encapsulated PostScript(EPS) file.

   PAD, which stands for Problem Analysis Diagram, is a way to 
   illustrate the flow or structure of programs.  PAD is similar to
   flowchart, but they are not quite the same.  The flowchart is good
   for charting programs written in languages like BASIC, a language 
   with GOTO statement.  To chart structured programs, like ones written 
   in C, however, PAD is much handy than flowchart.

   To draw PAD figures using this pad2ps, you first create PADEL (PAD
   Expression Language) file by using editor.  Because the PADEL is 
   very similar to C in syntax, most people has no trouble writting 
   PADEL. 

   Pad2ps can even translate the original programs sources 
   directly into PAD figure.  The current version can translate C, C++,
   Bourne shell, C shell, Jave, and AWK program sources to PAD figures.

   This pad2ps will be useful for those peoples who want to analyze
   structure of someone's programs, who are in trouble of finding
   mistakes, and who want to make your report better.

   To get more information about syntax of PADEL or how to use
   pad2ps, please read the PAD manual (manual.ps).


2. Compile and install

   For information on how to compile pad2ps, please refer to INSTALL.   


3. Notice

   There are a few known bugs in the current version of pad2ps

     - The execute files and modules will not work properly if you 
       "gzexe" them.

     - In case of abnormal termination (eg terminated by Segmentation
       Fault or by C-c), the program may fail to delete garbages
       (temporary files) in /tmp.

     - pad2tex does not support string folding, so a long string and a 
       deep nesting may result in unbalanced output.  
       (the figures may stick out to right side) 


4. To do

   Supporting other languages is our biggest problem now.  It has
   two meanings:

     - Enable to translate Tcl/Tk, fortran, and other languages directly
       to PAD
       (In the next release Tcl/Tk, Pascal, Fortran, and Perl will be 
        supported)

     - Enable to write PADEL in syntax similar to languages other than C
       (The current PADEL's syntax is similar to that of C
        language. So when you are making a C program, it is ease to
        write the overview in PADEL at first. But making a program in
        other languages, you have to make a PADEL at first and convert 
        it after, or you have to make a program in the syntax of the
        language you use without making PADEL overview. But this will
        not be implemented in near future.)

    In near future, "pad2java", a module that outputs a Java program
    which draws the PAD, will be added.  By using this program, you
    can put your PAD figures in your homepage.

    There is also a plan to support flowchart.  This means, we are to 
    create FLOWEL, a language to experss flowchart.  You will create
    the text file under this FLOWEL syntax and named it .flow, and convert this
    file into PADEL by flow2pad.  Finally, you will get PAD figures with
    pad2ps.
    The problem here is we also need a tool that would draw real flowchart
    from .flow file.  The project is in progress, so stay tuned for a while.


    Seveal other plans exist, but all of these will not be implemented 
    for a while:

      - Expanding macros in C program (unlike cpp, expand only ones that
        are defined in that file and keep its readability)

      - Adjusting strings which spread over two pages

      - Enabling to draw PAD with color

      - Enabling to customize shapes of PAD figures


    For the latest infomation on pad2ps, please check my homepage.
    You can also get the latest version and the alpha version of the
    next release from my homepage.  The WWW address is:

        http://www.info.waseda.ac.jp/muraoka/members/
                seiichi/project/pad2ps.html


5. Special Thanks

    - Mr. Jun'ya Kato (kato@goto.info.waseda.ac.jp)

        For telling me the way to handle Japanese and making the program
        to handle options with libarg, and for cooperating fully in 
        making the very first version of pad2ps.

    - Mr. Tony Valsamidis (tony@cs.city.ac.uk)

        For revising for FreeBSD.

    - Mr. Yuji Hatakeyama (hatakeya@otsl.oki.co.jp)

        For enabling to select pages in 'Ghostview' and fixing
        the bug (PAD disappeared with psnup).

    - Mr. Yusuke Kato (you@lakshmi.tdc.unisys.co.jp)

        For handling ^L and fixing bugs (dealing with comments with "/*")

    - Mr. Takashi Osoegawa (osoegawa@cae.daikin.co.jp)

        For enlighted me with various ideas and opinions about
        pad2ps.  And for cooperating in debugging pad2ps test version.

    - Mr. Satoru Tsukada (tsukada@tcd.hitachi.co.jp)

        For fixing the bug (the font size is queer with psnup).

    - Mr. Daisuke Fujii (fujii@rins.ryukoku.ac.jp)

        For suggesting about PAD syntax, and for making a
        prototype of a script to support csh and awk.
        He is a person who sets the name PADEL.

    - Mr. Satoshi Kuramochi (satoshi@ueda.info.waseda.ac.jp)

        For offering the style file 'pad.sty' to draw PAD in
        LaTeX.  And for giving me ideas and opinions about pad2tex
        and the debugging of pad2tex from the very first step.

    - Mr. Kousuke Fukaya (kousuke.fukaya@brother.co.jp)

        For fixing the bug (one #undef undefines all the defined
        symbols).

    - Mr. Tomoyuki Inoue (inouet@strl.nhk.or.jp)

        For enabling to compile with yacc and lex.

    - Mr. Andrew C.R. Martin (martin@biochem.ucl.ac.uk)

        For pointing out that the function name link() and dup()
        are "double booked" with unistd.h 

    - Mr. Koji Mikawa (mika@njk.co.jp)
      
        For testing pad2ps-3.03j from the very first phase, for
        reporting various bugs, and for giving me many suggestions

    - Mr. Makoto Iguchi (iguchi@goto.info.waseda.ac.jp)

        For translating pad2ps-3.1j to pad2ps-3.1 (English version)

    - Mr. Ryuhei Funatu (QWJ11454@niftyserve.or.jp)

        For spotting the bug that when c2pad is processing if statement
        and find the comment while searching for else statement, the 
        comment is included in if-block.


    And I really thank those who cooperated debugging and sent me ideas, 
    opinions and reports of bugs.


6. Copyright

    Seiichi Yoshida (g3p120@cfi.waseda.ac.jp) has a copyright of this
    software. But this is a free software and you can use and distribute
    this freely. I am glad if you send me a mail when you contribute it
    to a network society or introduce it in a book.

    Mr. Satoshi Kuramochi (satoshi@ueda.info.waseda.ac.jp) has a copy-
    right of the style file pad.sty to draw PAD in LaTeX.

    The configure script is first created by GNU autoconf and is revised
    a little by me.  The install-sh is created by FSF.

    TeX is a trademark of American Mathematical Society.
    PostScript is a registered trademark of Adobe Systems Incorporated.


--
Seiichi Yoshida
Muraoka Lab., Waseda University, Japan
AstroArts Inc.
seiichi@muraoka.info.waseda.ac.jp
http://www.info.waseda.ac.jp/muraoka/members/seiichi/index.html
