






    SPREMB: A system for investigating graph algorithms.



     The SPREMB system is a set of research tools which have
been  developed  for  the investigation of graph algorithms.
The toolbox consists of several  different  kinds  of  tools
which  are linked together to produce a desired result.  The
method employed by the SPREMB system - that of using  simple
programs  and  linking them together end to end to produce a
more complex result - is similar to  the  philosophy  behind
the UNIX operating system.


_S_i_z_e _o_f _t_h_i_s _D_i_s_t_r_i_b_u_t_i_o_n

     This distribution of the SPREMB system  consumes  1.2Mb
of  disk  space  in  its source form and approximately 7.5Mb
when all the sources are compiled.


_W_h_a_t'_s _i_n _t_h_e _D_i_s_t_r_i_b_u_t_i_o_n?

     This distribution has the  following  directory  struc-
ture:

spremb

       Makefile  Make(1) commands for compiling  the  system
                 (see  _C_o_m_p_i_l_i_n_g _t_h_e _S_P_R_E_M_B _s_y_s_t_e_m )

       READ_ME   The document you are currently reading.

       READ_ME.troff
                 nroff/troff source to READ_ME.

       source    Source code for the distribution.

                 Makefile    Make(1) commands for  compiling
                             the distribution.

                 editor      Source code for the Graph  Edi-
                             tor  written  in  C.  There are
                             two versions one for the X Win-
                             dow  System  and  the other for
                             SunView.

                             xwindows
                                  Source code for the x win-
                                  dows version of ``ged''.

                             sunview
                                  Source   code   for    the



                       March 16, 1990





                           - 2 -


                                  SunView     version     of
                                  ``ged''.

                 filter      Source  code  for  all  of  the
                             filter programs.

                 drawer      Source  code  for  all  of  the
                             drawer programs.

                 generator   Source code for all of the gen-
                             erator programs.

                 tester      Source code for all of the tes-
                             ter programs.

                 special     Source code for all of the spe-
                             cial  tools  which don't really
                             fit  into  any  of  the   other
                             categories.

                 h           C Header files used for compil-
                             ing the tools.

                 include     Pascal Header  files  used  for
                             compiling the tools.

                 subroutines Source code for  a  library  of
                             routines used by the C code.

                 old         This holds old versions of some
                             of the SPREMB tools.

                 work        Code    for    filters    under
                             development/alterations but not
                             yet complete.

       doc       LaTeX documentation source files.

                 Makefile    Make(1) commands for processing
                             the documentation.

                 dvipr       Shell script for  printing  out
                             LaTeX  DVI files.  Replace this
                             with a site-specific script  if
                             required.

                 editor      LaTeX  source  files  for   the
                             Graph Editor manual.

                 toolbox     LaTeX source files for a  short
                             description  of  each tool sup-
                             plied.

                 robust      LaTeX source files for a report



                       March 16, 1990





                           - 3 -


                             on the robustness of the origi-
                             nal SPREMB system.

                 styles      LaTeX  style  sheets  used   in
                             these LaTeX documents.

                 progress    LaTeX source files for  a  pro-
                             gress report on the updating of
                             the original SPREMB system.

                 uniform     LaTeX source files for  a  pro-
                             posed  parameter  passing stan-
                             dard for SPREMB filters.

       product   All the compiled programs within the SPREMB
                 distribution are placed here.

       sample    Sample CGOs (see the documentation for more
                 information about CGOs)


_C_o_m_p_i_l_i_n_g _t_h_e _S_P_R_E_M_B _s_y_s_t_e_m

     The SPREMB system may be compiled using  the  following
commands:


 make           Compiles all the source code and  moves  the
                resultant   executable   commands  into  the
                directory  spremb/product  .   In  addition,
                the  documentation is processed, but is  _n_o_t
                printed.


 make doc       Processes but does not print the  documenta-
                tion only.


 make docprint  Processes and prints the documentation only.


 make print     Prints the entire source code of the distri-
                bution.


 make clean     Removes all the object (.o)  files  and  any
                LaTeX temporary files (.log, .plg)


 make clobber   Removes all the object (.o)  files,  execut-
                able  files  and  all  LaTeX temporary files
                (.aux, .dvi, .log, .plg).





                       March 16, 1990





                           - 4 -


