1 Terms =TITLE Terms =TITLE Glossary of Source Code Analyzer Terms Source Code Analyzer for OpenVMS has terms specific to its own use. For more information, double click on any of the terms in Additional topics. 2 ANA =TITLE ANA =TITLE .ANA files An output file of analysis data generated by the compiler. These files are loaded into an SCA library, which is the database for SCA cross-reference and static analysis features. They may contain one or more modules of analysis data. 2 Anadat =TITLE Anadat =TITLE Analysis data Information generated by supporting compilers about all symbols, files, and modules contained in the source. 2 Anadatmod =TITLE Anadatmod =TITLE Analysis data module A module containing all the information used by SCA for one compilation unit. 2 Arc =TITLE Arc =TITLE Arc The graphical representation of the relationships between symbols. Arcs are arrows pointing to and from nodes in a call graph, class browser result or type tree. 2 Assdec =TITLE Assdec =TITLE Associated declaration Any declaration that is not a primary declaration. Typically, associated declarations provide information needed by the compiler to refer to an object. You can cross-reference query associated declarations by selecting Associated for the Usage query attribute. See also Primary declaration. 2 Callg =TITLE Callg =TITLE Call graph Call graphs show the procedures and functions called from a subroutine and all subsequent calls. 2 Callg =TITLE Callg =TITLE Call graph query A request that SCA show the structure of subroutine call relationships in the source. The result is a call graph. 2 Classb =TITLE Classb =TITLE Class browser The class browser shows the relationships between classes in graphical form. 2 Classbq =TITLE Classbq =TITLE Class browser query A request that SCA show the relationships between classes. 2 Compunit =TITLE Compunit =TITLE Compilation unit The smallest piece of source code that can be separately compiled. (For example, in FORTRAN, a subroutine or function; in C, a single file.) Some languages allow you compile one or more compilation units at a time. SCA considers the units to be separate.) 2 Crefq =TITLE Crefq =TITLE Cross-reference query A request that SCA find occurrences of a symbol(s) and then reference its location in the source. 2 CurrLib =TITLE CurrLib =TITLE Current Library The currently selected library in the library list. Any operation that defaults to the current library (for example, LOAD, RECOVER) uses this library. 2 CurrQ =TITLE CurrQ =TITLE Current Query The currently selected query. 2 Dsq =TITLE Dsq =TITLE Data structure query A request that SCA show the structure of data types in the source. 2 Declaration =TITLE Declaration =TITLE Declaration That part of the code that tells the compiler about an object before the compiler uses it. A declaration causes the compiler to create the object or tells it where to look for the object. A declaration has a position in the source code with both a start and an end, and can contain other declarations or references. It can be either a primary or associated declaration. You can cross-reference query declarations of a symbol by selecting Declaration for the Usage query attribute. 2 Lexicaltree =TITLE Lexicaltree =TITLE Lexical tree A call graph, class browser result or type tree showing the query results in lexical order; all possible nodes and arcs are visible in the result. 2 Library =TITLE Library =TITLE Library A general term usually referring to a physical library. 2 Liblist =TITLE Liblist =TITLE Library list A list of one or more physical SCA libraries that compose a virtual library that SCA uses when you perform queries. The position of libraries in the library list is important. A module found in a library higher in the library list hides a module with the same name is a library lower in the list. See also SCA Library. 2 Module =TITLE Module =TITLE Module A collection of data in a .ANA file, representing a single compilation unit. Modules with the same name can span several SCA libraries. You can cross-reference query a symbol of type module by selecting Module for the Type query attribute. You can also specify that SCA query in a particular module by entering a module name for the In Module query attribute. 2 Name =TITLE Name =TITLE Name A string of characters used to identify symbols in your source code. Legal characters are defined by whatever language you use. You can cross-reference query a symbol by name by specifying the name of a symbol for the Name query attribure. You can also use SCA to browse for a list of names matching a wildcard expression. 2 NameBrowser =TITLE NameBrowser =TITLE Name Browser An SCA facility that finds all symbols matching a wildcard string. 2 Node =TITLE Node =TITLE Node The graphical representation of a symbol in a call graph, class browser result or a type tree. For example, a routine is node in a call graph; depicted by a circle along with the name of the routine. See also arc. 2 Occurr =TITLE Occurr =TITLE Occurrence A single declaration of a symbol as it is used in the source code. An occurrence can be any language construct, such as a variable, a routine, or a constant. SCA determines which occurrences belong to a particular symbol based on the rules of the language in use. It does not matter whether all occurrences are in the same module or spread over several modules. All occurrences still belong to the same symbol. 2 Primdec =TITLE Primdec =TITLE Primary declaration Any declaration that affects how a particular object, such as a routine or a variable, is implemented. You can cross-reference query primary declarations by selecting Primary for the Usage query attribute. See also Associated declaration. 2 Query =TITLE Query =TITLE Query A question you construct to ask SCA to analyze your source and display the answer. You specify different types of queries to obtain different information about your source. You can perform any of the following queries: cross-reference queries, call graph queries, class browser queries and data structure queries. 2 QList =TITLE QList =TITLE Query List A list in which SCA records each newly-created query. Modifcations to the current query are not shown in this list unless you tell SCA to create a new query from the modifications. 2 QResult =TITLE QResult =TITLE Query Result The information SCA displays after it evaluates a query. It consists of a set of occurrences and the relationships between the occurrences. 2 Relationship =TITLE Relationship =TITLE Relationship How an occurrence of a symbol relates to other occurrences. A call graph query graphically depicts this hierarchy. 2 SCALib =TITLE SCALib =TITLE SCA Library A collection of source information generated by supporting compilers in the form of .ANA files. When you create an SCA Library, you specify a single directory to contain the database of .ANA files. SCA libraries are available for use once they are added to the library list. See also Library list. 2 Source =TITLE Source =TITLE Source The source code from which analysis data is extracted by the compiler for analysis by SCA. 2 Statanal =TITLE Statanal =TITLE Static analysis The analysis of a software system performed by looking at the source code. This contrasts dynamic analysis, which analyzes software during execution. Call graphs class browser results and type trees are generated from static analysis. 2 Symbol =TITLE Symbol =TITLE Symbol A single object in a program, such as a variable, a file, or a module. 2 SymDom =TITLE SymDom =TITLE Symbol Domain The range of source code in which a symbol has the potenital to be used. You can cross-reference query by symbol domain selecting a domain type for the Domain query attribute. 2 Symname =TITLE Symname =TITLE Symbol name The exact name of the symbol as it is used in the source code. 2 TypeTree =TITLE TypeTree =TITLE Type Tree The result of a data structure query. A type tree graphically shows the structure of data types used in your code. For example, the declaration of a record consists of a record and some record components. Each record has a type, which may be another record, a pointer to the same record, a basic data type such as an integer, and so on. A type tree shows the relationships of the record to its components and the components to their types. 2 Wildcards =TITLE Wildcards =TITLE Wildcards Wildcard characters are used by SCA to match more than one name at a time. SCA uses the asterisk (*) to represent any number of characters.