# Introduction

The Source-NavigatorTM source code comprehension tool helps you to analyze, reuse, and develop software in C/C++, Java, Tcl, `[incr Tcl]`, FORTRAN, Cobol, and PowerPC 601 assembly language.

Source-Navigator is based on two software components: a database engine and a graphical user interface for representing information about software projects which are held in the database. Source-Navigator has been designed to permit third parties to customize and extend Source-Navigator into specific problem domains.

## Software Development Kit

With the Software Development Kit (SDK), you can:

- modify the graphical user interface (see Customization).
- write new parsers that allow Source-Navigator to support additional programing languages (see Adding Parsers).
- query the database for specific information (see Database API).
- use other applications in conjunction with Source-Navigator (see Interapplication Communication).

The graphical user interface is based on Tcl and Tk (v. 8.1). If you are not familiar with the Tcl programming language, please refer to a reference text such as Practical Programming in Tcl and Tk1 and Tcl and the Tk Toolkit2.

## About this Guide

This guide serves as a reference to allow the programmer to customize and extend the functionality of Source-Navigator.

### Document Conventions

Source-Navigator's documentation uses the following general conventions:

Italic Font | Indicates a new term that will be defined in the text and items called out for special emphasis.
Bold Font | Represents menus, window names, and tool buttons.
`Plain Typewriter Font` | Denotes code fragments, contents of files, and command names; also indicates directory, file, and project names where they appear in body text.
`Italic Typewriter Font` | Represents a variable for which an actual value should be substituted.
`Bold Typewriter Font` | Indicates command lines, options, and text output generated by Source-Navigator.

Menu names and their submenus are separated by an arrow (->). For example, File -> Open means select the File menu and choose Open from its submenu.

Paths are written in UNIX notation (forward slashes) throughout; `.../bin` means the directory Source-Navigator is installed into, subdirectory `bin`.

1. Welch, Brent B. 1997. Practical Programming in Tcl and Tk. 2nd ed. ISBN 0-13-616830-2.

2. Ousterhout, John K. 1994. Tcl and the Tk Toolkit. ISBN 0-201-63337-X.