// ------------------------------------------------------------------------- // File: readme.txt // Date: April 05. 1996. // Written by: Leif-Erik Larsen. Norway. // ------------------------------------------------------------------------- - - - - - - - - - - - - - - - - - - - S O U R C E M A P P E R ( S M ) - - - - - - - - - - - - - - - - - - - General information =================== This is the "read-me" file for the Source Mapper (SM) program. You should read this document before you start using SM. 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 produced map is espesially 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. Register your copy ================== SM is not freeware, but shareware. This means you should pay for it if you continue to use it after a trial period of 30 days. If you find the program useful please register it. The registration fee is only USD 20.- or NKR 120.-. After I have received your payment I will send you a registered copy of the latest version on a 3.5" diskette. So don't forget to give me your name and address. If you have e-mail access please let me know your e-address as well. How to pay ========== Check Send a personal check in the currency you like (covering the amount to be charged). Cash If you send cash, please use registered mail. Bank Transfer My bank is "Sparebanken NOR" in Norway. Account is 1612.2087763. (one-six-one-two-dot-two-zero-eight-seven-seven-six-three). Contacting the author ===================== You can contact me either by shipping a traditional mail letter (very slow) or by transmitting an electronic mail letter (fast - recommended :-). Leif-Erik Larsen Aasenvegen 32b 1400 Ski Norway E-mail: lelarse@ibm.net 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 was compiled by the following compilers. OS/2 : Borland C++ v.2.0 for OS/2. DOS : Borland C++ v.3.1 for DOS. WIN32 : Borland C++ v.4.02 for Windows. DOS386: GNU C-Compiler v.2.6.3 for DOS (using the go32-v2.exe DOS-extender). UNIX : GNU C-Compiler v.2.6.3 Known bugs and problems ======================= * The tree list of calling sequences may contain branches with dead ends. This is not really a bug, but a problem due to the algorithm used by SM to generate the tree. It will be fixed before the main release of SM. * The 'cse[]' (column separator) option doesn't work correctly. * SM can't yet handle long filenames (longer than DOS 8.3 filenames) correctly. This limitation will be fixed soon. In the meantime you should keep your source file names within the stupid limitation of DOS 8.3, even if you're using the great HPFS file system of OS/2 or any other modern file system that support long filenames. Hints and Tips ============== 1. Remember: SM isn't actually a compiler. It's just a stupid parser that has the ability to reqognice most C style code. Therefore, try to write your code as structured as possible, containing as few odd statements as possible. This is true if you use much preprocessor code, which SM hasn't the ability to reqognice as good as it reqognices the true C code. 2. If you get some strange error messages (or map output) during the generation of a source map: Try to delete all SM-object files (.smo-files) of your project and make the map again. Optionally you can turn the 'dto[+]' option on (auto delete .smg-files after use) to make sure that SM will always use fresh .smg-files. 3. If you get some strange (or maybe even buggy) output from SM, then please take a close look at the source code of where the error seems to occour. SM has some problems on parse some rare types of syntax. (See paragraph #1.) Things to add or fix ==================== * All language dependent information (except text strings) should be user configurable. This is true for key words of the C language, graphical characters of lines, etc. * Support for redirected input/output (stdin/stdout). * Safe support for long filenames (OS/2, UNIX, etc.) * Added security when creating files. Eventually asking user if it's ok to write over an already existing file. This is true in case the file is of a type other than the type that SM is about to create. * Adjustable default extention of sources and maps (+ other files). * All error messages should be written to stderr rather than stdout by default. * Option: Automatic convert from tabulator characters to spaces (in sources). * Option: Include/exclude external functions to/from list of calling sequences. * A GUI-shell of where the user can adjust the project and its settings simply by drag/drop and click using the mouse. Warranty ======== Use of this software for any purpose whatsoever constitutes your unqualified acceptance of the following statements. The author makes no warranty or representation that the software will be error free. The author disclaims any warranties, either express or implied, including but not limited to any implied warranty of merchantability or fitness for any particular purpose. The user agrees to take full responsibility for the selection of and any use whatsoever made of the software. IN NO EVENT WILL THE AUTHOR BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION OR THE LIKE) ARISING OUT OF THE USE OF, INTERRUPTION IN THE USE OF, OR INABILITY TO USE THIS SOFTWARE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF ANY POSSIBILITY OR LIKELIHOOD OF SUCH DAMAGES.