[2397] in comp.os.os2.announce archive

home help back first fref pref prev next nref lref last post

FreeWare: New version of Source Mapper! (development tool)

daemon@ATHENA.MIT.EDU (Leif-Erik Larsen)
Sun Jan 26 20:57:50 1997

To: os2ann.DISCUSS@bloom-picayune.MIT.EDU
Date: 26 Jan 1997 22:53:39 GMT
From: leilarse@sn.no (Leif-Erik Larsen)
Reply-To: leilarse@sn.no (Leif-Erik Larsen)

Reply-to:     leilarse@sn.no (Leif-Erik Larsen)
---------------------------------------------------------------------
A new version of Source Mapper for OS/2 and DOS is available
for download from "http://home.sn.no/~leilarse/"
now as FREEWARE :-)

S O U R C E   M A P P E R   ( S M )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is FREEWARE!
~~~~~~~~~~~~~~~~~
Source Mapper has now turned to be freeware! There are several reasons for
this. The first I would like to mention is the fact that no one has registered
it! So you people hopefully get what you wants, - FREEWARE! The other reason
is that I've bought IBM Visual Age C++ v.3.0 for OS/2. And guess what! - I am
really impressed about this product. It has built in support for most of the
things that Source Mapper can do, plus a lot more...

What is Source Mapper (SM) ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
With SM you can make a useful (human readable) map of your C-style source
codes. You can generate a map of a single sourcefile, or you can have SM
generate a map of a huge project that consists of many source files.

The map is especially useful when you need to document the source(s) of your
project. I've also found it helpful when digging into sources written by
others.

The produced map is divided into sections. The main sections are:

* Total information and statistics.
  This includes some statistical information about all the sources of your
  project. How many lines are empty? How many lines are real code? How many
  functions and comments are there? Etc. You will also find a sorted list of
  all source files in the map, with easy-to-find line number references of
  where each of the sources begin listening in the map. Each line in the map
  will have two types of line numbering. Local (offset line number within the
  given module) and global. Local line numbers are referenced with "L-nnn"
  while global line numbers are referenced with "G-nnn".

* Function register.
  Sorted list of all functions in your project. Each function in the register
  will show you both the local and the global line number to let you find the
  source of the functions quickly.

* List of function calls.
  With information about by which function each of the functions in your
  project is called. This section is not implemented to the map by default. If
  you want it you must manually enable it using the ilf[+] option.

* Identifier list.
  With information about which identifier is used where, and by which
  function. This section is not implemented to the map by default. If you want
  it you must manually enable it using the iil[+] option.

* List of calling sequences.
  This is a hierarchical view of how all your functions are called. All top
  level functions are listed within separate trees. By default this section is
  generated as a compact list, but you may let SM generate it as a flow chart
  if you like. To do this you must use the csf[2] option.

* Source lines map.
  This section lists the source code of the modules in your project. For each
  function you will se a list of which function(s) calling it. You will also
  se every comment lines clearly marked, as well as a smart block indentation
  level marking. Each line will be listed with its global line number
  reference, as well as its local.

All this will (by default) be included within C-style comments. This let you
actually compile the map as one-single-huge module.

In addition you have access to a number of other functions in Source Mapper:

* Automatically add a page-break-character above each function/module/section.
  You can also put a string (e.g. "/*{Pagebreak}*/") at different locations in
  your sources of which SM will automatically replace with a new-page-char in
  the map. For more information, see the options NPs[] and NPS[]
  (New-Page-String).

* Optional sorting methods.

* Optional level of display output during map generation (see option dis[n]).

* Make/Build/Link options to let you control if SM will delete .smo-files or
  not. If you choose not to delete them, then the generation time may be
  dramatically reduced the next time you generate a map of the same project.
  If one of the source modules has changed, then SM will automatically rebuild
  the corresponding .smo-file.

To get help about which functions are available, just type "sm.exe hlp[]" at
the command prompt, and you are on the road...

Contacting the author
~~~~~~~~~~~~~~~~~~~~~
Leif-Erik Larsen
Aasenvegen 32b
1400 Ski
Norway

E-mail: leilarse@sn.no
WWW:    http://home.sn.no/~leilarse/

Feel free to give me any suggestions or comments. I will be happy to hear what
you think about SM, either you like it or not.

Technical information
~~~~~~~~~~~~~~~~~~~~~
SM has been successfully compiled by the following compilers.

OS/2  : IBM Visual Age C++ v.3.0, and Borland C++ v.2.0 for OS/2.
DOS   : Borland C++ v.3.1 for DOS.
WIN32 : Borland C++ v.4.52 for Windows.
DOS386: GNU C-Compiler v.2.6.3 for DOS (DJGPP).
UNIX  : GNU C-Compiler v.2.6.3
=====================================================================
| c.o.o.announce submissions: POST [or email comp-os-os2-announce@uunet.uu.net]
| Please address other correspondence to lfirrantello@bix.com .
| Please see: http://www.bix.com/pub/os2ann/pindex.htm for posting guidelines

home help back first fref pref prev next nref lref last post