With Combined Language Analysis, Understand can
handle code bases written in multiple languages, such as C++ and
Java, or Ada combined with FORTRAN.
Most large projects involve more than one programming language.
For instance, new Java code will depend on an existing C++
library. Some of our customers projects involve three or four
languages. For instance, Ada calling C, which calls Java, and
then the Ada calls FORTRAN for Math functions.
Understand's Combined Language Analysis feature
follows jumps between languages so that you can get consolidated
information about the complete system.
Combined code only needs to be parsed one time, instead of
parsing for each language present in the source. Moreover, once
parsing is done, Understand shows the dependence
between parts of the code written in different languages.
For an example of this, see the ZLib project that we ship as an
example project (Help -> Example Projects). It has C, C++, C#,
Assembly, Ada, Delphi, and Pascal.
Understand generates a wide variety of
reports. The reports available in your project may vary
based off of the project language, but the reports fall
into these categories:
- Cross-Reference reports show information
similar to that in the Info Browser, except that all
entities are shown together in alphabetic order.
- Structure reports show the structure of
the analyzed program.
- Quality reports show areas where code
might need to be examined.
- Metrics reports show basic metrics such
as the number of lines of code and comments.
Cross-Reference reports show information similar to
that in the References section of the Info Browser,
except that all entities are shown together in
alphabetic order.
- Data Dictionary Report - The Data
Dictionary Report lists all entities alphabetically.
Each listing shows the entity name, what kind of
entity it is (for example, macro, type, variable,
function, include, file, or procedure), along with
links to the location where each is declared in the
source code.
- Program Unit Cross-Reference Report - The
Program Unit Cross-Reference Report lists all
program units (such as procedures and functions)
analyzed in alphabetic order along with information
about what they return (if anything), what
parameters are used, and where they are used by
other program units. The HTML version offers
hyperlinks to the Data Dictionary report entry and
to the source code where each reference occurs.
- File Contents Report - Lists functions
declared within a source file and the line numbers
where they are declared. HTML versions of this
report permit hyperlinked jumping to the function in
the source as well as viewing of the entire source
file.
- Object Cross-Reference Report - Lists
functions declared within a source file and the line
numbers where they are declared. HTML versions of
this report permit hyperlinked jumping to the
function in the source as well as viewing of the
entire source file. Lists functions declared within
a source file and the line numbers where they are
declared. The HTML versions of this report permit
hyperlinked jumping to the function in the source as
well as viewing of the entire source file.
- Type Cross-Reference Report - The Type
Cross-Reference Report lists all declared types in
alphabetic order, along with their declaration and
usage information. The HTML version of the report
offers hyperlinks to the Types data dictionary
report entry, as well as the source code where the
reference occurs.
- Class and Interface Cross-Reference - The
Class and Interface Cross-Reference Report lists all
declared classes and interfaces in alphabetic order,
along with their declaration and usage information.
The HTML version of the report includes hyperlinks
to the data dictionary report entries, as well as
the source code where the reference occurs.
- Macro Cross-Reference - The Macro
Cross-Reference Report lists all macros analyzed in
the source code in alphabetic order along with
information about where they are declared and where
they are used. The HTML version offers hyperlinks to
the macros Data Dictionary report entry and to the
source code where each reference occurs.
- Include File Cross-Reference - The
Include File Cross-Reference Report lists all
include files analyzed in the source code in
alphabetic order with information about which files
include them. The HTML version offers hyperlinks to
the source code where each reference occurs.
- Exception Cross-Reference Report - The
Include File Cross-Reference Report lists all
include files analyzed in the source code in
alphabetic order with information about which files
include them. The HTML version offers hyperlinks to
the source code where each reference occurs.