_P_r_i_n_t_i_n_g _i_n_d_i_v_i_d_u_a_l _d_o_c_u_m_e_n_t_s

     Individual documents can be printed without  having  to
print ALL the documentation.  This can be accomplished by:

     Go down to  the  directory  which  contains  the  LaTeX
     source  files  for the document that you wish to print.
     Execute ``make print'' and only that document should be
     printed.


_C_o_m_p_i_l_i_n_g _i_n_d_i_v_i_d_u_a_l _g_e_n_e_r_a_t_o_r_s

     Each of the  generators  may  be  compiled  separately,
although  they  are split into two directories, it is simple
to compile a specific generator.

     Go down to the  ``spremb/source/generator''  directory.
     Execute  ``make  <generator  name>''  and the requested
     filter will be compiled and its executable file will be
     moved to ``spremb/product''.


_C_o_m_p_i_l_i_n_g _i_n_d_i_v_i_d_u_a_l _t_e_s_t_e_r_s

     Each  of  the  testers  may  be  compiled   separately,
although  they  are split into two directories, it is simple
to compile a specific tester.

     Go  down  to  the  ``spremb/source/tester''  directory.
     Execute ``make <tester name>'' and the requested tester
     will be compiled and its executable file will be  moved
     to ``spremb/product''.


_C_o_m_p_i_l_i_n_g _i_n_d_i_v_i_d_u_a_l _d_r_a_w_e_r_s

     Each  of  the  drawers  may  be  compiled   separately,
although  they  are split into two directories, it is simple
to compile a specific drawer.

     Go  down  to  the  ``spremb/source/drawer''  directory.
     Execute ``make <drawer name>'' and the requested drawer
     will be compiled and its executable file will be  moved
     to ``spremb/product''.


_C_o_m_p_i_l_i_n_g _i_n_d_i_v_i_d_u_a_l _f_i_l_t_e_r_s

     Each  of  the  filters  may  be  compiled   separately,
although  they  are split into two directories, it is simple
to compile a specific filter.

     Go  down  to  the  ``spremb/source/filter''  directory.



                       March 16, 1990





                           - 5 -


     Execute ``make <filter name>'' and the requested filter
     will be compiled and its executable file will be  moved
     to ``spremb/product''.


_C_o_m_p_i_l_i_n_g _i_n_d_i_v_i_d_u_a_l _t_r_a_n_s_l_a_t_o_r_s

     Each of the translators  may  be  compiled  separately,
although  they  are split into two directories, it is simple
to compile a specific translator.

     Go down to the ``spremb/source/translator''  directory.
     Execute  ``make  <translator  name>'' and the requested
     translator will be compiled  and  its  executable  file
     will be moved to ``spremb/product''.


_C_o_m_p_i_l_i_n_g _t_h_e _e_d_i_t_o_r _s_e_p_a_r_a_t_e_l_y

     To compile only the editor:

     Go  down  to  the  ``spremb/source/editor''  directory.
     Execute ``make'' and both the xwindows and sunview ver-
     sions of the editor will be compiled and their  execut-
     able  files  will  be  moved to ``spremb/product''.  If
     only the  xwindows  version  is  required,  go  to  the
     ``spremb/source/editor/xwindows''   directory  and  run
     ``make''.  Likewise, if only  the  sunview  version  is
     required,  go  to  the ``spremb/source/editor/sunview''
     directory and execute ``make''.


_A_u_t_h_o_r_s

Editor

     Ian Fogg
          Computer Science Department, University of Queens-
          land.  (Original version)

     Jeremy Gates
          Computer Science Department, University of Queens-
          land.  (Modifications)

     Tony Gedge
          Computer Science Department, University of Queens-
          land.  (Port to X Windows)

Toolbox

     Luke Wildman
          Computer Science Department, University of Queens-
          land.  (Original versions)




                       March 16, 1990





                           - 6 -


     Eoin Hayden
          Computer Science Department, University of Queens-
          land.  (Original versions)

     Tony Gedge
          Computer Science Department, University of Queens-
          land.  (Modified parameter passing behavior)

Documentation

     Luke Wildman
          Computer Science Department, University of Queens-
          land.  (Original versions)

     Eoin Hayden
          Computer Science Department, University of Queens-
          land.  (Original versions)

     Tony Gedge
          Computer Science Department, University of Queens-
          land.  (Extended documentation, rewrote makefiles)




































                       March 16, 1990


