% Librarian A09-30aW@$Qf89$$$,&&$5Q|0 About_SCA/VANALYZE2HCANCEL_LIBRARY&`&Commands_for_Tailoring_the_EnvironmentCommand_Definitions2CREATE_LIBRARY5pDECW_Command_Categories1HDECW_Command_Line_InterfaceDECW_DECwindows_InterfaceDECW_Help_Menu DECW_Menus:^DECW_On_Window_Ds;DECW_On_Window_FCS>DECW_On_Window_FsADECW_On_Window_GraphreshDECW_On_Window_PSFlDECW_On_Window_ResultBDECW_Popup_Menus DECW_Pulldown_MenusTerms%*Versionm!DECW_Using_SCA_Help4zDELETE_ASSOCIATED_MODULE4DELETE_LIBRARY5( DELETE_MODULE6DELETE_PRIMARY_MODULE7 DELETE_QUERY7 EXIT7^EXTRACT_ASSOCIATED_MODULE8EXTRACT_MODULE9EXTRACT_PRIMARY_MODULE;TFIND=. GOTO_QUERY=HELP Help_Commands>IMPORT>INSERT_LIBRARY_AFTER?TINSERT_LIBRARY_BEFOREY_FIRST@INSERT_LIBRARY_LASTA0INSPECTBLOADG Release_NotesH SCA_Topics'Terms%*VersionDECW_On_Window_GraphresDECW_Pulldown_MenusINSERT_LIBRARY_BEFOREREPORTsca_callres_file_extrsca__callres_view_horizsca__cust_view_vert sca__ds_type_of_type_name sca__fcs_call_depth sca__fcs_call_specification sca__fs_infile_text sca__fs_query sca__fs_usagesca__main_applysca__main_lib_listb_xrefsca__ps_class_create_newsca__ps_class_used_by_namesca__result_menuVersionl@INSERT_LIBRARY_FIRST@INSERT_LIBRARY_LASTA0INSPECTLibrary_CommandsBLOADD MODIFY_QUERY_NAME0Z New_FeaturesDx NEXT_QUERY'Parameter_GlossaryEPREVIOUS_QUERY#Program_Design_Commands$ Query_Commands$B#Query_Session_Manipulation_CommandsFRECOVERG Release_NotesF REORGANIZEGREPORTENSITIVITYJRESET_HYPHEN_SENSITIVITYK RESET_REPORTLZRESET_WILDCARDSL~ SAVE_QUERY^sca_callres_file_extr}NjSET_COMMAND_LANGUAGEOXSET_DUPLICATE_INCLUSIONSPv SET_HYPHENQ SET_LIBRARYR SET_REPORTT SET_WILDCARDSWSHOW_ALL_MODULEX4SHOW_COMMAND_LANGUAGEX$SHOW_HIDDEN_MODULEY< SHOW_LIBRARYY SHOW_MODULEZ SHOW_QUERY[H SHOW_REPORT[ SHOW_SETTINGS\n SHOW_VERSION\SHOW_VISIBLE_MODULE'Terms]RVERIFY7VersionZH SCA_Topics^sca__callres_file_sca__callres_file_close_6sca__callres_menu_bar` sca__callres_modify_delete_itemsasca__callres_resultsfXsca__callres_viewgsca__callres_view_comphsca__callres_view_delete_undefisca__callres_view_go_srcisca__callres_view_graphk<sca__callres_view_horizk sca__callres_view_lexlsca__callres_view_redrawlsca__callres_view_showmsca__callres_view_vertMSET_CASEak sca__callres_view_lexlsca__callres_view_redrawlsca__callres_view_showmsca__callres_view_vertnsca__cmd_dismissosca__cust_view_cancelq,sca__cust_view_compactr:sca__cust_view_graphslsca__cust_view_horizsHsca__cust_view_labelssca__cust_view_lextbsca__cust_view_okvsca__cust_view_vertv~sca__del_lib_confwfsca__ds_data_structuresx!sca__ds_type_add_of_type_previousxsca__ds_type_applyMSET_CASEZv~sca__del_lib_confwfsca__ds_data_structuresx!sca__ds_type_add_of_type_previousxsca__ds_type_applyzsca__ds_type_create_newzsca__ds_type_dismiss|sca__ds_type_file|Rsca__ds_type_file_close|sca__ds_type_keep_previous}sca__ds_type_menu~sca__ds_type_of_type~sca__ds_type_of_type_namesca__ds_type_of_type_option:sca__ds_type_okvsca__ds_type_remove_privioussca__ds_type_resetMSET_CASE\sca__ds_type_of_type_option:sca__ds_type_okvsca__ds_type_remove_privioussca__ds_type_resetsca__ds_type_type_ofsca__ds_type_type_of_namesca__ds_type_type_of_optionR sca__fcs_callsca__fcs_call_add_to_previoussca__fcs_call_applysca__fcs_call_create_newsca__fcs_call_depthJsca__fcs_call_dismisssca__fcs_call_filesca__fcs_call_file_closesca__fcs_call_fromMSET_CASE]Jsca__fcs_call_dismisssca__fcs_call_filesca__fcs_call_file_closesca__fcs_call_from&sca__fcs_call_from_namesca__fcs_call_from_optionsca__fcs_call_keep_previoussca__fcs_call_menusca__fcs_call_oksca__fcs_call_remove_privioussca__fcs_call_reset.sca__fcs_call_specificationLsca__fcs_call_tosca__fcs_call_to_name^sca__fcs_call_to_optionN sca__fs_applysca__fs_dismissMSET_CASEbLsca__fcs_call_tosca__fcs_call_to_name^sca__fcs_call_to_optionN sca__fs_applysca__fs_dismiss sca__fs_domainVsca__fs_domain_optionssca__fs_domain_selected0sca__fs_domain_selection sca__fs_filevsca__fs_file_closesca__fs_infile<sca__fs_infile_optionssca__fs_infile_textZsca__fs_inmodulesca__fs_inmodule_optionsJsca__fs_inmodule_text sca__fs_itype sca__fs_mainMSET_CASERZsca__fs_inmodulesca__fs_inmodule_optionsJsca__fs_inmodule_text sca__fs_itype sca__fs_main sca__fs_menuxsca__fs_nake_add<sca__fs_nake_keepVsca__fs_nake_newsca__fs_nake_remove( sca__fs_namesca__fs_name_textd sca__fs_oksca__fs_optionsP sca__fs_queryZsca__fs_query_callsca__fs_query_deletesca__fs_query_listsca__fs_query_nextNsca__fs_query_prevMSET_CASEMZsca__fs_query_callsca__fs_query_deletesca__fs_query_listsca__fs_query_nextNsca__fs_query_prev sca__fs_query_show_ques2sca__fs_query_show_res. sca__fs_resethsca__fs_selectedsca__fs_type_options8sca__fs_type_selectedXsca__fs_type_selectionb sca__fs_usagesca__fs_usage_optionspsca__fs_usage_selectionsca__graphresult_opt_viewsca__graphres_extend_from@sca__graphres_extend_toMSET_CASE`sca__fs_usage_optionspsca__fs_usage_selectionsca__graphresult_opt_viewsca__graphres_extend_from@sca__graphres_extend_toVsca__graphres_extractsca__graphres_formsca__graphres_view_coll_allsca__graphres_view_exp_allnsca__graph_result_modify sca__main_ad_buttonsRsca__main_applysca__main_callsca__main_call_pbsca__main_closesca__main_commandsca__main_customizeMSET_CASESsca__main_callsca__main_call_pbsca__main_closesca__main_commandsca__main_customizesca__main_cust_show_cmddsca__main_delete sca__main_dssca__main_ds_pbsca__main_filesca__main_file_exitsca__main_library_loadrsca__main_lib_createsca__main_lib_list8sca__main_lib_recover sca__main_load sca__main_maintenancebsca__main_menuhsca__main_message_sl2 sca__main_nbMSET_CASEg8sca__main_lib_recover sca__main_load sca__main_maintenancebsca__main_menuhsca__main_message_sl2 sca__main_nbsca__main_nb_pbsca__main_opensca__main_output_slsca__main_query sca__main_usesca__main_use_pbsca__main_viewdsca__main_view_hide_modPsca__main_view_show_mod sca__main_xref*sca__main_xref_pb0sca__nb_called* sca__nb_calls& sca__nb_fileMSET_CASEQ sca__main_xref*sca__main_xref_pb0sca__nb_called* sca__nb_calls& sca__nb_filesca__nb_file_closelsca__nb_goto_decl sca__nb_menusca__nb_of_type sca__nb_query sca__nb_sbBsca__nb_subformsca__nb_type_ofsca__nb_used_by| sca__nb_using8 sca__nb_xrefsca__openlib_aftersca__openlib_buttons.sca__openlib_create_dir sca__openlib_create_new sca__openlib_firstMSET_CASEXsca__openlib_aftersca__openlib_buttons.sca__openlib_create_dir sca__openlib_create_new sca__openlib_firstsca__openlib_insteadsca__openlib_rie sca__open_libsca__open_lib_spec sca__ps_call"sca__ps_class_add_to_previoussca__ps_class_apply:sca__ps_class_create_newsca__ps_class_depthsca__ps_class_dismisssca__ps_class_filesca__ps_class_file_closeMSET_CASEZsca__ps_class_depthsca__ps_class_dismisssca__ps_class_filesca__ps_class_file_close2sca__ps_class_keep_previousPsca__ps_class_menusca__ps_class_okHsca__ps_class_remove_previousnsca__ps_class_resetsca__ps_class_specificationsca__ps_class_used4sca__ps_class_used_by_namesca__ps_class_used_optionsca__ps_class_usingsca__ps_class_using_namesca__ps_class_using_optionMSET_CASEWsca__ps_class_used_optionsca__ps_class_usingsca__ps_class_using_namesca__ps_class_using_optionzsca__qlist_form sca__ql_close sca__ql_menud sca__query_ds sca__query_nb sca__query_xrefsca__result_file sca__result_file_closesca__result_mainsca__result_menusca__result_modify rsca__result_options Psca__result_view sca__result_view_collapse sca__result_view_coll_allMSET_CASEsca__result_modify rsca__result_options Psca__result_view sca__result_view_collapse sca__result_view_coll_all sca__result_view_expand sca__result_view_exp_all rsca__result_view_full_info ~sca__result_view_go_src Bsca__shomodlib_view_hide_attrisca__shomodlib_view_sho_attrisca__std_buttons sca__xsvn_formMSET_CASEsca__main_view_show_mod sca__nb_xrefsca__ps_class_create_newsca__ps_class_used_by_namesca__result_menuSET_CASEVersion'sca__main_lib_listVersionJRESET_CASE_SENSITIVITYJRESET_HYPHEN_SENSITIVITYK RESET_REPORTLZRESET_WILDCARDSL~ SAVE_QUERY^sca_callres_file_extr#DECW_On_window_main<hDECW_On_Window_PSFlDECW_On_Window_ResultBDECW_Popup_Menus DECW_Pulldown_Menus ޭW@$1 DECW_DECwindows_Interface=Title DECwindows Interface=Include DECW_Pulldown_Menus=Include DECW_Popup_Menus=Include DECW_MenusE The SCA/DECwindows interface provides pull-down menus, pop-up menus,K and dialog boxes that allow you to enter and/or get additional information about menu items.H To display the contents of a pull-down menu, position the pointer on anH item in the menu bar and click on MB1. For example, if you choose FileH in the menu bar, the File  menu name is highlighted and a pull-down menu: appears. To choose a menu item, move the pointer down to# the desired item and click on MB1.H To display the contents of a pop-up menu, position the pointer within aI window and click on MB3. To choose menu items, position the pointer onJ the desired item then click on MB3 again. To avoid choosing an item on a4 pop-up menu, click MB3 outside of the menu borders.I To get context-sensitive help on pull-down and pop-up menu items, do the  following:> o Position the pointer on the item for which you want help o Press and hold MB1.( o Press the Help key on the keyboard o Release MB1.E The help text appears in a separate help window. Additional requests@ for context-sensitive help change the topic in the help window.wwޭW@$1 DECW_Popup_Menus=Title Pop-up MenusF To display pop-up menus, click MB3 while positioned in an SCA window.J To choose an item from the menu, position the pointer on the desired item and click on MB3 again.G In each window, SCA offers different pop-up menu options, depending on6 which commands are more appropriate or commonly used.wwޭW@$1 DECW_Help_Menu=Title Help Pull-down=Include About_SCA=Include DECW_Using_SCA_Help> Use the Help menu to get help on individual commands. You can8 get help on menu items, SCA commands, terms, and tasks.wwޭW@$ 1 DECW_Menus =Title MenusB Use menus to perform editing oper ations with the mouse instead of* typing commands or pressing defined keys.+ To use a pull-down menu, do the following:5 1. Point to the name of a menu in the menu bar.' Press MB1 to display the menu.D 2. Position the pointer on the item you want and click on MB1.( To use a pop-up menu, do the following:F 1. Within a buffer's borders, click on MB3 to display the pop-up menu.K 2. Position the pointer on the item you want then click on MB3 aga!in.> o SCA provides different pop-up menus for different windows.E o If you choose a menu item that requires additional information, aI dialog box appears where you can type the information, such as a file" specification or library name.F o Some menu items have a dialog box where you can choose settings or4 preferences (for example, View... in the Options menu of the result window).wwޭW@$1 DECW_Pulldown_Menus=Title Pull-down Menus=Include s"ca__main_menu=Include sca__fs_menu=Include sca__fcs_call_menu=Include sca__ps_class_menu=Include sca__ds_type_menu=Include sca__nb_menuI The menu bar at the top of the SCA application windows contain pull-downN menus. You use pull-down menus to select items (enter commands). To displayJ a pull-down menu, position the pointer on a menu name in the menu bar andI press MB1. To choose an item from the menu, position the pointer on the desired item and press MB1.ww#ޭW@$1 DECW_Using_SCA_Help=Title Using SCA Help..."=Include DECW_DECwindows_Interface$=Include DECW_Command_Line_Interface3 Context-sensitive help is available for all of the8 items on the pull-down and pop-up menus, as well as all window objects.5 To get help, position the pointer to a menu item and3 press the HELP key. Help information appears in a8 window and can remain in view while you continue to use SCA.: Alternately, choose "on Context" from the help menu. The? c$ursor will change to an inverted question mark. Position theA the cursor on the item for which you want help and click on MB1.wwޭW@$1 DECW_On_window_main =Title Using the SCA main window=Include About_SCA=Include sca__main_menu=Include sca__main_xref=Include sca__main_call=Include sca__main_use=Include sca__main_ds=Include sca__main_nb=Include sca__open_lib_spec=Include sca__main_lib_list=Include SCA_TopicsH When you first enter SCA, the SC %A Main window is displayed. The SCAF Main window allows you to set (or change) your SCA library. If noF library has been previously set or you want to replace the currentE setting, simply type the directory specification of the directory? containing the library in the space labelled "Enter libraryB directory specification to replace current list:", then either8 type a carriage return or click on the APPLY button.K Once a library has been set, you can display the modul &es in the libraryI by double clicking on the library name or you can bring up one of theK four other primary SCA windows by clicking on the appropriate button at the bottom.F For more information, double click on one of the additional topics listed below.wwޭW@$ 1 Version=TITLE About SCA=Include New_Features=Include Release_Notes, Source Code Analyzer for OpenVMS= Copyright 2007 Hewlett-Packard Development Company, L.P.6 jQf DECSETBLD Version(accompanying such= products and services. Nothing herein should be construed as< constituting an additional warranty. HP shall not be liableA for technical or editorial errors or omissions contained herein. Software Version:2 Source Code Analyzer for OpenVMS, version V5.1-01= For more information about Source Code Analyzer for OpenVMS,@ choose the "on Window" help menu item from the help menu of the SCA Main window.wwԒW@$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 files1 An output file of analysis data generated by the6 compiler. These files are loaded into an SCA library,2 which is the database for SCA cross-reference and7 static analysis features. They may contain one or more modules of analysis data. 2 Anadat =TITLE Anadat*=TITLE Analysis data8 Information generated by supporting compilers about all5 symbols, files, and modules contained in the source. 2 Anadatmod=TITLE Anadatmod=TITLE Analysis data module8 A module containing all the information used by SCA for one compilation unit.2 Arc =TITLE Arc =TITLE Arc2 The graphical representation of the relationships6 between symbols. Arcs are arrows pointing to and from: nodes in a call graph, class browser result or type tree. 2 Assdec =T+ITLE Assdec=TITLE Associated declaration3 Any declaration that is not a primary declaration.7 Typically, associated declarations provide information2 needed by the compiler to refer to an object. You5 can cross-reference query associated declarations by8 selecting Associated for the Usage query attribute. See also Primary declaration.2 Callg =TITLE Callg=TITLE Call graph5 Call graphs show the procedures and functions called, from a subroutine and all subsequent calls.,2 Callg =TITLE Callg=TITLE Call graph query4 A request that SCA show the structure of subroutine7 call relationships in the source. The result is a call graph. 2 Classb =TITLE Classb=TITLE Class browser2 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 be1 separately compiled. (For example, in FORTRAN, a3 subroutine or function; in C, a single file.) Some4 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 query7 A request that SCA find occurrences of a symbol(s) and+ then reference its location in the source. 2 CurrLib=TITLE CurrLib=TITLE Current LibraryC The currently selected librar.y in the library list. Any operation3 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 query7 A request that SCA show the structure of data types in the source.2 Declaration=TITLE Declaration=TITLE Declaration4 That part of the code that tells the compiler about6 an object before the compiler uses it. A declaration2 / causes the compiler to create the object or tells6 it where to look for the object. A declaration has a5 position in the source code with both a start and an7 end, and can contain other declarations or references.6 It can be either a primary or associated declaration.7 You can cross-reference query declarations of a symbol8 by selecting Declaration for the Usage query attribute.2 Lexicaltree=TITLE Lexicaltree=TITLE Lexical tree8 A call graph, class browser result or type tree s0howing7 the query results in lexical order; all possible nodes$ and arcs are visible in the result. 2 Library=TITLE Library=TITLE Library8 A general term usually referring to a physical library. 2 Liblist=TITLE Liblist=TITLE Library list2 A list of one or more physical SCA libraries that9 compose a virtual library that SCA uses when you perform3 queries. The position of libraries in the library7 list is important. A module found in a library higher6 in the library li1st hides a module with the same name7 is a library lower in the list. See also SCA Library. 2 Module =TITLE Module =TITLE Module4 A collection of data in a .ANA file, representing a4 single compilation unit. Modules with the same name8 can span several SCA libraries. You can cross-reference6 query a symbol of type module by selecting Module for8 the Type query attribute. You can also specify that SCA7 query in a particular module by entering a module name# for the In Module query2 attribute.2 Name =TITLE Name =TITLE Name3 A string of characters used to identify symbols in3 your source code. Legal characters are defined by4 whatever language you use. You can cross-reference3 query a symbol by name by specifying the name of a7 symbol for the Name query attribure. You can also use6 SCA to browse for a list of names matching a wildcard expression.2 NameBrowser=TITLE NameBrowser=TITLE Name Browser2 An SCA facility that finds all symbols matc3hing a wildcard string.2 Node =TITLE Node =TITLE Node3 The graphical representation of a symbol in a call: graph, class browser result or a type tree. For example,9 a routine is node in a call graph; depicted by a circle3 along with the name of the routine. See also arc. 2 Occurr =TITLE Occurr=TITLE Occurrence2 A single declaration of a symbol as it is used in4 the source code. An occurrence can be any language/ construct, such as a variable, a routine, or a64 constant. SCA determines which occurrences belong to7 a particular symbol based on the rules of the language8 in use. It does not matter whether all occurrences are8 in the same module or spread over several modules. All- occurrences still belong to the same symbol. 2 Primdec=TITLE Primdec=TITLE Primary declaration6 Any declaration that affects how a particular object,6 such as a routine or a variable, is implemented. You2 can cross-reference query primary declarations by6 sel5ecting Primary for the Usage query attribute. See also Associated declaration.2 Query =TITLE Query =TITLE Query4 A question you construct to ask SCA to analyze your6 source and display the answer. You specify different7 types of queries to obtain different information about3 your source. You can perform any of the following6 queries: cross-reference queries, call graph queries, class browser queries and data structure queries.2 QList =TITLE QList=TITLE Query List66 A list in which SCA records each newly-created query.8 Modifcations to the current query are not shown in this8 list unless you tell SCA to create a new query from the modifications. 2 QResult=TITLE QResult=TITLE Query Result2 The information SCA displays after it evaluates a3 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 other75 occurrences. A call graph query graphically depicts this hierarchy. 2 SCALib =TITLE SCALib=TITLE SCA Library0 A collection of source information generated by0 supporting compilers in the form of .ANA files.5 When you create an SCA Library, you specify a single6 directory to contain the database of .ANA files. SCA7 libraries are available for use once they are added to* the library list. See also Library list. 2 Source =TITLE Source =TITLE Source6 The source code8 from which analysis data is extracted% by the compiler for analysis by SCA. 2 Statanal=TITLE Statanal=TITLE Static analysis7 The analysis of a software system performed by looking6 at the source code. This contrasts dynamic analysis,7 which analyzes software during execution. Call graphs3 class browser results and type trees are generated from static analysis. 2 Symbol =TITLE Symbol =TITLE Symbol4 A single object in a program, such as a variable, a file, or a mo9dule. 2 SymDom =TITLE SymDom=TITLE Symbol Domain3 The range of source code in which a symbol has the8 potenital to be used. You can cross-reference query by5 symbol domain selecting a domain type for the Domain query attribute. 2 Symname=TITLE Symname=TITLE Symbol name2 The exact name of the symbol as it is used in the source code. 2 TypeTree=TITLE TypeTree=TITLE Type Tree3 The result of a data structure query. A type tree3 graphically shows the struc:ture of data types used8 in your code. For example, the declaration of a record7 consists of a record and some record components. Each2 record has a type, which may be another record, a3 pointer to the same record, a basic data type such1 as an integer, and so on. A type tree shows the6 relationships of the record to its components and the components to their types. 2 Wildcards=TITLE Wildcards=TITLE Wildcards2 Wildcard characters are used by SCA to match more4 than one name; at a time. SCA uses the asterisk (*)' to represent any number of characters.ww(W@$1 DECW_On_Window_Ds=Include sca__ds_type_menu0=TITLE Using the SCA Data Structure Query WindowB The Data Structure Query window lets you specify a data structureF query. A data structure query graphically displays the relationshipsE between data and the type of the data. This window lets you specify the following attributes:( o Type of-The type of a given item.2 o of Ty<pe-The items that are of a given type.D You must specify a reference point to begin a data structure query.< As such, you must specify either the Type of or the Of type attribute, or both.ww(W@$1 DECW_On_Window_FCS,=TITLE Using the SCA Call Graph Query Window=Include sca__fcs_call_menuD The Call Graph Query window lets you specify a call graph query. A@ call graph query graphically displays the relationships betweenC symbols, according to the range you specify. T=his window lets you" specify the following attributes:! o From-Calls from a routine. o To-Calls to a routine.7 o Depth-The specified number of levels in the call graph.D You must specify a reference point to begin a call graph query. AsA such, you must specify either the From or To attribute, or both.ww(W@$1 DECW_On_Window_PS/=TITLE Using the SCA Class Browser Query Window=Include sca__ps_class_menuG The Class Browser Query windo>w lets you specify a class browser query.E A class browser query graphically displays the relationships betweenC classes, according to the range you specify. This window lets you" specify the following attributes: o Used by-Uses by a class. o Using-Uses of a class.5 o Depth-The specified number of levels of usage.G You must specify a reference point to begin a class browser query. AsG such, you must specify either the Used by or Using attribute, or both.w?w(W@$1 DECW_On_Window_Fs1=TITLE Using the SCA Cross Reference Query Window=Include sca__fs_menu=Include sca__fs_name=Include sca__fs_usage=Include sca__fs_infile=Include sca__fs_itype=Include sca__fs_domain=Include sca__fs_inmoduleD The Cross-Reference Query window lets you specify a cross-referenceD query. A cross-reference query matches occurrences of a symbol you? define by specifying one or several of the following selection attributes:7 o Name-@Specifies the name of a symbol. SCA selects1 occurrences with names that match the name expression you provide.8 o Usage-Restricts occurrences based on the usage of9 the symbol you pick (for example, the declarations of a symbol).9 o In File-Specifies the name of a file. SCA selects7 occurrences whose source position is in the file you specify.6 o Type-Restricts occurrences based on the type of0 symbol you pick (for examplAe, arguments).0 o Domain-Restricts occurrences based on the: symbol domain. The domain indicates the scope of a; symbol's declaration. SCA selects occurrences whose5 symbol domain is one of those that you select./ o In Module-Restricts occurrences to those3 occurrences contained in the module that you specify.6 For example, if you want to find occurrences based on7 a name, click in the name text entry field and type in4 the name. If you wBant to find occurrences based on8 symbol usage, click in the symbol selection list on the selection(s) you want.8 You can base a query on as many attributes as you like.7 After entering the attributes, select one of the radio7 options below, indicating whether you want to create a0 new query, or somehow modify the results of the previous query.1 Finally, select either the OK or APPLY button to perform the query.wwM W@$1 DECW_On_Window_Graphres-=TITLE Using C the SCA Graphical Results Window=Include sca__callres_menu_bar=Include sca__graphres_formA The Graphical Results window lets you view the results of a callB graph, class browser or data structures query, based on the query; attributes you specified. You can view the query resultsC horizontally (by default) or vertically in a variety of graphical8 displays: a lexical tree, a compact tree, or a graph.C For call graph query results, you can focus on particular items inC the call Dgraph that represent routines or calls to a routine, thenB get specific information on those items. A routine is shown as aA "node" in the call graph: a circle graphic containing a routine@ name. A call is shown as an "arc" in the call graph: an arrow& pointing from one routine to another.C For class browser query results, you can focus on particular itemsC in the graph that represent classes or uses of a class, then getD specific information on those items. A class is shown as a E"node"B in the graph: a rectangular graphic containing a class name. AD use is shown as an "arc" in the graph: an arrow pointing from one class to another.D You can move nodes and reformat your display. Position the pointerC on a node then press and hold MB2 and drag the mouse to reposition the node.B For large displays, you can use the Navigation window to view theD entire query result. Click MB1 on the navigation button; the smallE square in the lower right corner of the top p Fane. In the NavigationE window, the box outlining part of the graph corresponds to the imageD in the query result. Position the pointer in the box (a cross-hairE cursor appears). Press and hold MB1 and drag the box to the part ofD the graph you want to see. When you release MB1, the outlined areaE now appears in the query result window. The Navigation window stays7 active until you again click on the navigation button.> For data structure query results, SCA displays data structureFG information in a similar fashion and provides the same formatting and navigation features.wwM W@$1 DECW_On_Window_Result9=TITLE Using the SCA Cross-Reference Query Results Window=Include sca__result_menuF The Cross-Reference Query Results window lets you view the results of? a cross-reference query. Initially, SCA shows the name of the4 symbol, its type, and domain in the left-hand pane.; Double click on the icon in the left-hand pane to show allD occurrences oHf the symbol in the right hand pane. Drag the sash toD the left or use the scroll bars to view the occurrence information.E SCA shows how the occurrence is used, the module it is contained in,D the file in which it resides, and the line in the code where it canE be found. Position the pointer on an occurrence and double click on. MB1 to go to its location in the source code.wwM W@$1 Release_Notes1 Release notes for SCA are contained in the file:" SYS$HELP:SCAvIvu.RELEASE_NOTESG The product name is followed by the version number (vvu). For example,@ the following is the release notes file for Version 4.6 of SCA." SYS$HELP:SCA046.RELEASE_NOTESwwM W@$ 1 SCA_Topics1 Help is available on the following SCA topics:2 Advanced_Query_ExamplesE The examples in this section use the supplied example library. YouA are encouraged to try these queries using the example library./ 1. FIND CALLED_BY( END=translit, DEPJTH=ALL)4 This query gives the full call tree for TRANSLIT.G 2. FIND CALLED_BY( END=translit, BEGIN=signal_duplicate, DEPTH=ALL)E This query returns all the call paths emanating from translit that# end up calling SIGNAL_DUPLICATE.> 3. FIND CALLED_BY( translit, DEPTH=ALL, TRACE=(NOT OPEN*))A This query gives the full call tree for TRANSLIT, but does notD show any calls from items named OPEN*. Calls to items named OPEN*D appear in the call tree; however, items whi Kch are called by OPEN*@ do not appear. Try the query without the trace expression and/ compare the results when the TRACE is given.$ 4. FIND CALLED_BY( END=translit,C BEGIN=(NOT DOMAIN=PREDEFINED and NOT lib$*)," DEPTH=ALL )? This example leaves predefined functions and functions namedA LIB$* out of the call graph. Functions such as CHR and WRITELN@ in Pascal, MAX in FORTRAN, a builtin like _ADAWI in C, and soE forth are prede Lfined. These functions are defined by the language, not the programmer.4 5. FIND IN( build_table and occ=comp, max_code )? This example finds all occurrences of MAX_CODE in the module? BUILD_TABLE. In this case, module has the same meaning as itC does in SHOW MODULE. This is the fastest way to limit a query toD occurrences in a particular module. The first parameter to the INC function tells SCA in what container to look. The "and occ=comp"A part of the query ensurMes that the BUILD_TABLE you are lookingA in is one of the modules displayed by SHOW MODULE, rather than something else.A The second parameter to the IN function tells SCA what to look5 for. This is faster than specifying the following:9 FIND IN( build_table and occ=comp ) and max_code8 Both queries in this example produce the same result.3 Routines Used in a Module But Declared Elsewhere? In this example, you find functions that are used in a givenB N module but have their primary declaration in some other module.A This example is a multistep process that makes use of previousB queries. Each query in this section is numbered so that you canA refer to a specific query. If you refer to a query, adjust theC query name (for example, where @1 is used) to refer to the query name you have created.; 1. FIND IN( translit and occurrence=compilation_unit, -= symbol=function and domain=(global,inheritable) )E Thi Os query finds all occurrences of functions, either declarations) or references, in the module TRANSLIT.@ You use "domain=(global,inheritable)" to limit the query only= to occurrence in which you are interested. Only global and> inheritable symbols can be imported because module-specific@ symbols are from the same module, and predefined symbols comeA from the language. Next, you have to remove any functions that0 have their primary declaration in the module.: 2. FIND P@1 AND NOT EXPAND( @1 and occurrence=primary )C This query removes any functions that have a primary declaration; in the module TRANSLIT. What remains are those global orB inheritable functions that do not have a primary declaration in TRANSLIT.A The EXPAND function in this query can be evaluated efficientlyB by SCA. The parameter to EXPAND, @1 and occurrence=primary, canD be evaluated by looking at the result of query 1, so SCA does notE have to use the SCA library. Be Qcause the overall query does @1 ANDE ..., everything in the result is present in the result of query 1.B All we are doing is removing occurrences. In this case, SCA canB evaluate the whole query expression by looking at the result of4 query 1 and does not have to use the SCA library.A Items Declared In a Module But Not Used Anywhere In the ModuleB In this example, you find occurrences of functions or variablesE that are declared in a module but are not used in the modul Re. ThisE example is a multistep process that makes use of previous queries.B The numbers by each query are used to refer to it later. If youD refer to a query, adjust the query name (for example, where @1 is6 used) to refer to the query names you have created.; 1. FIND IN( translit and occurrence=compilation_unit, -- symbol=(function, variable) )E This query finds all occurrences of functions or variables, either6 declarations or references, in the moduleS TRANSLIT.< 2. FIND @1 AND NOT EXPAND( @1 and occurrence=reference )E This query removes from our first query any functions or variablesA that have a reference in the module TRANSLIT. What remains areA those functions or variables that are not used anywhere in the module.A The EXPAND function in this query can be evaluated efficiently@ by SCA. The parameter to EXPAND, @1 and occ=reference, can beB evaluated just by looking at the result of query 1, so SCA doesB T not have to use the SCA library. Because the overall query doesC @1 AND ..., everything in the result is present in the result ofE query 1. All we are doing is removing items. In this case, SCA canB evaluate the whole query expression by looking at the result of5 query 1, and does not have to use the SCA library. Finding Unused FunctionsC This example finds functions or subroutines that are never used.E It provides several ways of solving the problem. Some of these UareD easy to understand, but can be very slow on larger SCA libraries.? The more complex ones are intended to improve performance onA larger SCA libraries. They do not have a significant impact on smaller libraries.C The first example finds unused functions only. Note that insteadE of saying "occurrence=call" to find functions that are called, youD specify "occurrence=reference" to find functions that are used at all. The query is as follows:2 FIND symbol=funct Vion AND occurrence=primary -C AND NOT EXPAND( symbol=function and occurrence=reference )> On the example library, this query works well because it is? a small library. On a larger library, it may be too slow. To@ evaluate this query, SCA must first evaluate "symbol=functionB and occurrence=primary." It must then evaluate "symbol=functionD and occurrence=reference" before doing any additional processing.A In this case, SCA has to do twice what is essentially the sameD W work. Also, SCA does not discard information about functions that< are referenced until the end, so it uses a lot of memory.? Using Previous Query Results to Find Unused Functions FasterA The next example also finds unused functions. However, it usesB previous query results, so the work is done only once. For this? reason, it is faster than the previous example. It also usesE somewhat less memory, but still not enough to make a difference on a large library.< FXIND symbol=function and occurrence=(primary,reference)E In the previous query, we find all the occurrences that we want toC use. We ignore the associated declarations at this point because' they are not essential to the query.C Next, we must select those functions that are not used as in the following query:% FIND @1 AND occurrence=primary -7 AND NOT EXPAND( @1 AND occurrence=reference )B This query removes from the list of functions in our system anyD Y that are referenced, leaving only unreferenced functions. BecauseA you are using a previous query with all the information in it,B SCA does not have to access the SCA library, and performance is generally faster.B However, on a large library, this may still be slow. The reasonB for this is that it ends up keeping a list of all the functions& and all their references in memory.2 Basic_Query_Concepts@ This section covers some of the basic concepts underlying SCA qZueries. What Queries AreB An SCA library is a collection of information about your sourceC code. This includes information, such as the names and locations? of all variables in your code, all the places where routines@ are called and what their arguments are, and many other kinds of information.; Issuing a query is the process of selecting some of thisB information from the library. By giving a query expression withE the FIND command, you specify exactly what [information you want to retrieve from the library. OccurrencesA An occurrence is any instance of an entity in your program. An> entity can be any language construct, such as a variable, a@ routine, or a constant. To further clarify this, consider theB following code fragment (not written in a particular language): 1 MODULE myprog; 2 3 VAR i,j; 4 5 ROUTINE foo() 6 BEGIN 7 i = 5; 8 j = i; 9 E\ND; 10 END;D The code contains four entities (myprog, foo, i, j). There is oneA occurrence each of the module myprog, and the routine foo. TheE variable i, however, has three occurrences, and the variable j has two. Attribute Selection@ Attribute selection is a query that selects occurrences basedB on certain attributes. For example, you can have SCA return all@ occurrences in which the name attribute is XYZ. The following3 sections list the attribute]s used for selection. NAME Attribute< Generally, you think of entities in you program as havingA only a name. In fact, the name of an entity is only one of itsD attributes. What you are doing when you give the basic query FINDE X, is asking for all occurrences in the library that have the nameA attribute X. (The query FIND X is equivalent to the query FINDA NAME=X. NAME= is the default attribute, so it may be omitted.) SYMBOL_CLASS Attribute> The sym ^bol class attribute describes an occurrence in terms? of language constructs. In the previous example, myprog is aA MODULE, foo is a ROUTINE, and i and j are variables. Thus, youC could ask SCA to find things based on the symbol class only. ForB example, you can find all the routines in the library by giving1 the following query: FIND SYMBOL_CLASS=ROUTINE? Note that MODULE, ROUTINE, and VARIABLE are SCA keywords for< symbol classes. Because different languages use different _C terminology, there is a need to understand how the SCA language-C independent terms relate to the language-specific terms. We haveB provided tables to help you match the SCA terms to the specificB language constructs for all the languages that support SCA. See= the Getting_Started help subtopics for specific languages. OCCURRENCE AttributeB The occurrence class attribute allows you to select occurrencesB based on attributes specific to the occurrence. In the prev `ious= example, on line 3 the occurrence of the variable i has an= occurrence class of PRIMARY. On line 7, the occurrence has? an occurrence class of WRITE, and on the following line, itsC occurrence class is READ. To find all entities that are declared/ in your system, specify the following query: FIND OCCURRENCE=PRIMARYB Note that as with symbol classes, there is a need to understandA the relationship between the SCA occurrence class keywords andD the equivalent alanguage terminology. See the Getting_Started help$ subtopics for specific languages. FILE_SPEC AttributeB Another attribute of all occurrences is the name of the file inB which they occur. If the previous example program was in a fileC called MYPROG.BAR, then the following query would return all theB occurrences found in the file; in this case, all occurrences of myprog, foo, i, and j: FIND FILE_SPEC="MYPROG.BAR" SYMBOL DOMAIN AttributeC The domaibn of an entity defines the scope within the source overA which the entity is known. Variables or routines, for example,E may be local to a particular module, or they might be known to allD modules in a system. To find all occurrences of entities that are; known throught your system, specify the following query: FIND DOMAIN=GLOBALA See the Getting_Started help subtopics for specific languages. Basic QueriesB You have already seen examples of the most basic tycpe of query,@ that is a query based on the selection of just one attribute. These examples are: FIND X FIND SYMBOL=ROUTINE FIND OCCURRENCE=PRIMARY FIND DOMAIN=GLOBAL FIND FILE_SPEC="MYPROG.BAR"@ Each of these queries results in a set of occurrences. Often,@ the result of such a query contains more information than youB really want. You can explicitly indicate the result you want byA specifying multiple attributes and combining them by using set? operati dons. For example, if you only want the ROUTINES namedA X (rather than all items named X or all routines), specify the following query expression: FIND X AND SYMBOL=ROUTINEE In the previous example, the set operator AND was used to take theB intersection of the two sets. The other set operators availableB are OR, XOR, and NOT. In this manner, you can combine attributeC selection expressions using multiple set operators. For example:8 FIND (X OR Y ) AND SYMBOL=ROUTINEe AND OCCURRENCE=CALLA This query finds all call references to routines named X or Y. Relationship Queries> You have already learned how to select occurrences based onB their attributes. The following section describes how to selectB occurrences based on their relationship with other occurrences. Calls RelationshipD The most common of these relationships is the calls relationship.@ SCA provides two functions: CALLING and CALLED_BY. With these= functionsf, you can display the call tree structure of your? program. The most basic format of the query expression is as follows: FIND CALLED_BY FOOD In this example, the result shows a structured display of all theB routines that FOO directly calls. You can also display routines that call FOO as follows: FIND CALLING FOOC The previous two queries answer the questions, "Who is called by1 FOO?" and, "Who is calling FOO?" respectively.@ The full syntax of the re glationship functions is complex, andD each relationship function is described in more detail under SCA_@ Topics. Without explaining why the parentheses are necessary,A and emphasizing that the order of parameters is important, theC following examples shows one more useful feature of relationshipE functions. It is possible to get a call tree of arbitrary depth by giving the following query:# FIND CALLED_BY (FOO, DEPTH=ALL )> This returns a display showing not only the rhoutines calledA directly by FOO, but also the routines that they in turn call,D for all levels. You can replace the keyword ALL with any positive/ integer to limit the depth of the call tree. Contains Relationship= Another relationship available through SCA is the contains= relationship, which is obtained through the CONTAINING andB CONTAINED_BY functions. These functions have the same syntax as the calls functions.E The CONTAINED_BY function returns all entiities logically containedD within the given parameter. For example, the query FIND CONTAINEDC FOO returns two occurrences of i and one occurrence of j, in the code fragment that follows: 1 MODULE myprog; 2 3 VAR i,j; 4 5 ROUTINE foo() 6 BEGIN 7 i = 5; 8 j = i; 9 END; 10 END;? Similarly, the following query returns the occurrence of the module MYPROG: FIND CONTAINING FOO Types R jelationship> The types relationship consists of the two functions TYPINGA and TYPED_BY. These functions also have the same syntax as theE previous functions. The TYPED_BY function returns type trees. ThisA is useful if there are many user-defined types in your system,A particularly if they are complex record structures. The TYPING- function returns the type of its argument.E For more information about all the relationship functions, see the$ help topic for each rel kationship.2 Building_An_SCA_LibraryB To create your own SCA library, you must first create a libraryD directory for it. Once you have a directory in which to create aE library, create a library from inside SCA using the CREATE LIBRARY command.@ You now have an empty SCA library. To add a module to the SCAC library, you must first compile your source code and generate anG analysis_data (.ana) file. To load the analysis data file into yourH SCA library and show the lnew module, type the following SCA commands: SCA> LOAD myfile.ANA SCA> SHOW MODULEE You will see that the new module has been loaded into the library,2 and you will now be able to query that library.> For more information, see the help topics for Libraries and Reducing_LOAD_Time. 2 CALLED_BY> The CALLED_BY function is a relationship function. It finds? occurrences that have a CALLED_BY relationship between them.C For example, if routine B is called by romutine A, then these twoB occurrences are in a CALLED_BY relationship. In its most common+ form, the function format is as follows:: CALLED_BY( , , DEPTH={ | ALL} )? In this format, and can be any legal query@ expression, and is a positive integer. A typical useE of the function is to find those routines which are called by some" specified routine. For example:( FIND CALLED_BY( xyz, *, DEPTH=ALL )C This query fi nnds the full call tree below XYZ, where XYZ is someD routine in the SCA database. In other words, this query finds allB routines which are either directly or indirectly called by XYZ.E The CALLED_BY function provides the power to return the exact call0 tree you want. The full format is as follows: CALLED_BY( [ END= ],! [ BEGIN= ],) [ DEPTH={ | ALL} ],( [ RESULT=RESULT_KEYWORD ],* [ TRACE=query_exproession ] )D In the previous format, and are any legal queryA expression, is a positive integer, RESULT_KEYWORD canA be STRUCTURE, NOSTRUCTURE, ANY_PATH, BEGIN, or END, and QUERY_, EXPRESSION is any legal query expression.@ For a full description of the CALLED_BY relationship, see the LSE/SCA User Manual. 2 CALLING< The CALLING function is a relationship function. It finds> occurrences with the CALLING relationship between them. For= exa pmple, if routine A is calling routine B, then these two@ occurrences are in a CALLING relationship. In its most common+ form, the function format is as follows:8 CALLING( , , DEPTH={ | ALL} )? In this format, and can be any legal queryB expression and is a positive integer. A typical use of@ the function is to find those routines which are calling some' specified routine call. For example,& FIND CALLING( abc, *, DEPqTH=ALL )C This query finds the full call tree above ABC, where ABC is someE routine in the SCA database. In other words, find all the routines/ that are directly or indirectly calling ABC.C The CALLING function provides the power to return the exact call( tree of interest. The full format is: CALLING ( [ END= ], [ BEGIN= ],( [ DEPTH={ | ALL} ],' [ RESULT=RESULT_KEYWORD ],) [ TRACE=query_expressiorn ] )D In the previous format, and are any legal queryD expression, is a positive integer, RESULT_KEYWORD can beB STRUCTURE, ANY_PATH, BEGIN, or END, and QUERY_EXPRESSION is any legal query expression.> For a full description of the CALLING relationship, see the LSE/SCA User Manual.2 CONTAINED_BYA The CONTAINED_BY function is a relationship function. It findsE occurrences that have a CONTAINED_BY relationship between them. In; its msost common form, the function format is as follows:C CONTAINED_BY( , , DEPTH={ | ALL} )E In this format, and can be any legal query2 expression, and is a positive integer.D Some examples will help you understand this function. The diagram* that follows applies to these examples. A (module)( +-------------------------+( | |( | B (rou ttine) |( | +-------------------+ |( | | | |( | | C (routine) | |( | | +-------------+ | |( | | | | | |( | | | D (variable)| | |( | | | | | |( | | | | | |( | | +-------------+ | |( | | | |( | +-------------------+ |( | u |( | E (variable) |( | |( +-------------------------+" Consider the following queries:* 1. FIND CONTAINED_BY( A, *, DEPTH=1 )* 2. FIND CONTAINED_BY( C, *, DEPTH=1 )* 3. FIND CONTAINED_BY( A, *, DEPTH=2 )B The first query returns A (the container), B (a containee), and@ E (a containee). Similarly, the second query returns C and D.C The third query returns A, B, and C and E. The D vavriable is NOT: included because it is not reachable at a depth of two.* Now consider the following two queries:, 4. FIND CONTAINED_BY( A, D, DEPTH=ALL )* 5. FIND CONTAINED_BY( A, D, DEPTH=2 )E Query four returns A (the container), B (because it is on the pathE to D), C (becasue it is on the path) and D (which is the containee@ being searched for). The fifth query does not return anything> because the D variable cannot be reached at a depth of two.B Where a con wtainer begins and ends is determined by the languageC syntax. These boundaries are reported to SCA by the compiler and: used by the CONTAINED_BY function to determine nesting.C The CONTAINED_BY function provides the power to return the exact= nesting structure you want. The full format is as follows:% CONTAINED_BY( [ END= ],' [ BEGIN= ],, [ DEPTH={ | ALL} ],+ [ RESULT=RESULT_KEYWORD ],- x [ TRACE=query_expression ] )C In the previous format, and is any legalC query expression, is a positive integer, RESULT_KEYWORDE can be STRUCTURE, NOSTRUCTURE, ANY_PATH, BEGIN, or END, and QUERY_, EXPRESSION is any legal query expression.C For a full description of the CONTAINED_BY relationship, see theD LSE/SCA User Manual. See also the help topic for the IN function,5 which is similar to the CONTAINED_BY relationship. 2 CONTA yINING? The CONTAINING function is a relationship function. It finds@ occurrences that have a CONTAINING relationship between them.> In its most common form, the function format is as follows:A CONTAINING( , , DEPTH={ | ALL} )E In this format, and can be any legal query2 expression, and is a positive integer.B Some examples will help you understand the CONTAINING function.6 The diagram that follows applies zto these examples. A (module)( +-------------------------+( | |( | B (routine) |( | +-------------------+ |( | | | |( | | C (routine) | |( | | +-------------+ | |( | | | | | |( | | | D (variable)| | |( | | | | | |( | | | |{ | |( | | +-------------+ | |( | | | |( | +-------------------+ |( | |( | E (variable) |( | |( +-------------------------+" Consider the following queries:( 1. FIND CONTAINING( D, *, DEPTH=1 )( 2. FIND CONTAINING( C, *, DEPTH=1 )( 3. FIND CONTAINING( D, *, DEPTH=2 )D The first query returns D (the co |ntainee), and C (the container).? Similarly, the second query returns C and B. The third query returns D, C and B.( Now consider the following 2 queries:* 4. FIND CONTAINING( D, A, DEPTH=ALL )( 5. FIND CONTAINING( D, A, DEPTH=2 )@ Query four returns D (the containee), C (because it is on the@ path to A), B (because it is on the path) and A (which is the? container being looked for). The fifth query does not return: anything because A cannot be reached at a depth } of two.B Where a container begins and ends is determined by the languageC syntax. These boundaries are reported to SCA by the compiler and8 used by the CONTAINING function to determine nesting.A The CONTAINING function provides the power to return the exact= nesting structure you want. The full format is as follows:# CONTAINING( [ END= ],% [ BEGIN= ],* [ DEPTH={ | ALL} ],) [ RESULT=RESULT_KEYWORD ]~,+ [ TRACE=query_expression ] )C In the previous format, and is any legalC query expression, is a positive integer, RESULT_KEYWORDE can be STRUCTURE, NOSTRUCTURE, ANY_PATH, BEGIN, or END, and QUERY_, EXPRESSION is any legal query expression.A For a full description of the CONTAINING relationship, see the LSE/SCA User Manual. 2 DOMAIND DOMAIN is an attribute of an occurrence that determines the scopeC of the symbol defined. It is the range of source code in which a* symbol has the potential of being used.A For example, A BLISS OWN declaration creates a symbol that hasB a module-specific symbol domain; it cannot be used outside thatB module. On the other hand, a BLISS GLOBAL declaration creates aD symbol that has a multimodule symbol domain; it has the potential) of being used in more than one module.' The format for DOMAIN is as follows: DOMAIN=(keyword[,keyword...])+ The keyword can be one of the following:@ o INHERITABLE - able to be inherited into other modules (for@ example, through BLISS library, PASCAL environment, or Ada$ compilation system mechanisms)A o GLOBAL - known to multiple modules via linker global symbol definitions? o PREDEFINED - defined by the language (examples: BLISS ap," FORTRAN sin, PASCAL writeln)E o MULTI_MODULE - domain spans more than one module (domain=multi_D module is equivalent to domain=(inheritable,global,predefined)7 o MODULE_SPECIFIC - domain is limited to one module: The previous keywords are SCA terms. For information on> corresponding language-specific terms, request help for theE appropriate language table (for example, FORTRAN_ATTRIBUTES_TABLE)( under the Getting_Started help topic.1 An example using the DOMAIN attribute follows:+ FIND DOMAIN=GLOBAL AND SYMBOL=VARIABLE) This query finds all global variables. 2 EXPANDC The EXPAND function determines the symbol to which an occurrenceB belongs and returns the full set of occurrences for the symbol.A For example, the following code fragments, written in a pseudo; language, declare and use the variable i in three files.+ file 1 file 2 file 3+ ------ ------ ------3 GLOBAL i (d) LOCAL i (d) EXTERNAL i (d)7 i := 0 (wr) i := 5 (wr) IF i EQUALS 0 (rr) (d) - declaration  (wr) - write reference (rr) - read referenceB The pseudo language defines variables, such that the variable iD in "file 1" and the variable i in "file 3" are the same variable.D The variable i in "file 2", however, is a different variable. SCAD treats these variables in the same manner by saying there are two5 unique symbols which happen to have the same name.? The important point in the previous example is that what theE programmer considers unique items SCA also considers unique items.) In SCA terms, these items are symbols.C Given the previous code fragments, consider the follwoing query:3 FIND SYMBOL_CLASS=VARIABLE AND OCCURRENCE=READD This query returns one occurrence, which is the read reference in) "file 3." Now consider the next query:= FIND EXPAND( symbol_class=variable and occurrence=read )D This query returns two occurrences of "i" in "file 1" and the twoD occurrences of "i" in "file 3." The EXPAND func tion uses the readC reference to determine the corresponding symbol and then returnsC all the occurrences for that symbol. In this case the symbol was the global variable "i".E Note that the two occurrences in "file 2" are not returned becauseB they belong to a different symbol. The programmer does not viewE the i in "file 2" to be the same as the i in "file 1" and "file 3" and SCA reflects that view.D When given more than one occurrence, the EXPAND function performs C this operation iteratively and removes any duplicate occurrences from the result.D In the following example, you use the EXPAND function to find theD declarations of routines defined in the system, but which are not1 used. To do this, specify the following query:9 FIND (SYMBOL=ROUTINE AND OCCURRENCE=PRIMARY) AND NOT4 EXPAND(SYMBOL=ROUTINE AND OCCURRENCE=REFERENCE) 2 FILE_SPECE FILE_SPEC is an attribute selection that specifies the name of theE file. You identify a source file by its file name. If it containsE a period (.), the file name should be enclosed in quotation marks.8 The format for the FILE_SPEC attribute is as follows:! FILE_SPEC="filename.extension"4 An example using the FILE_SPEC attribute follows: FIND FILE_SPEC="MYPROG.FOR"; This query finds all occurrences in the file MYPROG.FOR.2 Getting_StartedC SCA works with many languages. See the subtopics in this sectionB for information about getti ng started with a specific language. 3 Using_AdaC This section contains some basic examples that show what SCA canC do to help you with your programs. The examples have very littleA explanation. For a more detailed explanation of the underlyingC concepts, see the Basic_Query_Concepts help topic. The remainder? of this section is written in terms that are specific to Ada programs.E If you want to follow along and try the examples, you will need toC have an SCA library available. The examples use generic variableG names (such as 'i'). You will have to substitute variable names that/ exist in your code when trying the examples.C The first example is the easiest query: It lets you find all theD items in your SCA library named 'i', and shows you all the places/ where they appear (all occurrences of 'i'). FIND i> You can search for any name in this manner, including using. wildcard characters (for example, FIND i*).? Suppose you are looking for an occurrence, and you know that@ it occurs in a particular file. The following query finds allC occurrences of items that are named 'i' but will then limit them= to those which happen to occur in the file named PROG.ADA." FIND i AND FILE_SPEC="PROG.ADA"B Another typical question one might ask is, "Find all the placesB where this item is assigned to (or read from, called, declared,B and so forth)." The next example finds all occurrences of itemsE tha t are named 'i', but then limits them to only those occurrences! where 'i' is assigned a value: FIND i AND OCCURRENCE=WRITEE (SCA understands many occurrence classes other then WRITE. See theE help subtopics under Getting_Started for tables containing all the; SCA attributes and their corresponding meanings in Ada.)A Often, you only want to know where (in what file or package) a@ particular function is, so that you can go to it and edit it.A You can use the first q uery (where 'i' will be the name of the> function) and then look through the output. The output willA include all occurrences of the function, one of which would beE its declaration, which you can then select. Or, you can ask SCA to: limit the search for you by typing the following query: FIND i AND OCCURRENCE=PRIMARY> In SCA terms, a primary declaration is the most significantC declaration of an item. For an Ada function, this means the bodyD of the function, or packa ge, or generic, and so forth. This is inC contrast to the specification, which is considered an associated declaration.B Another problem you might have is that there are many differentC items in your system having a given name. Some may be variables;C others may be functions, constants, tasks, and so forth. Suppose@ you want to find only the functions named i. Again, the queryE FIND i will give you what you want, but it will also give you much7 more. It is preferable to issue the following query:# FIND i AND SYMBOL_CLASS=FUNCTIOND The previous four examples have selected information based on twoD attributes. The last example selected information based on a nameD attribute (in this case, i) and a symbol class attribute (in thisB case, FUNCTION). Note how the attributes are combined using theE boolean operator AND. In general, you can select items out of yourD library based on any combination of attributes, using AND as well3 as the other logical operators OR, XOR, and NOT.> The next example shows another primary feature of SCA - theE ability to display relationships between items. This example showsB the most common use of this feature. It finds the complete callB tree (that is, all functions called directly and indirectly) of the function named i. FIND CALLED_BY (i, DEPTH=ALL)? If you want to limit the depth of the call tree, replace the' keyword ALL by any positive integer.E To obtain help on the following topics, request help as indicated.C o For help on query language, see the Basic_Query_Concepts help topic.A o For help on libraries, see the Building_An_SCA_Library help topic.3 Ada_Attributes_Table= The following table lists the SCA symbol classes and their! corresponding meanings in Ada.= SCA Symbol Classes and Equivalent Ada Language Terminology, SCA Term Ada Term Explanation> Argument Formal A subprogram formal parameter parameterD Component, Component Record components and discriminants Field Constant, Constant Literal Exception Exception? File File A file used during compilation Function, All Procedure, subprograms, Program, entries, Routine, and ACCEPT Subroutine statements? Generic Generic Generic subprograms or generic)  packages0 Keyword Keyword PDF keyword tag Label Labels and loop identifiers Macro N/A Module, Packages Package0 Placeholder Placeholder LSE placeholder Psect N/A( Tag Tag PDF tag- Task Task Task objects Type Type7 Unbound Unbound Pragmas and attributes Variable ObjectA The following table lists the SCA occurrence classes and their! corresponding meanings in Ada.A SCA Occurrence Classes and Equivalent Ada Language Terminology, SCA Term Ada Term Explanation: Primary Body For example, package bodyC Associated Specification For example, package specificationC Declaration Declaration Any declaration, either primary or+ associated3  Reference Reference Any nondeclaration Read, Fetch Read Write, Store Write Address, N/A Pointer Call CallB Command_line Command line A file referred to on the command? line; for example, ADA foo.ada Include N/A Precompiled N/AD Separate Separate Any Ada package or sub-program unit4 defined as SEPARATEJ With Wi th Any WITH of an Ada package or sub-program% unit= Explicit Explicit An entity that is explicitly7 declared. For example,D declarations resulting from generic0 instantiations.E Implicit Implicit Any symbol declared by the compiler,8 for example a loop nameB Visible Visible A symbol whose name is visible in+ the sourceC Hidden Hidden A symbol whose name is not visible< in the source; for example,0 anonymous types@ Compilation_ Compilation Subprogram declaration or body,D unit unit package declaration or body, and so& forth= Limited Limited Any Ada limited private type5 Private Private Any Ada private type= The following table lists the SCA domain classes and their! corresponding meanings in ADA.= SCA Domain Classes and Equivalent Ada Language Terminology, SCA Term Ada Term Explanation> Inheritable Objects declared in a package. specification Global N/A Predefined N/AC Multi_module Inheritable, Global and PredefinedA Module_ Module Objects known to only one module specific specific3 Using_BLISSC This section contains some basic examples that show what SCA canC do to help you with your programs. The examples have very littleA explanation. For a more detailed explanation of the underlyingC concepts, see the Basic_Query_Concepts help topic. The remainderA of this section is written in terms that are specific to BLISS programs.E If you want to follow along and try the examples, you will need toC have an SCA library available. The examples use generic variableG names (such as 'i'). You will have to substitute variable names that/ exist in your code when trying the examples.C The first example is the easiest query. It lets you find all theB items in your SCA library named i, and shows you all the places, where they appear (all occurrences of i): FIND i> You can search for any name in this manner, including using. wildcard characters (for example, FIND i*).C Now suppose you are looking for an occurrence, and you know that@ it occurs in a particular file. The following query finds allE occurrences of items that are named i, but will then limit them to9 those that happen to occur in the file named PROG.B32." FIND i AND FILE_SPEC="PROG.B32"B Another typical question you might ask is, "Find all the placesE where this item is assigned to (or read from, called, declared andC so forth)." The next example finds all occurrences of items thatD are named i, but then limits them to only those occurrences where i is assigned a value: FIND i AND OCCURRENCE=WRITEE (SCA understands many occurrence classes other then WRITE. See theE help subtopics under Getting_Started for tables containing all the= SCA attributes and their corresponding meanings in BLISS.)@ Often, you only want to know where (in what file or module) aC particular routine is, so that you can go to it and edit it. YouD can use the first query (where i will be the name of the routine)@ and then look through the output. The output will include allD occurrences of the routine, one of which will be its declaration,E which you can then select. Or, you can ask SCA to limit the search) for you by typing the following query: FIND i AND OCCURRENCE=PRIMARY> In SCA terms, a primary declaration is the most significant> declaration of an item. For a BLISS routine, this means the> place where the routine is actually implemented. This is inE contrast to FORWARD or EXTERNAL declarations, which are associated declarations.B Another problem you might have is that there are many differentC items in your system having a given name. Some may be variables;B others may be routines, literals, macros, and so forth. Suppose? you want to find only the routines named i. Again, the queryB FIND i will give you what you wanted, but it will also give you< much more. It is preferable to issue the following query:" FIND i AND SYMBOL_CLASS=ROUTINED The last four examples have all selected information based on twoD attributes. The last example selected information based on a nameD attribute (in this case, i) and a symbol_class attribute (in thisA case, ROUTINE). Note how the attributes are combined using theE boolean operator AND. In general, you can select items out of yourD library based on any combination of attributes, using AND as well3 as the other logical operators OR, XOR, and NOT.> The next example shows another primary feature of SCA - theE ability to display relationships between items. This example showsB the most common use of this feature. It finds the complete callE tree (that is, all routines called directly and indirectly) of the routine named i. FIND CALLED_BY (i, DEPTH=ALL)? If you want to limit the depth of the call tree, replace the' keyword ALL by any positive integer.E To obtain help on the following topics, request help as indicated.C o For help on query language, see the Basic_Query_Concepts help topic.A o For help on libraries, see the Building_An_SCA_Library help topic.3 BLISS_Attributes_Table= The following table lists the SCA symbol classes and their# corresponding meanings in BLISS.? SCA Symbol Classes and Equivalent BLISS Language Terminology, SCA Term BLISS Term Explanation9 Argument Parameter Routine formal parameterB Component, Field Subpart of a BLOCK or BLOCKVECTOR* Field structure* Constant, Literal A literal Literal Exception N/A? File file A file used during compilation* Function, routine A routine Procedure, Program, Routine, Subroutine Generic N/A0 Keyword Keyword  PDF keyword tag3 Label Label A label identifier( Macro Macro A macro3 Module, Module A compilation unit Package3 Placeholder Placeholder An LSE placeholder( Psect Psect A psect* Tag Tag A PDF tag Task N/A6 Type Type For example, fieldsetB Unbound Unbound A name the compiler does not knowD  the purpose of. This is common when1 macros are used.3 Variable Variable A program variableA The following table lists the SCA occurrence classes and their# corresponding meanings in BLISS.C SCA Occurrence Classes and Equivalent BLISS Language Terminology, SCA Term BLISS Term Explanation? Primary Declaration The declaration containing the6 actual implementationB Associated Declaration A FORWARD or EXTERNAL declaration? Declaration Declaration Either a PRIMARY or ASSOCIATED, declaration Read, Fetch Fetch Write, Store Store Address, Address Pointer Call call@ Command_line Input file A file specified on the commandA specification line; for example, BLISS foo.b32A Include Require A file specified in a REQUIRE or3 %REQUIRE statement> Precompiled Library A file specified in a LIBRARY* statement3 Reference Reference Any nondeclaration@ Explicit Explicit Any symbol declared by the userE Implicit Implicit Any symbol declared by the compiler;= for example, a loop variableB Visible Visible A symbol whose name is visible in+ the sourceC Hidden Hidden A symbol whose name is not visible< in the source; for example,9 contained inside a macro) Compilation_ Module A module unit declaration= The following table lists the SCA domain classes and their# corresponding meanings in BLISS.? SCA Domain Classes and Equivalent BLISS Language Terminology, SCA Term BLISS Term ExplanationE Inheritable Inheritable A symbol declared in a library file,3 and used elsewhere Global GLOBALC Predefined Defined by For example, CH$FILL, BLOCKVECTOR,- the language and so forthC Multi_module GLOBAL, Predefined, or Inheritable Module_ LOCAL or OWN specific 3 Using_CA This section contains some basic ex amples that illustrate whatD SCA can do to help you with your programs. The examples have veryE little explanation. If you want a more detailed explanation of theD underlying concepts, see the Basic_Query_Concepts help topic. TheE remainder of this section is written in terms that are specific to C programs.E If you want to follow along and try the examples, you will need toC have an SCA library available. The examples use generic variableG names (such as 'i'). You will have to substitute variable names that/ exist in your code when trying the examples.C The first example is the easiest query: It lets you find all theB items in your SCA library named i, and shows you all the places, where they appear (all occurrences of i). FIND i> You can search for any name in this manner, including using. wildcard characters (for example, FIND i*).@ Now let's say you are looking for an occurrence, and you knowE that it occurs in a particula r file. The following query finds allD occurrences of items that are named i but will then limit them to: those which happen to occur in the file named 'PROG.C'. FIND i AND FILE_SPEC="PROG.C"A Another typical question one might ask is "Find all the placesE where this item is assigned to (or read from, called, declared,andC so forth)." The next example finds all occurrences of items thatD are named i, but then limits them to only those occurrences where i is assigned a value. FIND i AND OCCURRENCE=WRITEE (SCA understands many occurrence classes other then WRITE. See theE help subtopics under Getting_Started for tables containing all the9 SCA attributes and their corresponding meanings in C.)@ Often, you only want to know where (in what file or module) a@ particular function is, so that you can go to it and edit it.B You could use the first query (where i would be the name of the? function) and then look through the output. The out put wouldA include all occurrences of the function, one of which would beE its definition, which you could then select. Or, you could ask SCA= to limit the search for you by typing the following query: FIND i AND OCCURRENCE=PRIMARY> In SCA terms, a primary declaration is the most significantD declaration of an item. For a C function, this means the function> definition. This is in contrast to a C function declarationA (for example, extern i()), which in SCA terms is an associated declaration.B Another problem you might have is that there are many differentC items in your system having a given name. Some may be variables;E others may be functions, #define constants, macros, and so forth.B Suppose you want to find only the functions named i. Again, theA query FIND i would give you what you wanted, but it would alsoE give you much more. It is preferable to issue the following query:# FIND i AND SYMBOL_CLASS=FUNCTIOND The last four examples have all selected information based on twoD attributes. The last example selected information based on a nameD attribute (in this case, i) and a symbol class attribute (in thisB case, FUNCTION). Note how the attributes are combined using theE boolean operator AND. In general, you can select items out of yourD library based on any combination of attributes, using AND as well2 as the other logical operators OR, XOR and NOT.> The next example shows another primary feature of SCA - the> ability to display relationships between items. The exampleA given here shows the most common use of this feature. It findsE the complete call tree (that is, all functions called directly and( indirectly), of the function named i. FIND CALLED_BY (i, DEPTH=ALL)C If you want to limit the depth of the call tree, you can replace+ the keyword ALL by any positive integer.E To obtain help on the following topics, request help as indicated.C o For help on query language, see the Basic_Query_Concepts help topic.A o For help on libraries, see the Building_An_SCA_Library help topic.3 C_Attributes_Table= The following table lists the SCA symbol classes and their corresponding meanings in C.; SCA Symbol Classes and Equivalent C Language Terminology, SCA Term C Term ExplanationA Argument Formal The variable named in a function+ Parameter definitionA Component, Member A member of a structure or union FieldE Constant, Constant A defined value that does not change Literal Exception N/A? File File A file used during compilation@ Function, Function Any function ( such as 'main' ) Procedure, Program, Routine, Subroutine Generic N/A0 Keyword Keyword PDF keyword tag3 Label Label  A label identifier; Macro Macro A Macro created by #defineA Module, Module Each .c source file represents a' Package module3 Placeholder Placeholder An LSE placeholder Psect N/A* Tag Tag A PDF tag Task N/AC Type Type int, float, struct {...}, typedef,- and so forth Unbound N/A1 Variable Variable Program variableA The following table lists the SCA occurrence classes and their corresponding meanings in C.? SCA Occurrence Classes and Equivalent C Language Terminology, SCA Term C Term ExplanationB Primary Declaration Most significant declaration; forD or definition example, a variable declaration, or6 a function definitionA Associated Declaration  Other declarations; for example,@ function declarations or EXTERN- declarationsC Declaration Definition or Any declaration, either primary or+ Declaration associated@ Read, Fetch Read The act of retrieving an RvalueC Write, Store Write Changing the contents of an Lvalue: Address, Address The use of the & operator Pointer0 Call Call A function call@ Command_line Command_line A file specified on the command< line, for example, CC foo.c? Include Include A file specified in a #include7 preprocessor directive Precompiled N/A3 Reference Reference Any nondeclaration= Explicit Explicit An entity that is explicitly) declared= Implicit Implicit An entity that is implicitly> declared by the compiler; forA example, a function with no type> is implicitly declared as INT= Visible Visible Occurrence appears in source> Hidden Hidden Occurrence does not appear in@ source; for example, it appearsA only in the expansion of a macro) Compilation_ Module A module unit= The following table lists the SCA domain classes and their corresponding meanings in C.; SCA Domain Classes and Equivalent C Language Terminology, SCA Term C Term Explanation Inheritable N/A@ Global Globally For example, extern, globaldef,7 visible globalref, globalvalue> Predefined Defined by For example, int, float, char  the language6 Multi_module Predefined and globalD Module_ Local to one For example, static, auto, register specific module 3 Using_C++A This section contains some basic examples that illustrate whatD SCA can do to help you with your programs. The examples have veryE little explanation. If you want a more detailed explanation of theD underlying concepts, see the Basic_Query_Concepts help topic. TheE remainder of this section is writ ten in terms that are specific to C++ programs.E If you want to follow along and try the examples, you will need toC have an SCA library available. The examples use generic variableG names (such as 'i'). You will have to substitute variable names that/ exist in your code when trying the examples.C The first example is the easiest query: It lets you find all theB items in your SCA library named i, and shows you all the places, where they appear (all occurrences of i). FIND i> You can search for any name in this manner, including using. wildcard characters (for example, FIND i*).@ Now let's say you are looking for an occurrence, and you knowE that it occurs in a particular file. The following query finds allD occurrences of items that are named i but will then limit them to< those which happen to occur in the file named 'PROG.CXX'." FIND i AND FILE_SPEC="PROG.CXX"A Another typical question one might ask is "Find all the place sE where this item is assigned to (or read from, called, declared,andC so forth)." The next example finds all occurrences of items thatD are named i, but then limits them to only those occurrences where i is assigned a value. FIND i AND OCCURRENCE=WRITEE (SCA understands many occurrence classes other then WRITE. See theE help subtopics under Getting_Started for tables containing all the; SCA attributes and their corresponding meanings in C++.)@ Often, you only want to know where (in what file or module) a@ particular function is, so that you can go to it and edit it.B You could use the first query (where i would be the name of the? function) and then look through the output. The output wouldA include all occurrences of the function, one of which would beE its definition, which you could then select. Or, you could ask SCA= to limit the search for you by typing the following query: FIND i AND OCCURRENCE=PRIMARY> In SCA terms, a primary declaration is the most significantF declaration of an item. For a C++ function, this means the functionE definition. This is in contrast to a C++ function declaration (forI example, extern i()), which in SCA terms is an associated declaration.B Another problem you might have is that there are many differentC items in your system having a given name. Some may be variables;E others may be functions, #define constants, macros, and so forth.B Suppose you want to fin d only the functions named i. Again, theA query FIND i would give you what you wanted, but it would alsoE give you much more. It is preferable to issue the following query:# FIND i AND SYMBOL_CLASS=FUNCTIOND The last four examples have all selected information based on twoD attributes. The last example selected information based on a nameD attribute (in this case, i) and a symbol class attribute (in thisB case, FUNCTION). Note how the attributes are combined using theE b oolean operator AND. In general, you can select items out of yourD library based on any combination of attributes, using AND as well2 as the other logical operators OR, XOR and NOT.> The next example shows another primary feature of SCA - the> ability to display relationships between items. The exampleA given here shows the most common use of this feature. It findsE the complete call tree (that is, all functions called directly and( indirectly), of the function named i.  FIND CALLED_BY (i, DEPTH=ALL)C If you want to limit the depth of the call tree, you can replace+ the keyword ALL by any positive integer.E To obtain help on the following topics, request help as indicated.C o For help on query language, see the Basic_Query_Concepts help topic.A o For help on libraries, see the Building_An_SCA_Library help topic.3 C++_Attributes_Table= The following table lists the SCA symbol classes and their! corresponding meanings in C++.= SCA Symbol Classes and Equivalent C++ Language Terminology. SCA Term C++ Term ExplanationE Argument Formal Formal arguement such as a routine4 Parameter or macro argumentI Class Class Any C++ class object defined by class,5 structure or unionD Component, Class, structure A component of a class, structure+ Field or union member or union? Constant, Constant Named compile-time constants LiteralC Exception Exception A program exception specified byF the catch, throw and try statementsA File File A file used during compilationH Function, Function Callable routines defined by function- Procedure, statements Program, Routine, SubroutineE Generic Template  Generic object defined by template* objects2 Keyword Keyword PDF keyword tag7 Label Function Label User-specified label= Macro Macro A Macro created by #defineE Module, Module Any logical program unit typicallyE Package each .cxx source file represents a) module5 Placeholder Placeholder An LSE placeholder Psect N/A, Tag Tag A PDF tag Task N/AE Type Type int, float, struct {...}, typedef,/ and so forth Unbound N/A3 Variable Variable Program variableA The following table lists the SCA occurrence classes and their! corresponding meanings in C++.A SCA Occurrence Classes and Equivalent C++ Language Terminology. SCA Term C++ Term ExplanationB Primary Declaration Most significant declaration; forD or definition example, a variable declaration, or6 a function definitionA Associated Declaration Other declarations; for example,@ function declarations or EXTERN- declarationsC Declaration Definition or Any declaration, either primary or+  Declaration associated@ Read, Fetch Read The act of retrieving an RvalueC Write, Store Write Changing the contents of an Lvalue: Address, Address The use of the & operator Pointer0 Call Call A function call@ Command_line Command_line A file specified on the command= line, for example, Cxx foo.c? Include Include A file specified in a #include7  preprocessor directive Precompiled N/A: Base Base Any base class of a class6 Friend Friend Any friend of a class6 Member Member Any member of a class3 Reference Reference Any nondeclaration= Explicit Explicit An entity that is explicitly) declared= Implicit Implicit An entity that is implicitly>  declared by the compiler; forA example, a function with no type> is implicitly declared as INT= Visible Visible Occurrence appears in source> Hidden Hidden Occurrence does not appear in@ source; for example, it appearsA only in the expansion of a macro) Compilation_ Module A module unit3  Private Private Any private object5 Protected Protected Any protected object2 Public Public Any public object3 Virtual Virtual Any virtual object= The following table lists the SCA domain classes and their! corresponding meanings in C++.= SCA Domain Classes and Equivalent C++ Language Terminology. SCA Term C++ Term Explanation Inheritable N/A@ Global Globally  For example, extern, globaldef,7 visible globalref, globalvalue> Predefined Defined by For example, int, float, char the language6 Multi_module Predefined and globalD Module_ Local to one For example, static, auto, register specific module3 Using_FORTRANA This section contains some basic examples that illustrate whatD SCA can do to help you with your programs. The examples have veryE little explanation. If you want a more detailed explanation of theD underlying concepts, see the Basic_Query_Concepts help topic. TheE remainder of this section is written in terms that are specific to FORTRAN programs.E If you want to follow along and try the examples, you will need toC have an SCA library available. The examples use generic variableG names (such as 'i'). You will have to substitute variable names that/ exist in your code when trying the examples.C The first example is the easiest query: It lets you find all theB items in your SCA library named i, and shows you all the places, where they appear (all occurrences of i). FIND i% characters (for example, FIND i*).@ Now let's say you are looking for an occurrence, and you knowE that it occurs in a particular file. The following query finds allD occurrences of items that are named i but will then limit them to< those which happen to occur in the file named 'PROG.FOR'." FIND i AND FILE_SPEC="PROG.FOR"A Another typical question one might ask is "Find all the placesB where this item is assigned to (or read from, called, declared,B and so forth)." The next example finds all occurrences of itemsC that are named i, but then limits them to only those occurrences where i is assigned a value. FIND i AND OCCURRENCE=WRITEE (SCA understands many occurrence classes other then WRITE. See theE help subtopics under Getting_Started for tables containing all the? SCA attributes and their corresponding meanings in FORTRAN.)@ Often, you only want to know where (in what file or module) aB particular subroutine is, so that you can go to it and edit it.B You could use the first query (where i would be the name of theA subroutine) and then look through the output. The output wouldC include all occurrences of the subroutine, one of which would beE its definition, which you could then select. Or, you could ask SCA = to limit the search for you by typing the following query: FIND i AND OCCURRENCE=PRIMARY> In SCA terms, a primary declaration is the most significantB declaration of an item. For a FORTRAN subroutine, this is where? the actual SUBROUTINE statement is. This is in contrast to aD FORTRAN EXTERNAL declaration, which in SCA terms is an associatedE declaration. The FORTRAN compiler also creates implicit associated- declarations for any undeclared functions.B Another p roblem you might have is that there are many differentC items in your system having a given name. Some may be variables;@ others may be subroutines, PARAMETER constants, and so forth.D Suppose you want to find only the subroutines named i. Again, theA query FIND i would give you what you wanted, but it would alsoE give you much more. It is preferable to issue the following query:% FIND i AND SYMBOL_CLASS=SUBROUTINED The last four examples have all selected information base d on twoD attributes. The last example selected information based on a nameD attribute (in this case, i) and a symbol class attribute (in thisD case, SUBROUTINE). Note how the attributes are combined using theE boolean operator AND. In general, you can select items out of yourD library based on any combination of attributes, using AND as well2 as the other logical operators OR, XOR and NOT.> The next example shows another primary feature of SCA - the> ability to display rela tionships between items. The exampleA given here shows the most common use of this feature. It findsC the complete call tree (that is, all subroutines called directly. and indirectly), of the subroutine named i. FIND CALLED_BY (I, DEPTH=ALL)C If you want to limit the depth of the call tree, you can replace+ the keyword ALL by any positive integer.E To obtain help on the following topics, request help as indicated.C o For help on query language, see the Basic_Query_Concepts help topic.A o For help on libraries, see the Building_An_SCA_Library help topic.3 FORTRAN_Attributes_Table= The following table lists the SCA symbol classes and their% corresponding meanings in FORTRAN.A SCA Symbol Classes and Equivalent FORTRAN Language Terminology, SCA Term FORTRAN Term ExplanationA Argument Dummy The variable named in a function, argument declaration Component,  record Field component Constant, PARAMETER Literal Exception N/A? File File A file used during compilation@ Function, SUBROUTINE or A SUBROUTINE, FUNCTION, or main( Procedure, FUNCTION program Program, Routine, Subroutine Generic N/A. Keyword Keyword A PDF keyword2 Label Label A statement label Macro N/A Module,  BLOCK DATA, Package SUBROUTINE3 Placeholder Placeholder An LSE placeholder Psect COMMON block* Tag tag A PDF tag Task N/AD Type Type For example, INTEGER, REAL, COMPLEX- and so forth Unbound N/A Variable VariableA The following table lists the SCA occurrence classes and their% corresponding meanings in FORTRAN.E  SCA Occurrence Classes and Equivalent FORTRAN Language Terminology, SCA Term FORTRAN Term Explanation? Primary Declaration The declaration containing the6 actual implementation8 Associated Declaration An EXTERNAL declarationC Declaration Declaration Any declaration, either primary or+ associated Read, Fetch Read Write, Store Write7 Address, Address  %LOC, actual arguments Pointer> Call Call For example, a CALL statement@ Command_line Command line A file specified on the commandC line; for example, FORTRAN foo.for? Include INCLUDE A file specified in an INCLUDE* statement Precompiled N/A3 Reference Reference Any nondeclaration@ Explicit Explicit Any symbol declared by the us erD Implicit Implicit Any symbol declared by the compilerA when it sees the first referenceB Visible Visible A symbol whose name is visible in+ the sourceC Hidden Hidden A symbol whose name is not visible. in the sourceA Compilation_ Program unit A SUBROUTINE, FUNCTION, PROGRAM,9 unit BLOCK DATE, and so forth= The following table lists the SCA domain classes and their% corresponding meanings in FORTRAN.A SCA Domain Classes and Equivalent FORTRAN Language Terminology, SCA Term FORTRAN Term Explanation Inheritable N/AB Global A SUBROUTINE, FUNCTION, or COMMON& blockE Predefined Defined by For example, INTEGER, REAL*4, and so& the language forth Multi_module  GLOBAL, predefined, and inheritable@ Module_ Only known within a SUBROUTINE,7 specific FUNCTION, and so forth 2 Glossary3 analysis_data_file@ A file produced by a compiler which contains information that? describes the source code to SCA. It may contain one or more analysis data modules.3 analysis_data_module> A module containing all the information used by SCA for one compilation unit. 3 appearanceC One of the attributes of an occurrence. It tells you whether theD name of the occurrence is visible or hidden. You can instruct SCAE to show only occurrences with a particular appearance by using theB "occurrence=" attribute selection. For example, you can ask for8 hidden occurrences by specifying "occurrence=hidden."3 associated_declarationA Any declaration which is not a primary declaration. Typically,E associated de clarations provide information needed by the compiler to refer to an object.3 attribute_selectionC A way of limiting a result of a query to those occurrences which> match certain characteristics. You can select the followingC attributes: NAME, SYMBOL_CLASS, OCCURRENCE, DOMAIN, or FILE_SPECD attributes. In the query language, you use phrases like name=foo,C symbol=argument, occurrence=declaration, domain=module_specific,E and file="foo.c" to specify which attributes you want. You combine0 these phrases with AND, OR and NOT operators.!3 attribute_selection_expressionC A query question which combines one or more attribute selectionsB (such as name=foo, symbol=routine) using AND, OR, NOT, and XOR. Some examples are:7 name=foo and symbol=routine and occurrence=primary4 name=foo_module and occurrence=compilation_unit 3 call_graphD Shows what procedures and functions are called from a subroutine,. and all subsequent calls in the call graph. 3 CALLED_BY+ See the SCA_Topics CALLED_BY help topic. 3 CALLING) See the SCA_Topics CALLING help topic.3 compilation_line_number@ A line number generated by the compiler which starts at 1 for@ the first file used during the compile and goes up by one forD each line read. If there is an include file, the compilation lineC number is increased by one for each line in the include file. ByA default, the line numbers in the query display produced by the9 FIND or INSPECT commands are compilation line numbers.3 compilation_unit? A compilation unit is the smallest piece of source code that? can be separately compiled. For example, in FORTRAN, this is> a subroutine or function; in C, this is a single file. Some@ languages allow you to compile more than one compilation unitA at once. Even if you compile more than one unit at a time, SCA& considers the units to be separate.3 consistency_checksB A check that INSPECT make s in which all occurrences of a symbol@ are checked for consistency. For example, you can ensure that= all calls to a routine have the correct number and type of@ arguments. In this type of check, each occurrence is comparedB with a single occurrence selected by INSPECT to be the standardD against which all occurrences are checked. In this type of check,= each particular occurrence is either correct or incorrect.3 CONTAINED_BY. See the SCA_Topics CONTAINED_BY help topic. 3 CONTAINING, See the SCA_Topics CONTAINING help topic.3 declarationB Tells the compiler about an object before the compiler uses it.C This can make the compiler create the object, or it can tell theE compiler about an object that was created elsewhere. A declarationB has a position in the source code with both a start and an end,B and can contain other declarations or references. A declarationD can be either a primary declaration or an associated declaration.3 dec laration_class< Tells you what symbol class a declaration is (subroutine,B function, variable). For example, both procedures and functionsB (in Pascal terms) belong to the routine symbol class, but theirA declaration classes are different. The declaration class tells= the user whether a declaration is a primary declaration or? an associated declaration. SCA uses the declaration class toD decide what to display as the occurrence class in the result of aB FIND command. The user can find the declaration class using the callable interface.3 diagnostic_error_messagesB The error messages that INSPECT produces. The query result fromD an INSPECT command is like that of a FIND command, but with error( messages attached to each occurrence. 3 explicit See expression. 3 expressionC One of the attributes of an occurrence. The expression attributeC tells you whether the occurrence is one that you the user placed? in the source code, or is one which the compiler created for> the user. An occurrence can be either explicit or implicit.B Explicit occurrences are those placed by the user in the sourceB code; implicit occurrences are those created by the compiler onE behalf of the user. For example, in the following FORTRAN program,C there are three references to i which are explicit. There is oneE implicit declaration of i which is created by the FORTRAN compiler) when it sees the first reference to i. program test i = 0 i = i + 1 end 3 hidden* See both appearance and hidden modules.3 hidden_modulesE A module in one of the libraries in the current library list whichE is also present in a library which is earlier in the library list.C The module in the earlier library is visible. The same module inD any later library is a hidden module, hidden by the first module. 3 implicit See expression. 3 indicatedA This term is specific to using SCA with LSE. It refers to theC symbol underneath the current cursor location within the editor, ie., the indicated symbol.3 intersection? The operation performed by the AND operator, which indicates@ that SCA will accept any occurrence that matches both X and Y as follows: FIND X AND Y 3 library8 Generic term usually referring to a physical library.3 library_listE A list of one or more physical libraries which compose the virtual? library. The order of t he physical libraries is important. AA module found in one physical library in the library list hidesE the same module in other physical libraries that come later in the library list.D For example, suppose you have three libraries. Library 1 contains> module A. Library 2 contains modules A, B, and C. Library 3> contains modules C and D. SCA uses module A from Library 1,? modules B and C from library 2, and module D from library 3.3 library_numberC Refers to the pos ition of a single physical library in a libraryC list. This can be used with any command that refers to a library< already in the library list. For example, the command SET? NOLIBRARY 1 removes the first library from the library list. 3 moduleA Represents a single compilation unit. You can list the modules? with the SHOW MODULE command. Each module shown represents aB single compilation unit - the smallest piece of source that canC be separately compiled. Even if several of these are compiled atA once (which is common in languages such as FORTRAN and BASIC),, each compilation unit appears separately.@ In the query language, SYMBOL=MODULE specifies a certain typeA of symbol. This is not the same as a compilation unit. You can@ have modules which are not compilation units, and compilationC units which are not modules. How a module is defined varies from language to language.3 nameA A string of characters used to identify symbols in your sourceE code. Legal characters for a name are defined by whatever language@ you use. Each name has zero or more characters. Any characterA may appear in a name. Special characters that appear in a nameF must be quoted using double quotes. Which characters are consideredC special characters is system dependent. See the system specific guide for further details.3 name_selection_expressionC Selects occurrences with a particular name. For example, you can specify the following: FIND name=xyz= You can use wildcards in the name expression. Unlike otherA atttributes, you can omit "name=" from the expression and only specify the following: FIND xyz(3 nonstructured_relationship_expressionB A relationship query (such as CONTAINED_BY, CALLED_BY, CALLING)A which requests that structure information be excluded. You canA specify RESULT=NOSTRUCTURE, RESULT=BEGIN, or RESULT=END as oneA of the parameters to the relationsh ip function. If you specify? RESULT=BEGIN or RESULT=END, this is displayed like any query> which does not have a relationship function. If you specifyB RESULT=NOSTRUCTURE, this is displayed like any query which doesE not have a relationship function, but has all the occurrences that2 would be present if the structure were present.3 nonstructured_setE A query result that contains occurrences, but does not contain anyC relationships between occurrences. These are produced by queriesA that do not involve relationship functions, or queries that doA involve relationship functions but specify RESULT=NOSTRUCTURE, RESULT=BEGIN, or RESULT=END. 3 occurrenceA An occurrence is any instance of an entity in your program. An> entity can be any language construct, such as a variable, a@ routine, or a constant. To further clarify this, consider theB following code fragment (not written in a particular language): 1 MODULE myprog; 2  3 VAR i,j; 4 5 ROUTINE foo() 6 BEGIN 7 i = 5; 8 j = i; 9 END; 10 END;C The code contains four entities: myprog, foo, i, j. There is oneA occurrence each of the module myprog, and the routine foo. TheE variable i, however, has three occurrences, and the variable j has two.3 occurrence_checksE A check that INSPECT performs on a single occurrence. For example,E INSPECT can check whether an occurrence is an implicit declarationA of a variable without having to look at any other occurrences.3 occurrence_classE One of the attributes of an occurrence that tells you what kind ofD occurrence it is. The occurrence class indicates if an occurrenceE is a declaration, a reference, or another class. It also indicatesD what kind of declaration or reference it is. You can instruct SCAB to show you only occurrences with a particular occurrence classB using the OCCURRENCE= attribute sel ection. For example, you can3 ask for write references using OCCURRENCE=WRITE."3 occurrence_selection_expressionE The expression containing the occurrence class for each occurrence you want to find.3 physical_library? A single directory containing an SCA database. The directory? should not contain anything else. SCA always locks an entire? physical library when it accesses it. When you are reading aC physical library (for example, with a FIND command), other users D are not allowed to write to the physical library, but other usersA are allowed to read the physical library. When you are writingD to a physical library (for example, using LOAD), no other user is4 allowed to read or write to the physical library.3 primary_declarationC Any declaration which affects how a particular object, such as a) routine or a variable, is implemented.3 primary_libraryC The first library in the library list. Commands which change theA SCA lib rary, such as LOAD and REORGANIZE, apply to the primary6 library, unless you use select a different library.3 queryE The question you ask SCA together with the information you receiveC from SCA. The question uses the SCA query language with the FINDD or INSPECT commands. The answer is called a query result. You useD the FIND or INSPECT commands to display the query result. You canE also use the query result as part of the question for a subsequent query.3 query_res ult@ A query result is the information you get when you evaluate aE query, using the FIND or INSPECT commands. It consists of a set of6 occurrences, and relationships between occurrences. 3 referenceD The use of some object in the source code. For example: X = X + 1C In this example, there are two references to the variable X. OneC (to the left of the =) is a write reference; the other is a readC reference. A reference has a position in the source code, but it1 is a si ngle point and cannot contain anything.3 relationshipE An association between two different occurrences. For example, theD CALLED_BY relationship in SCA associates a primary declaration ofE a procedure with call references to other procedures and functionsD in that procedure. A relationship has both a source and a target.C A relationship also has a relationship type. Relationships go inB both directions. For example, the CALLED_BY relationship is the' inverse of the CALLING relationship.3 relationship_typeC The kind of relationship between two occurrences. For example, aD CALLED_BY relationship between a declaration of a routine FOO andD a reference to a routine BAR shows that routine FOO calls routineE BAR. The relationship types that are valid for SCA are: CALLED_BY,; CALLING, CONTAINED_BY, CONTAINING, TYPED_BY, and TYPING.3 set/ The occurrences that result from each query.3 static_analysis@ The analysis of a software system performed by looking at theA source code. This is in contrast to dynamic analysis, which is0 analysis of the software while it is running.E SCA has some commands which do static analysis. These commands areF the INSPECT command, which does consistency checking, and some uses@ of the FIND command, to generate call graphs and type graphs.%3 structured_relationship_expression@ A query that uses a relationship function (such as CONTAINED_A BY, CALLED_BY, or TYPED) which asks for structure information.D Structure information shows the relationships between occurrencesC found as well as the occurrences found. Structure information is provided by default.3 structured_set> A query result which has both occurrences and relationshipsC between occurrences. These are produced by queries which involve relationship functions. 3 symbolB Any object in a program. For example, a FUNCTION, a VARIABLE, aE CONSTANT, or any of the entities with whi ch a programmer typically deals.< A symbol has occurrences. For example, the declaration of< a variable is an occurrence, and uses of the variable are@ occurrences. SCA determines which occurrences belong to which= symbols using the rules of the language you are using. For? example, you may have two different variables named INDEX inA separate subroutines. According to the rules of your language,? these are usually different variables, so they are different symbols for SCA.@ It does not matter whether all occurrences of a symbol are in@ a single compilation unit, or spread over several compilationB units. All the occurrences still belong to the same symbol. ForC example, you may have a subroutine SUB1 in one module, and callsC to that subroutine in several other modules. These all appear as. occurrences of the same symbol, named SUB1.A The programmer and SCA should have the same definition of whatE constitutes a unique item. SCA' s term for a unique item is symbol.3 symbol_checks@ A check that INSPECT performs on all occurrences of a symbol.? For example, INSPECT can ensure that there are both read andC write references to a variable. In this type of check, no singleD occurrence is either correct or incorrect. If there are problems,/ the problems are with the symbol as a whole.3 SYMBOL_CLASSC An attribute selection that identifies the type of symbol. Tells@ you whether the symbol is a varia ble, constant, or some other@ class. You can use the FIND command to find only symbols with@ a particular symbol class. For example, you can specify "FINDE symbol=argument." You can abbreviate both "symbol" and "argument".$3 symbol_class_selection_expressionA The expression containing the symbol class for each symbol you want to find. 3 type_graphB A set of occurrences and relationships that describes a complexB data type. For example, a declaration of a record consists of aA record and some record components. Each record component has aC type, which may be another record, a pointer to the same record,D a basic data type such as integer, and so forth. In SCA, the typeC graph connects all these together, with relationships connectingB the record to its components and the components to their types. 3 TYPED_BY* See the SCA_Topics TYPED_BY help topic. 3 TYPING( See the SCA_Topics TYPING help topic.3 unionC The operation performed by the OR operator, which indicates that? SCA will accept any occurrence that matches either X or Y as follows: FIND X OR Y3 virtual_libraryC A library that allows you to split your SCA library into pieces.B Each piece is called a physical library. SCA works the same way@ whether your virtual library has only one physical library or several physical libraries.C Some of the reasons for using more than one physical library are as follows:@ o Physic al libraries can be placed on more than one disk, if0 there is not enough room on a single disk.C o Analysis date files can be loaded into more than one physical8 library at the same time, to make LOAD run faster.D o A small personal physical library can be used to keep track of: your personal changes without affecting other users.< o A separate physical library can be used for each major component in your system.= A single virtual library is a list of one or more physical> libraries. The order is important. A module in one physicalB library hides the same module in physical libraries later on in@ the list. This list of physical libraries is called a library list. 3 visible+ See both appearance and visible modules.3 visible_modulesA Modules that SCA can examine when performing a FIND or INSPECT? command. The current library list tells you what modules are@ visible. All modules in the first library in the librar y listB are visible. Modules in the second library which are not in theD first library are visible. Modules in the third library which areE not in the first or second libraries are visible. Any module which is not visible is hidden. 3 wildcards? Wildcards are used to match more than one name at once. What? wildcards are available is system dependent. See the system& specific guide for further details.2 INC The IN function searches for occurrences inside a contain er. TheE IN function is a special case of the CONTAINED_BY function. In its7 most common form, the function format is as follows:! IN( , )E In this format, and can be any legal queryE expression. The IN function returns all occurrences that match theD expression as long as those occurrences are somewhere inside the container.> Some examples will help you understand the IN function. The9 following picture applies to the examples that follow. A (module)( +-------------------------+( | |( | B (routine) |( | +-------------------+ |( | | | |( | | C (routine) | |( | | +-------------+ | |( | | | | | |( | | | D (variable)| | |( | | | | | |( | | | | | |( | | +-------------+ | |( | | | |( | +-------------------+ |( | |( | E (variable) |( | |( +-------------------------+" Consider the following queries: 1. FIND IN( A, *) 2. FIND IN( B, D)D 3. FIND IN( A, SYMBOL_CLASS=ROUTINE and OCCURRENCE=DECLARATION)A The first query retur ns B (a containee), C (a containee), D (aB containee) and E (a containee). A is not returned because it is the container.E The second query returns only D (the containee). C is not returnedA because it does not match the expression. B is not( returned because it is the container.E The third query returns all routine declarations inside A. In this case, B and C are returned.< The IN function is a convenient way to limit a query to a particular container.4 The full format of the In function is as follows: IN( [END=], [BEGIN=] )E In this format, and can be any legal query expression. 2 INDICATED@ The INDICATED function is available only from within LSE. TheC INDICATED function matches the occurrence on which the cursor isC positioned. The INDICATED function has no parameters. The format is as follows: INDICATED()< An example of using the INDICATED function is as follows: FIND EXPAND( INDICATED() )C This query finds all occurrences of the item on which the cursor is positioned in LSE.2 Language_Specific_Tables> For information about SCA terms and corresponding language-A specific terminology, see the tables under the Getting_Started help topic. 2 Libraries3 Project_LibrariesB There are many ways you can organize the SCA libraries for your? project. Usually, there is one library (or set of l ibraries)? for the whole project. Each developer has a personal libraryB containing modules that they have changed but have not yet madeA available to the entire project. However, if there is only oneA developer working on the project, it makes more sense to use a single SCA library.C There are many ways you can organize your project libraries. YouC can have one project SCA library if it is a reasonable size. YouE can use several libraries, one for each subsystem. You may want toC organize your SCA libraries the way your development environment? is organized. For example, have one SCA library for each CMSA library. If your project is divided into different subsystems,3 you may want one SCA library for each subsystem.A For information on creating your own SCA library, see the help! topic Building_An_SCA_Library. Examples of Typical LibrariesD Consider a project with three developers: Paul, Mark, and Joanna.F The project con sists of two different subsystems, each with its own SCA library.K Each of the developers also has a personal SCA library in their personal directories.I Paul, Mark and Joanna set up their SCA libraries using the SCA library command as follows:D SCA> SET LIBRARY personal_lib,subsystem_1_lib,subsystem_2_libI When Paul changes a module in Subsystem 1, he compiles it and loads itJ into his personal library. For Paul, this hides the old version of theJ modul e in the project library for Subsystem 1, so his SCA library is up+ to date and consistent with his changes.C Mark and Joanna do not see Paul's changes in their SCA librariesI because they the SCA library that Paul updated is not in their libraryE list. They still see the old version of the module in the project library for Subsystem 1.K Once Paul has completed his change, the nightly build updates everythingJ for Subsystem 1, replacing the module in the project librar y. Now Mark& and Joanna can both see the change.3 Virtual_LibrariesD SCA can use more than one SCA library at the same time when doing? queries using the FIND and INSPECT commands. The list of SCAA libraries used for this is called a virtual library. The orderA of SCA libraries in the library list is important. A module inB the first library in the library list will hide the same moduleC in other libraries, further on in the library list. For example,@ suppose PROJECT _LIB has modules A, B, C and library MYLIB has8 modules A, and D. You can set the library as follows:/ LSE Command> SET LIBRARY MYLIB,PROJECT_LIB> The modules visible in the virtual library would be A (from? MYLIB), B, and C (both from PROJECT_LIB) and D (from MYLIB).E There are many reasons for using more than one physical library as your virtual library:C o Using more than one library, you can improve LOAD performance@ by loading multiple libraries simultan eously. See the help topic Reducing_LOAD_Time.B o You can use virtual libraries to allow several developers to? maintain a consistent view of their changes to a project,@ without affecting the other developers, and without having8 to copy the entire SCA library for each developer.= o You can put your SCA libraries on different disks or on; different nodes (using the SCA server). This improvesA performance or takes advantage of the available disk spa ce.J o You can easily change the order of libraries in your virtual libraryG list with the INSERT LIBRARY BEFORE, INSERT LIBRARY AFTER, INSERTK LIBRARY FIRST, and INSERT LIBRARY LAST commands, eliminating the needM to reenter a library list. Libraries may also be removed from the listI with the CANCEL LIBRARY command. You can specify libraries in yourJ library list using library numbers. For example, the command CANCELE LIBRARY 2 removes the second SCA  library from the library list.2 NAMEB NAME is an attribute of an occurrence that is a string of ASCII= characters which identifies symbols in your source code. A= specific name can be associated with more than one symbol.> The language you are using defines the legal characters for? a name. Each name has zero or more characters. Any characterA may appear in a name. Special characters that appear in a nameF must be quoted using double quotes. Which characters are consideredC special characters is system dependent. See the system specific guide for further details.B You can use wildcards in the name expression. See the entry on% WILDCARDS for further information.3 The format for NAME can be one of the following: name NAME=(name[,name...]) 2 New_UsersF The Source Code Analyzer for OpenVMS (SCA) is an interactive cross-E reference and static analysis tool that works with many languages.B It can help you understand th e complexities of a large softwareE project. Because it allows you to analyze and understand an entire@ system, SCA is extremely useful during the implementation and# maintenance phases of a project.D SCA is included in the DECset Software Engineering Tools Package.C SCA is integrated with the Language-Sensitive Editor for OpenVMS@ (LSE). When SCA is used with LSE, you can interactively edit,D compile, debug, navigate, and analyze source code during a single development session.2 For more information, see the following topics:A o Basic_Query_Concepts - Describes some of the basic concepts underlying SCA queries.A o Getting_Started - Provides subtopics with information about. getting started with specific languages.B o Building_An_SCA_Library - Describes how to quickly create an SCA library.D o Advanced_Query_Examples - Provides advanced examples using the supplied example library.3 o Glossary - Provides definitions of SCA terms.C o Libraries - Provides subtopics with information about project& libraries and virtual libraries.E o Reducing_LOAD_Time - Provides guidelines for reducing your LOAD time.D o Quick_Reference_Card - Provides a pointer to a quick reference& card for the SCA query language.E Under SCA_Topics, there is help information for specific keywords.C These keywords include attributes, relationships, and functions.B For example, you can request help on SCA_Topics SYMBOL_CLASS to4 get information about the SYMBOL_CLASS attribute. 2 OCCURRENCE= The occurrence class is an attribute of an occurrence thatD identifies the type of occurrence. The occurrence class indicatesA if the occurrence is a declaration, a reference, or one of theE other classes in the list that follows. If the occurrence class isB a declaration or reference, the occurrence class indicates what* type of declaration or reference it is.? The format for the occurrence class attribute is as follows:$ OCCURRENCE=(keyword[,keyword...])= The occurrence class can be one of the following keywords: Declarations, o PRIMARY - most significant declaration) o ASSOCIATED - associated declaration) o DECLARATION - primary or associated References+ o READ, FETCH - fetch of a symbol value1 o WRITE, STORE - assignment of a symbol value> o ADDRESS, POINTER - reference to the location of a symbol' o CALL - call to a routine or macro0 o COMMAND_LINE - command line file reference. o INCLUDE - source file include referenece7 o PRECOMPILED - precompiled file include refereneceD o OTHER - any other kind of reference (such as a macro expansion or use of a constant)- o REFERENCE - any of the preceding values* o BASE - Any base class of a C++ class( o FRIEND - Any friend of a C++ class( o MEMBER - Any member of a C++ class= o SPEPARATE - Any Ada package or sub-program unit defined as SEPARATE; o WITH - Any WITH of an Ada package or sub-program unit Other Occurrence Classes$ o EXPLICIT - explicitly declared$ o IMPLICIT - implicitly declared0 o VISIBLE - occurrence appears in the source7 o HIDDEN - occurrence does not appear in the source: o COMPILATION_UNIT - the declaration that contains all2 occurrences in a particular compilation unit, o LIMITED - Any Ada limited private type< o PRIVATE - Any private C++ objects, or Ada private type* o PROTECTED - Any protected c++ object$ o PUBLIC - Any public C++ object& o VIRTUAL - Any virtual C++ object: The previous keywords are SCA terms. For information on> corresponding language-specific terms, request help for theE appropriate language table (for example, FORTRAN_ATTRIBUTES_TABLE)( under the Getting_Started help topic.; An example using the occurrence class attribute follows: FIND OCCURRENCE=PRIMARY< This query finds all PRIMARY occurrences of declarations.2 Quick_Reference_CardA ATTRIBUTE SELECTIONS: |RELATIONSHIP FUNCTIONS:* |5 Name Class: |Short form:5 ---------- |-----------N |CALLED_BY(,,)L NAME= |CALLING(,,)* NAME=(,...) |O |CONTAINED_BY(,,? Symbol Class: | )M ------------- |CONTAINING(,,= SYMBOL= | )* SYMBOL=(,...) |J |TYPED_BY(,,)H Symbol Class keywords:  |TYPING(,,)* |4 Argument, Component, Constant, |Long form:4 Exception, File, Field, Function, |----------L Generic, Keyword, Label, Literal, |(END=,N Macro, Module, Package, Placeholder, | BEGIN=,M Procedure, Program, Psect, Routine, | DEPTH={ | ALL },M Subroutine, Tag ,Task, Type, Unbound, | RESULT=,N Variable, Other, All, None | TRACE=)* |: Occurrence Class: |Result keywords:* ----------------- |M OCCURRENCE= |Begin, End, [No]Structure, Any_path* OCCURRENCE=(,...) |: |OTHER FUNCTIONS:4 Occurrence Class keywords: |----------*  |E Declaration, Primary, Associated, |IN (END=,G Reference, Address, Call, | BEGIN=)* Command_line, Fetch, Include, |E Pointer, Precompiled, Read, Store, |EXPAND ()* Write, Other, All, None |9 |@()* Domain Class: |M ------------- |INDICATED() (NOTE: LSE required)*  DOMAIN= |A DOMAIN=(,...) |NOT()* |* Domain Class keywords: |* |* Global, Inheritable, Module_specific, |* Multi_module, Predefined, All, None |* |* File Class: |* ---------- |* FILE= | * FILE=(,...) |* |* OPERATORS: |* ---------- |* AND, OR, XOR, Pathname (\ or \\) |* |* ATTRIBUTE SELECTION EXPRESSIONS: |* [ ]...|2 Reducing_LOAD_time@ There are different means you can use to try to decrease LOADC time. Listed below are a few guidelines that may help y ou reduce LOAD time:= o Loading an SCA library for a software system is a time-B consuming operation. Loading more than one module at a time> is more efficient than loading modules separately. UsingA LOAD *.ANA is a common method for loading multiple modules.D LOAD -DELETE can be used to clean up .ANA files after they areD loaded successfully and to use a little less disk space during the load.@ o With large software systems, it is a good idea ! to use moreA than one SCA library and load them all simultaneously. ThisB can lessen the elapsed LOAD time considerably. You should be? able to load several libraries simultaneously on a singleB disk. Additionally, using more than one CPU to do your loadsC also helps, but SCA loading is mainly I/O intensive. For moreC information about how to use multiple libraries, see the help subtopics under Libraries.A o SCA uses a large number of I/Os during L"OAD. Loading an SCAC library on a heavily used or badly fragmented disk causes the load to be less efficient.2 SYMBOL_CLASSE SYMBOL_CLASS is an attribute selection that identifies the type ofE symbol. A symbol can be a variable, constant, or some other class.- The format for SYMBOL_CLASS is as follows:& SYMBOL_CLASS=(keyword[,keyword...])9 The SYMBOL_CLASS can be one of the following keywords:E o ARGUMENT - formal argument (such as a routine argume#nt or macro argument)B o CLASS - Any C++ class object construct defined by the union,# structure or class statements- o COMPONENT,FIELD - component of a record: o CONSTANT,LITERAL - named compile-time constant value o EXCEPTION - exception o FILE - file@ o FUNCTION,PROCEDURE, PROGRAM,ROUTINE, SUBROUTINE - callable program function o GENERIC - generic unit o KEYWORD - keyword" o LABEL - user-specified label o MA$CRO - macro@ o MODULE, PACKAGE - collection of logically related elements7 o PLACEHOLDER - marker where program text is needed o PSECT - program section o TAG - comment heading o TASK - task o TYPE - user-defined type o UNBOUND - unbound name! o VARIABLE - program variable' o OTHER - any other class of symbol: The previous keywords are SCA terms. For information on> corresponding language-specific terms, request help for theE % appropriate language table (for example, FORTRAN_ATTRIBUTES_TABLE)( under the Getting_Started help topic.7 An example using the SYMBOL_CLASS attribute follows:$ FIND X AND SYMBOL_CLASS=ROUTINE) This query finds all routines named X. 2 TYPINGD The TYPING function is a relationship function. It finds the type@ of some occurrence. Occurrences related in this manner have a? TYPING relationship between them. For example, if INTEGER is@ typing variable X, then these& two occurrences are in a TYPINGC relationship. In its most common form, the function format is as follows:4 TYPING( , , DEPTH={ | ALL} )< In this format, and can be any legal query@ expression, and is a positive integer. A typical useB of the function is to find the type of a variable. For example: FIND TYPING( X, *, DEPTH=1)B This query finds the type of X, where X is some variable in the SCA database.D The T'YPING function also works on user-defined types. The definedB type can have many levels, in which case the user can specify a depth as follows:2 FIND TYPING( user_defined_type, *, DEPTH=ALL)= This query gives the full type tree for USER_DEFINED_TYPE.B The TYPING function provides the power to return the exact type0 tree you want. The full format is as follows: TYPING( [ END= ], [ BEGIN= ],& [ DEPTH={ | ALL} ],% [( RESULT=RESULT_KEYWORD ],' [ TRACE=query_expression ] )@ In the previous format, and is any legal queryA expression, is a positive integer, RESULT_KEYWORD canA be STRUCTURE, NOSTRUCTURE, ANY_PATH, BEGIN, or END, and QUERY_, EXPRESSION is any legal query expression.= For a full description of the TYPING relationship, see the LSE/SCA User Manual. 2 TYPED_BY= The TYPED_BY function is a relationship function. It finds> occurrences ) that have a TYPED_BY relationship between them.A For example, if variable X is typed by INTEGER, then these twoA occurrences are in a TYPED_BY relationship. In its most common+ form, the function format is as follows:6 TYPED_BY( , , DEPTH={ | ALL} )< In this format, and can be any legal query@ expression, and is a positive integer. A typical useA of the function is to find what is being typed by INTEGER. For example:( * FIND TYPED_BY( INTEGER, *, DEPTH=1)D This query finds everything that is of type INTEGER. The TYPED_BYE function can also tell you the items that are in some way affectedC by a given type. The type can be predefined by language elements8 such as INTEGER, or can be user defined. For example:4 FIND TYPED_BY( user_defined_type, *, DEPTH=ALL)A This query finds all the items that are directly or indirectly! affected by USER_DEFINED_TYPE.D The TYPED_BY function provi +des the power to return the exact type0 tree you want. The full format is as follows: TYPED_BY( [ END= ], [ BEGIN= ],( [ DEPTH={ | ALL} ],' [ RESULT=RESULT_KEYWORD ],) [ TRACE=query_expression ] )@ In the previous format, and is any legal queryA expression, is a positive integer, RESULT_KEYWORD canA be STRUCTURE, NOSTRUCTURE, ANY_PATH, BEGIN, or END, and QUERY_, EXPRESSION is a,ny legal query expression.? For a full description of the TYPED_BY relationship, see the LSE/SCA User Manual.2 \_(Pathname)C The path name expression allows you to identify specific symbols> based on the path of the expression. This is similar to theB debugger pathname notation. The format of this expression is as follows:: query_expression\query_expression[\query_expression...]> Typically, you use this expression to identify a particularE variable in a rou -tine when you may have declared a variable of theE same name in more than one routine. For example, RETURN_STATUS mayB be a common variable in multiple routines. Some typical queries are as follows:$ 1. FIND MYROUTINE\RETURN_STATUS- 2. FIND MYMODULE\MYROUTINE\RETURN_STATUS* 3. FIND MYMODULE\SYMBOL_CLASS=ROUTINE? The first query returns all occurrences of the RETURN_STATUSB variable that are declared inside MYROUTINE. The second exampleB returns all occurrences . of the RETURN_STATUS variable which are@ declared inside MYROUTINE, where MYROUTINE is declared insideB MYMODULE. The third example returns all occurrences of routines& which are declared inside MYMODULE.B You may also use the pathname when the exact path is not known.D For example, assume that you know the module name and that XYZ isB declared somewhere inside the MYMODULE, but you do not know the8 exact pathname. You can then use the following query: FIND MYMODULE\\XY/ZA This query locates the XYZ variable that is declared somewhere6 inside MYMODULE and returns all occurrences of XYZ.2 @_(Query_Usage)> A query usage function incorporates the results of previousA queries into query expressions. The function has the following form: @( query_name )A The value of this expression is that of the expression that isA specified as query_name. The default query name is the current query, SCA$CURRENT_QUERY.A You can see an ex0ample of its use in the following sequence of queries: FIND X2 FIND @(SCA$CURRENT_QUERY) AND SYMBOL=ROUTINEB The advantage of using this notation is that the results of theD previous query are not reevaluated. Thus the second query will be faster than the query: FIND X AND SYMBOL=ROUTINEww.W@$ 1 ANALYZE =Include LOAD=Title ANALYZE4 Syntax: ANALYZE [-OUTPUT file_name] file_spec_listF Creates analysis data files that describe the ind 1icated source files.A This command produces analysis data files that contain a minimalF description of the source file. The analysis data files describe the? source file primarily as a set of references to unbound names.@ The ANALYZE command understands the language-specific rules for; forming names (identifiers), comments, quoted strings, andF placeholders. It assumes that tokens are reserved words and does not( include them in the analysis data file.D The ANALYZE command uses the 2LSE environment files to determine the? appropriate language based on the file type. It uses the sameE logical names (LSE$ENVIRONMENT and LSE$SYSTEM_ENVIRONMENT) to access the environment files.C You must have a language defined in an environment file to use theF ANALYZE command with that language. It analyzes the specified sourceF file based on the description of the language in that file. With the= ANALYZE command, you can use SCA with languages not directly? supported by SCA. Do3 not use this command with languages that support SCA.ww.W@$1 CANCEL_LIBRARY=Include DELETE_LIBRARY=Include SET_LIBRARY=Include SHOW_LIBRARY=Title CANCEL LIBRARY, Syntax: CANCEL LIBRARY [library_spec_list]D Removes the specified SCA libraries from the current list of active libraries.B If you do not specify a library, SCA removes all active libraries from the list.ww.W@$1 CREATE_LIBRARY=Include DELETE_LIBRARY =Include LOAD 4=Include SET_LIBRARY=Include SHOW_LIBRARY=Title CREATE LIBRARY, Syntax: CREATE LIBRARY directory_spec_listD Creates and initializes library files in the specified directories.? This command initializes a library and defines it as an activeB library in your current SCA session. On VMS, this results in theB logical name SCA$LIBRARY being set: when you subsequently invokeD SCA, it uses the logical name SCA$LIBRARY to reestablish the activeF library list. On Ultrix, the environment v5ariable SCALIB must be setE for the library setting to be retained across subsequent invocations of SCA.ww.W@$1 DELETE_ASSOCIATED_MODULE=Include DELETE_MODULE=Include DELETE_PRIMARY_MODULE=Title DELETE ASSOCIATED MODULE3 Syntax: DELETE ASSOCIATED MODULE module_spec_listE Deletes the associated modules of source analysis data files from an SCA library.; The associated module contains module specification files.wwS6W@$1 DELETE_LIBRARY6=Include CANCEL_LIBRARY=Include CREATE_LIBRARY=Include SET_LIBRARY=Include SHOW_LIBRARY=Title DELETE LIBRARY* Syntax: DELETE LIBRARY library_spec_list1 Physically deletes an SCA library from the disk.; The library is removed from the current list of libraries.wwS6W@$1 DELETE_MODULE!=Include DELETE_ASSOCIATED_MODULE=Include DELETE_PRIMARY_MODULE=Title DELETE MODULE( Syntax: DELETE MODULE module_spec_listA Deletes specified modules of source analysi7s data files from SCA libraries.E SCA deletes specified modules from the primary library. The primaryC library is the first library in the list of current SCA libraries.wwS6W@$1 DELETE_PRIMARY_MODULE!=Include DELETE_ASSOCIATED_MODULE=Include DELETE_MODULE=Title DELETE PRIMARY MODULE0 Syntax: DELETE PRIMARY MODULE module_spec_listF Deletes the primary modules of source analysis data files from an SCA library.9 The primary module contains module implemen8tation files.wwS6W@$1 DELETE_QUERY =Include FIND=Include SHOW_QUERY=Title DELETE QUERY( Syntax: DELETE QUERY [query_spec_list] Deletes the indicated queries.8 If no query is specified, the current query is deleted.wwS6W@$1 EXIT =Title EXIT Syntax: EXIT Exits SCA.wwS6W@$1 EXTRACT_ASSOCIATED_MODULE=Include EXTRACT_MODULE=Include EXTRACT_PRIMARY_MODULE =Include LOAD =Title EXTRACT ASSOCIATED MODULE7 S9yntax: EXTRACT ASSOCIATED MODULE [-OUTPUT file_name] module_spec_listF Extracts the associated modules of source analysis data files from an SCA library.D Associated modules are modules that contain implemen- tation files.< SCA writes the modules to a file with the default file name> module-name.ANA. The module name is the name of the file theE compiler created. This command performs the reverse function of the LOAD command.wwS6W@$1 EXTRACT_MODULE:"=Include EXTRACT_ASSOCIATED_MODULE=Include EXTRACT_PRIMARY_MODULE =Include LOAD=Title EXTRACT MODULE= Syntax: EXTRACT MODULE [-OUTPUT file_name] module_spec_list? Extracts specified modules of source analysis data from an SCA library.< SCA writes the modules to a file with the default file nameC module-name.ANA, where the module name is the name of the file theE compiler created. This command performs the reverse function of the LOAD command.wwS6W@$1 ;EXTRACT_PRIMARY_MODULE"=Include EXTRACT_ASSOCIATED_MODULE=Include EXTRACT_MODULE =Include LOAD=Title EXTRACT PRIMARY MODULEE Syntax: EXTRACT PRIMARY MODULE [-OUTPUT file_name] module_spec_listC Extracts the primary modules of source analysis data files from an SCA library.F Primary modules are modules that contain implementa- tion files. SCA8 writes the modules to a file with the default file name> module-name.ANA. The module name is the name of the file theE compiler create<d. This command performs the reverse function of the LOAD command.wwS6W@$1 FIND=Include DELETE_QUERY=Include GOTO_QUERY=Include MODIFY_QUERY_NAME=Include SHOW_QUERY =Title FIND? Syntax: FIND [-NAME query_name] [-OUTPUT file_name] query_expF Locates occurrences in the current SCA libraries that match the given query expression.< This command displays the name, class, module, line number,B occurrence, type, and relationship for each query. Each time you=F enter a FIND command, SCA creates a new query to describe the result.E This example finds all occurrences of symbols whose name begins with build. SCA> FIND build*= This example finds the primary declarations of all routines.. SCA> FIND occ=primary and symbol=routine= This example displays the complete call tree below translit.0 SCA> FIND called_by( translit, depth=all )6 This example finds all the variables of type integer.4 SCA> FIND typed_>by( integer, symbol=variable )wwS6W@$ 1 GOTO_QUERY =Include FIND=Include INSPECT=Include SHOW_QUERY=Title GOTO QUERY Syntax: GOTO QUERY query_name1 Makes the specified query the current SCA query.D This command splits the current window (when possible) and maps theE named query to the current window and the buffer associated with the query to the screen.wwS6W@$1 HELP =Title HELP/ Syntax: HELP [-OUTPUT file_name] [help_topic]>? Displays information about SCA commands and requested topics.F After exiting from HELP, a help buffer contains the text displayed by this command.wwx\W@$1 IMPORT =Include LOAD =Title IMPORT3 Syntax: IMPORT [-OUTPUT file_name] file_spec_listF Creates analysis data files that describe the indicated source files.< This command produces analysis data files from source filesA containing XREF information generated by a DIGITAL C++ compiler.wwx\W@$@1 INSERT_LIBRARY_AFTER=Include INSERT_LIBRARY_BEFORE=Include INSERT_LIBRARY_FIRST=Include INSERT_LIBRARY_LAST=Title INSERT LIBRARY AFTERB Syntax: INSERT LIBRARY AFTER prev_library_spec library_spec_listE Places the indicated libraries into the list of active SCA libraries after the library you specify.wwx\W@$1 INSERT_LIBRARY_BEFORE=Include INSERT_LIBRARY_AFTER=Include INSERT_LIBRARY_FIRST=Include INSERT_LIBRARY_LAST=Title INSERT LIBRARY BEFOREC SAyntax: INSERT LIBRARY BEFORE next_library_spec library_spec_listE Places the indicated libraries into the list of active SCA libraries before the library you specify.wwx\W@$1 INSERT_LIBRARY_FIRST=Include INSERT_LIBRARY_AFTER=Include INSERT_LIBRARY_BEFORE=Include INSERT_LIBRARY_LAST=Title INSERT LIBRARY FIRST0 Syntax: INSERT LIBRARY FIRST library_spec_list? Places the indicated libraries first in the list of active SCA libraries.wwx\WB@$1 INSERT_LIBRARY_LAST=Include INSERT_LIBRARY_AFTER=Include INSERT_LIBRARY_BEFORE=Include INSERT_LIBRARY_FIRST=Title INSERT LIBRARY LAST/ Syntax: INSERT LIBRARY LAST library_spec_listD Places the indicated libraries at the end of the list of active SCA libraries.wwx\W@$ 1 INSPECT =Include FIND=Title INSPECTB Syntax: INSPECT [-NAME query_name] [-OUTPUT file_name] query_expD Inspects the consistency between declarations or references for the samCe symbol.B This command performs consistency checking based on the following conditions:9 o Checks all characteristics of an occurrence: that: symbols are explicitly declared and used, that all; types of a symbol match, that multiple declarations7 have the same name, and for specific usage of a symbol9 o Creates a new query with each INSPECT command and* does not modify the existing querywwx\W@$1 LOAD=Include C DREATE_LIBRARY=Include SET_LIBRARY =Title LOAD' Syntax: LOAD [-DELETE] file_spec_listC Loads one or more files of compiler-generated source analysis data into an SCA library.E SCA updates the primary library and replaces existing modules of theB same name with new information. The primary library is the firstB library in the list of current SCA libraries. If you specify theB optional parameter -delete, SCA deletes analysis data files after8 they have been successfully loaded inEto an SCA library.wwx\W@$1 MODIFY_QUERY_NAME =Include FIND=Include GOTO_QUERY=Include SHOW_QUERY=Title MODIFY QUERY NAME& Syntax: MODIFY QUERY NAME query_name& Change the name of the current query.D The name of the current query is modified to be the specified query5 name. Different queries may not have the same name.wwx\W@$ 1 NEXT_QUERY=Include GOTO_QUERY=Include PREVIOUS_QUERY=Title NEXT QUERY Syntax: NEXT QUERYD Makes theF next query after the current query the new current query.< SCA maps the query display and moves the cursor to the lastF remembered position in that query.It determines the order of multiple@ query sessions by the order in which the sessions were created.wwx\W@$1 PREVIOUS_QUERY=Include GOTO_QUERY=Include NEXT_QUERY=Title PREVIOUS QUERY Syntax: PREVIOUS QUERYB Makes the previous query before the current query the new current query.< SCA maps the query dispGlay and moves the cursor to the last? remembered position in that query. It determines the order of@ multiple query sessions by the order in which the sessions were created.wwW@$ 1 RECOVER=Include VERIFY=Title RECOVER Syntax: RECOVER [library_spec]" Recovers corrupted SCA libraries.D This command performs checks for corrupted libraries resulting fromD abnormal termination of a LOAD or DELETE MODULE command and repairs corrupted libraries.wwHW@$ 1 REORGANIZE =Include LOAD=Title REORGANIZE( Syntax: REORGANIZE [library_spec_list]C Organizes the specified SCA libraries for optimal query and update performance.F If you do not specify a library, SCA reorganizes the primary library.B In this example, the REORGANIZE command creates and optimizes the+ size and organization of your SCA library.* SCA> CREATE LIBRARY library-directory( SCA> LOAD data-file-directory:*.ANA SCA> REORGANIZEwwIW@$1 REPORT=Include RESET_REPORT=Include SET_REPORT=Include SHOW_REPORT =Title REPORT Syntax: REPORT [report_name] Produces the specified report.E This command generates a user-written report or one of the following standard reports:; o HELP-a help file generated from your code or design) o PACKAGE-an LSE package definition8 o INTERNALS- a comprehensive report that describes3 your software design in an organized manner: o 21 J67A_DESIGN- a report that meets the requirements9 of the U.S. Department of Defense's DOD-STD-2167A Software Design DocumentA You specify the type of report with the SET REPORT command or byA specifying this command with the optional report_name parameter.F This command uses default report option values or those you set usingC the SET REPORT command. These option values include, for example,1 the target file types for each report generated.@ This command produces aK PACKAGE REPORT with the Trace_ Messages option value enabled." SCA> SET REPORT NAME package' SCA> SET REPORT trace_messages on SCA> REPORT packagewwW@$1 RESET_CASE_SENSITIVITY=Include SET_CASE=Include SHOW_SETTINGS=Title RESET CASE SENSITIVITY Syntax: RESET CASE SENSITIVITY/ Returns case sensitivity to the default value.' The default value is case insensitive.wwW@$1 RESET_HYPHEN_SENSITIVITY=Include SET_HYPHELN=Include SHOW_SETTINGS=Title RESET HYPHEN SENSITIVITY" Syntax: RESET HYPHEN SENSITIVITY1 Returns hyphen sensitivity to the default value.) The default value is hyphen insensitive.wwW@$1 RESET_REPORT=Include REPORT=Include SET_REPORT=Include SHOW_REPORT=Title RESET REPORT( Syntax: RESET REPORT option_expression8 Restores the default values of a set of report options.E This command restores the default values for a single report option,C severMal specified options, or all options (using a global wildcard character).wwW@$1 RESET_WILDCARDS=Include SET_WILDCARDS=Include SHOW_SETTINGS=Title RESET WILDCARDS Syntax: RESET WILDCARDS. Returns wildcard syntax to the default style.E The two styles available are VMS and ULTRIX. The default values are platform dependent.wwW@$ 1 SAVE_QUERY =Include FIND=Include SHOW_QUERY=Title SAVE QUERY: Syntax: SAVE QUERY [-OUTPUT file_namNe] [query_spec_list]: Saves one or more SCA queries as FIND commands to a file.> This command saves to the output file a FIND command for eachD specified query. The FIND commands can be executed by SCA by means of the @file-spec command.D If no query name is specified, information on all queries is saved.6 The default output file name is sys$disk:[]query.com.wwW@$ 1 SET_CASE=Include RESET_CASE_SENSITIVITY=Include SHOW_SETTINGS=Title SET CASE$ Syntax: SEOT CASE sensitivity_state> Sets queries to be either case sensitive or case insensitive.wwW@$1 SET_COMMAND_LANGUAGE=Include SHOW_COMMAND_LANGUAGE=Title SET COMMAND LANGUAGE/ Syntax: SET COMMAND LANGUAGE command_language3 Sets the command language to the specified syntax.? The current command language options are PORTABLE or VMS. TheC PORTABLE option enables the portable command- language parser. OnF VMS, the VMS option enables the VMS-only Command LanguaPge Interpreter: (CLI) parser. The VMS option is not available on ULTRIX.wwW@$1 SET_DUPLICATE_INCLUSIONS=Include SHOW_SETTINGS=Title SET DUPLICATE INCLUSIONS3 Syntax: SET DUPLICATE INCLUSIONS processing_state< En(dis)ables special processing of include file symbols and occurrences.D SET DUPLICATE INCLUSIONS HIDDEN causes queries to recognize include< file symbols and occurrences; this will eliminate duplicateA occurrences and symbols resulting from multiples Qinclusions of aE single include file. SET DUPLICATE INCLUSIONS VISIBLE disables this recognition.ww¨W@$ 1 SET_HYPHEN!=Include RESET_HYPHEN_SENSITIVITY=Include SHOW_SETTINGS=Title SET HYPHEN& Syntax: SET HYPHEN sensitivity_state? Sets queries to be hyphen/underscore sensitive or insensitive.E SET HYPHEN SENSITIVE causes queries to distinguish be- tween hyphensA and underscores. SET HYPHEN INSENSITIVE causes queries to treat. hyphens and underscores as inRdistinguishable.ww¨W@$ 1 SET_LIBRARY=Include CANCEL_LIBRARY=Include INSERT_LIBRARY_AFTER=Include INSERT_LIBRARY_BEFORE=Include INSERT_LIBRARY_FIRST=Include INSERT_LIBRARY_LAST=Include SHOW_LIBRARY=Title SET LIBRARY' Syntax: SET LIBRARY library_spec_listD Identifies the SCA physical libraries to be used for subsequent SCA functions.F This command lets you activate a specified library for use during theD current SCA session. If you list several libraSries, SCA can accessF all of them during your session as a single logical library. On VMS,F the SET LIBRARY command will define a logical name which will be usedF to reestablish the active library list upon subsequent invocations ofE SCA. On Ultrix, the environment variable SCALIB must be set outsideA of SCA for the library settings to be retained across subsequent invocations of SCA.ww¨W@$ 1 SET_REPORT=Include REPORT=Include RESET_REPORT=Include SHOW_REPORT=T Title SET REPORT Syntax: SET REPORT option_name# Sets an option value for a report.E This command allows you to set report option values for a particularF type of report and override default option values. The report optionF values allow you to, for example, specify the type of output file forF a report. You can see a list of these values by entering SHOW REPORT% command followed by an asterisk (*).E Before setting the report option values, first specify a report typeE by enteriUng this command with the option_name parameter, followed byD the name of report you want to produce. For example, to set option? values for a PACKAGE report, enter the command SET REPORT NAME PACKAGE.ww¨W@$1 SET_WILDCARDS=Include RESET_WILDCARDS=Include SHOW_SETTINGS=Title SET WILDCARDS' Syntax: SET WILDCARDS wildcard_syntax6 Sets queries to use either ULTRIX or VMS wildcarding.C SET WILDCARDS ULTRIX lets you use the ULTRIX syntax for specifying; wildcarVds. SET WILDCARDS VMS lets you use the VMS syntax.: These are the VMS Wildcard Characters and their meanings. % matches any single character.1 * matches any string of zero or more characters.F & overrides wildcard characters. Example: to find a name equal to *2 character you would use a name expression of &* .= These are the Ultrix Wildcard Characters and their meanings.! ? matches any single character.1 * matches any string of zero or more characters.F \ overrides w Wildcard characters. Example: to find a name equal to *2 character you would use a name expression of \* .D [abc] matches any single character from the expression abc (match aC or b or c). Also excepts ranges: ab[cd- f] matches abc or abd orC abe or abf. Also excepts negative ranges: ab[^a-c] matches namesA starting with ab but NOT ending with single character a, b or c. Ranges like 0-9 are also legal.< {A,B,C} matches A or B or C where they may each be wildcard( containing name eXxpressions. Examples:. ab{cd,ef}g matches abcdg or abefg.3 ab{cd*,[ab]c} matches abcd*, abac or abbc.M {aa?,{cd,ef}g,z} matches aa followed by any single character, cdg, efg, or z.ww¨W@$1 SHOW_ALL_MODULE=Include SET_LIBRARY=Include SHOW_HIDDEN_MODULE=Include SHOW_MODULE=Include SHOW_VISIBLE_MODULE=Title SHOW ALL MODULE@ Syntax: SHOW ALL MODULE [-OUTPUT file_name] [module_spec_list]< Displays information abYout both hidden and visible modules.ww¨W@$1 SHOW_COMMAND_LANGUAGE=Include SET_COMMAND_LANGUAGE=Title SHOW COMMAND LANGUAGE Syntax: SHOW COMMAND LANGUAGEB Displays the name of the current command language setting; either PORTABLE or VMS.ww¨W@$1 SHOW_HIDDEN_MODULE=Include SHOW_ALL_MODULE=Include SHOW_MODULE=Include SHOW_VISIBLE_MODULE=Title SHOW HIDDEN MODULEC Syntax: SHOW HIDDEN MODULE [-OUTPUT file_name] [module_spec_list]+Z Displays information about hidden modules.ww¨W@$1 SHOW_LIBRARY=Include CREATE_LIBRARY=Include SET_LIBRARY=Title SHOW LIBRARY Syntax: SHOW LIBRARYC Displays the directory specification for all active SCA libraries.ww¨W@$ 1 SHOW_MODULE=Include SET_LIBRARY=Include SHOW_ALL_MODULE=Include SHOW_HIDDEN_MODULE=Include SHOW_VISIBLE_MODULE=Title SHOW MODULE< Syntax: SHOW MODULE [-OUTPUT file_name] [module_spec_list]8 Displays info[rmation about visible SCA library modules.> If you do not specify a module name, SCA displays all visible3 modules. The default output file name is SCA.LIS.wwΕW@$ 1 SHOW_QUERY =Include FIND=Include GOTO_QUERY=Title SHOW QUERY! Syntax: SHOW QUERY [query_name]; Displays information about one or more SCA query sessions.@ This command displays (in tabular format) the query name, query5 expression, and description for the indicated query.= If no query name \is specified, information on all queries is displayed.wwΕW@$ 1 SHOW_REPORT=Include REPORT=Include RESET_REPORT=Include SET_REPORT=Title SHOW REPORT' Syntax: SHOW REPORT option_expression1 Displays the values for a set of report options.? You can display the values for a single report option, several; specified options, or all options (using a global wildcard character).wwΕW@$1 SHOW_SETTINGS=Include RESET_CASE_SENSITIVITY!=I]nclude RESET_HYPHEN_SENSITIVITY=Include RESET_WILDCARDS=Include SET_CASE!=Include SET_DUPLICATE_INCLUSIONS=Include SET_HYPHEN=Include SET_WILDCARDS=Title SHOW SETTINGS Syntax: SHOW SETTINGS0 Displays the current state of various settings.C This command displays the state of all the switches settable using the SET command.wwΕW@$1 SHOW_VERSION=Title SHOW VERSION Syntax: SHOW VERSION% Displays the current version of SCA.wwΕW^@$1 SHOW_VISIBLE_MODULE=Include SHOW_ALL_MODULE=Include SHOW_HIDDEN_MODULE=Include SHOW_MODULE=Title SHOW VISIBLE MODULED Syntax: SHOW VISIBLE MODULE [-OUTPUT file_name] [module_spec_list], Displays information about visible modules.D This command performs the same function as the SHOW MODULE command.wwΕW@$1 VERIFY=Include DELETE_MODULE =Include LOAD=Include RECOVER =Title VERIFY$ Syntax: VERIFY [library_spec_list]5 Verifies that the specified S_CA libraries are valid.= This command verifies that valid SCA libraries are free from@ corruptions resulting from an abnormal termination of a LOAD or DELETE MODULE command.wwΕW@$1 sca_callres_file_extr=Title ExtractE Choose the Extract menu item from the File pull- down menu to accessE the Extract Graph Dialog Box and specify an output file name for the7 graph. SCA creates a .DDIF file containing the graph.wwΕW@$1 sca__callres_file$=Title` Using the File Pull-Down MenuF Choose the File pull-down menu to access the Extract Graph Dialog Box or to close this window.wwΕW@$1 sca__callres_file_close =Title CloseE Choose the Close menu item from the File pull-down menu to close the Graph Query Results window.wwΕW@$1 sca__callres_menu_bar(=Title Graphical Results Window Menu Bar= The Graphical Results menu bar contains the following menus:4 o File-to extract a graph or close this wiandow: o View-to display further information, or change the+ mode or orientation of the display.: o Query -to display the query window for the current3 query, access other types of query windows,7 navigate through a list of query specifications0 or results, and delete the current query9 o Modify-to extend or remove items from the results8 o Options-to customize the default layout of graph resultswwΕW@$"1 bsca__callres_modify_delete_items=Title Removing Selected ItemsC Choose this menu item from the Modify pull-down menu to remove theF selected items from a graph result. Clicking MB1 on a node or arc toE select it. To select several items, press and hold MB1 and drag the@ mouse to outline the items you want to remove. If you select a@ parent node, any children will also be removed from the result.wwΕW@$1 sca__callres_results=Title Graphical Results WindowA The Graphic cal Results window lets you view the results of a callB graph, class browser or data structures query, based on the query: attributes you specified. You can view the query resultsB horizontally (by default) or vertically in a variety of graphical7 displays: a lexical tree, a compact tree, or a graph.C For call graph query results, you can focus on particular items inC the call graph that represent routines or calls to a routine, thenB get specific information on those items. A routine i ds shown as aA "node" in the call graph: a circle graphic containing a routine@ name. A call is shown as an "arc" in the call graph: an arrow& pointing from one routine to another.F For class browser query results, you can focus on particular items in> the graph that represent classes or uses of a class, then getF specific information on those items. A class is shown as a "node" inE the graph: a rectangular graphic containing a class name. A use isE shown as an "arc" in the graph: an e arrow pointing from one class to another.C For data structures query results, a type is shown as a "node": aD rectangle containing the type name. Structures are shown as arraysD of rectangles. Entire structure nodes, or single components may be/ selected for goto source or extend operations.D You can move nodes and reformat your display. Position the pointerC on a node then press and hold MB2 and drag the mouse to reposition the node.B For large displays, you can use the Navfigation window to view theD entire query result. Click MB1 on the navigation button; the smallE square in the lower right corner of the top pane. In the NavigationE window, the box outlining part of the graph corresponds to the imageD in the query result. Position the pointer in the box (a cross-hairE cursor appears). Press and hold MB1 and drag the box to the part ofD the graph you want to see. When you release MB1, the outlined areaE now appears in the query result window. The Navigagtion window stays7 active until you again click on the navigation button.ww W@$1 sca__callres_view$=Title Using the View Pull-Down Menu? Choose the View pull-down menu to perform one of the following( operations in the graph result display:9 o Display full information for a selected symbol or occurrence6 o Change the display mode and orientation of the graph9 o Display or hide the information about occurrences9 of a symbohl or a set of symbols in the lower pane9 o Goto the source location of a selected occurrence o Redraw the displayww W@$1 sca__callres_view_comp=Title Compact TreeC Choose the Compact Tree menu item from the View pull- down menu toB graphically display the Graph query results as a compact tree. AC compact tree shows the nodes (routines) and arcs (call references)D for the current query, but suppresses redundant information at eachF level. For examplei, routine A may call routine B twice, but the call is shown only once per level.ww W@$ 1 sca__callres_view_delete_undef,=Title Removing Items Not Defined in libraryE Choose this menu item from the Modify pull-down menu to remove itemsB that correspond to routines that are not defined in your library.F These routines include system routines and run-time library routines.ww W@$ 1 sca__callres_view_delete_undef,=Title Deleting Nodes Not Defined in libraryE Cjhoose this menu item from the Modify pull-down menu to delete nodesB that correspond to routines that are not defined in your library.F These routines include system routines and run-time library routines.ww W@$1 sca__callres_view_go_src=Title Goto SourceB Choose the Goto Source menu item from the View pull- down menu to5 goto the source location of the selected occurrence.ww W@$1 sca__callres_view_graph =Title Graph; Choose the Graph menu item from t khe View pull-down menu toF graphically display the Graph query results in graph format. A graphF shows the nodes (routines) and arcs (call references) for the currentC query, but suppresses all redundant information. A graph displays. the current query in the most concise manner.E For example, routine C may be called from the first level by routineC A and from the second level by routine B. The graph of this GraphE query will show routie C once, with arcs to it from routine A at the/l first level and routine B at the second level.ww W@$1 sca__callres_view_horiz%=Title Displaying Graphs Horizontally@ Choose the Horizontal menu item from the View pull-down menu to. display the Graph query results horizontally.ww W@$1 sca__callres_view_lex=Title Lexical TreeC Choose the Lexical Tree menu item from the View pull- down menu toA graphically display the Graph query results in lexical order. AC lexical tree shows all nodes (routines)m and arcs (call references)B for the current query. For example, routine A may call routine BE twice. Two separate nodes will appear for routine B, as well as two arcs from routine A.ww W@$1 sca__callres_view_redraw"=Title Redrawing the graph displayA Choose this menu item from the VIEW pull-down menu to redraw theC display. If you have removed nodes from the graph, redrawing will# eliminate the gaps in the display.ww1W@$1 sca__callres_view_show n=Title Show Full InformationD Choose the Show Full Info menu item from the File pull-down menu toD display full information for a selected symbol or occurrence in the< current cross-reference query result. For both symbols andB occurrences, this information includes the symbol name, type, andA domain. For an occurrence, it also includes the usage category,D where the occurrence is contained, and in which module and file the occurrence is located.ww1W@$1 sca__callres_voiew_vert#=Title Displaying Graphs VerticallyF Choose the Vertical menu item from the View pull-down menu to display$ the Graph query results vertically.ww1W@$1 sca__cmd_dismiss"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not closep! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.ww1W@$1 sca__cqust_view_cancel"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.r8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.ww1W@$1 sca__cust_view_compact#=Title Default View of Compact Tree@ Click on this button to have graphical query results default toA compact tree form. A result in compact tree form is a collap ssedD version of a lexical tree, without duplicate relationships from oneD node to another. In a call graph query result, for example, if oneE routine calls another routine more than once, only one arc/node pairC will appear in the compact tree to represent the calls between the two routines.ww1W@$1 sca__cust_view_graph=Title Default View of GraphF Click on this button to have graphical query results default to graphB form. In graph form, each routine or data structurte appears onlyA once, regardless of how many relationships there are in which it takes part.ww1W@$1 sca__cust_view_horiz!=Title Default View of HorizontalC Click on this button to have the graphical results of a call graph? query or data structure query display horizontally by default.ww1W@$1 sca__cust_view_label=Title Default ViewC Choose one of these buttons to determine the default view for call( graph and data structure query results.ww u1W@$1 sca__cust_view_lex#=Title Default View of Lexical Tree@ Click on this button to have graphical query results default toF lexical tree form. Lexical trees show relationships in source order.B In a call graph query result, for example, each call to a routine9 results in an arc/node pair in the resulting call graph.ww1W@$1 sca__cust_view_ok"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows avnd dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window owr dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.ww1W@$1 sca__cust_view_vert=Title Default View of VerticalC Click on this button to have the graphical results of a call graph= query or data structure query display vertically by default.wwVAW@$1 sca__del_lib_conf-=Title Delete Library Confirmation Dialog BoxB Click on OK to physically delete the spxecified library. Click on> Cancel to not delete the library and to exit this dialog box.wwVAW@$1 sca__ds_data_structures"=Title Data Structure Query WindowC The Data Structure Query window lets you specify a data structuresF query. A data structure query graphically displays the relationshipsE between data and the type of the data. This window lets you specify the following attributes:$ o Type of-type of a given item. o of Type-items that are of a given ytypeD You must specify a reference point to begin a data structure query.< As such, you must specify either the Type of or the Of type attribute, or both.wwVAW@$#1 sca__ds_type_add_of_type_previous=Title Add Items Radio Button? Click on this button to add the new items matching the current3 selection attributes to the previous query result.wwVAW@$1 sca__ds_type_apply"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to cozntrol the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This ac{tion closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwVAW@$1 sca__ds_type_create_new%=Title Create New Result Radio ButtonB Click on this button to evaluate a new query based on the current selection attributes.wwVAW@$1 sca__ds_type_dismiss"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to cont|rol the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This acti}on closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwVAW@$1 sca__ds_type_file$=Title Using the File Pull-Down Menu5 Choose the File pull-down menu to close this window.wwVAW@$1 sca__ds_type_file_close =Title CloseE Choose the Close menu item from the File pull-down menu to close the Data Structures Query window.ww~VAW@$1 sca__ds_type_keep_previous=Title Keep Items Radio ButtonF Click on this button to keep the items from the previous query resultF that match the new selection attributes. This option does not create4 a new query; rather, it updates the existing query.wwVAW@$1 sca__ds_type_menu,=Title Data Structures Query Window Menu BarA The Data Structures Query menu bar contains the following menus:6 o File-to close the Data Structures Query window6 o Query -to display the results of the query you; specified, access the other Query Windows, navigate: through a list of query specifications or results,# or delete the current querywwVAW@$1 sca__ds_type_of_type=Title Specifying a Data Type< Click on this button or the Name Entry box to activate this selection.B Enter the name of a data type. SCA will find the items it types.ww{gW@$1 sca__ds_type_of_type_name=Title Data Type Name Entry BoxE Click on the Name Entry box then enter the name of a data type. SCA will find the items it types.ww{gW@$1 sca__ds_type_of_type_option"=Title Using the Query Options BoxB The Query Options Button lets you choose a category of queries toD display in the Query Results window. The available categories are:6 o Any-to display occurrences matching any of the# specified or selected items4 o None-to display all occurrences except those0  matching the specified or selected itemsww{gW@$1 sca__ds_type_ok"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.ww{gW@$1 sca__ds_type_remove_privious =Title Remove Items Radio ButtonA Click on this button to remove the items from the previous queryF result that match the new selection attributes. This option does not; create a new query; rather, it updates the existing query.ww{gW@$1 sca__ds_type_reset"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close!  the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.ww{gW@$1 sca__ds_type_type_of"=Title Specifying a Data Structure< Click on this button or the Name Entry Box to activate this selection.F Enter the name of the symbol for which you want SCA to find the type.ww{gW@$1 sca__ds_type_type_of_name$=Title Data Structure Name Entry BoxF Click on the Name Entry box then enter name of the data structure for% which you want SCA to find the type.ww{gW@$1 sca__ds_type_type_of_option"=Title Using the Query Options BoxB The Query Options Button lets you choose a category of queries toD display in the Query Results window. The available categories are:6 o Any-to display occurrences matching any of the# specified or selected items4 o None-to display all occurrences except those0 matching the specified or selected itemsww{gW@$1 sca__fcs_call=Title Call Graph Query WindowD The Call Graph Query window lets you specify a call graph query. A@ call graph query graphically displays the relationships betweenC symbols, according to the range you specify. This window lets you" specify the following attributes:! o From-calls from a routine o To-calls to a routine8 o Depth-the specified number of levels in the call graphD You must specify a reference point to begin a call graph query. AsA such, you must specify either the From or To attribute, or both.wwW@$1 sca__fcs_call_add_to_previous=Title Add Items Radio Button? Click on this button to add the new items matching the current3 selection attributes to the previous query result.wwW@$1 sca__fcs_call_apply"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwW@$1 sca__fcs_call_create_new%=T itle Create New Result Radio ButtonB Click on this button to evaluate a new query based on the current selection attributes.wwW@$1 sca__fcs_call_depth/=Title Specifying the Number of Levels to QueryE Click on this button or the Depth Specification box to activate thisF selection. Enter the number of levels of structure SCA is to displayE for the current query. If you do not specify a number, SCA defaultsE to a depth of 1. You can specify Depth = All to indicate that there4 are no limits to the number of levels SCA displays.wwW@$1 sca__fcs_call_dismiss"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwW@$1 sca__fcs_call_file$=Title Using the File Pull-Down Menu5 Choose the File pull-down menu to close this window.wwW@$1 sca__fcs_call_file_close =Title CloseE Choose the Close menu item from the File pull-down menu to close the Call Graph Query window.wwW@$1 sca__fcs_call_from=Title Specifying a Query Range< Click on this button or the Name Entry box to activate thisE selection. Enter the name of the routine from which you want SCA toF begin the call graph query. If you do not specify a routine name for< the To attribute, SCA displays all calls from this routine.wwW@$1 sca__fcs_call_from_name=Title Routine Name Entry BoxB Click on the Name Entry box then enter the name of a routine from2 which you want SCA to begin the Call Graph query.wwW@$1 sca__fcs_call_from_option#=Title Using the Query Options MenuB The Query Options Button lets you choose a category of queries toD display in the Query Results window. The available categories are:6 o Any-to display occurrences matching any of the# specified or selected items4 o None-to display all occurrences except those0 matching the specified or selected itemswwųW@$1 sca__fcs_call_keep_previous=Title Keep Items Radio ButtonF Click on this button to keep the items from the previous query resultF that match the new selection attributes. This option does not create4 a new query; rather, it updates the existing query.wwųW@$1 sca__fcs_call_menu'=Title Call Graph Query Window Menu Bar< The Call Graph Query menu bar contains the following menus:1 o File-to close the Call Graph Query window5 o Query-to display the results of the query you; specified, access the Cross-Reference Query window,: navigate through a list of query specifications or- results, and delete the current querywwųW@$1 sca__fcs_call_ok"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwųW@$1 sca__fcs_call_remove_privious =Title Remove Items Radio ButtonA Click on this button to remove the items from the previous queryF result that match the new selection attributes. This option does not; create a new query; rather, it updates the existing query.wwųW@$1 sca__fcs_call_reset"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwųW@$1 sca__fcs_call_specification=Title Depth Specification BoxE Click on the Depth Specification Box then enter the number of levelsC that you want SCA to display for the current query. If you do not0 specify a number, SCA defaults to a depth of 1.wwųW@$1 sca__fcs_call_to=Title Specifying a Query Range< Click on this button or the Name Entry Box to activate thisF selection. SCA will find calls to the routine name that you specify.A If you do not specify a routine name for the From attribute, SCA$ displays all calls to this routine.wwųW@$1 sca__fcs_call_to_name=Title Routine Name Entry BoxC Click on the Name Entry Box then enter the name of a routine. SCA4 will display a call graph of calls to this routine.wwųW@$1 sca__fcs_call_to_option#=Title Using the Query Options MenuB The Query Options Button lets you choose a category of queries toD display in the Query Results window. The available categories are:6 o Any-to display occurrences matching any of the# specified or selected items4 o None-to display all occurrences except those0 matching the specified or selected itemswwųW@$1 sca__fs_apply"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwٖW@$1 sca__fs_apply"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwٖW@$1 sca__fs_dismiss"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwٖW@$1 sca__fs_dismiss"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwٖW@$1 sca__fs_domain*=Title Specifying a Query by Symbol DomainC You can specify a query by indicating the domain in which a symbol> resides. The symbol domain indicates the scope of a symbol's declaration.B Click on this button to activate this selection. Choose a domainE attribute from the Selection box by clicking on the name of a domainC (for example, Global). Leave the Query Options button set to Any.D SCA displays the selected item in the Selected box, indicating that; it will find all occurrences of the symbol in that domain.wwٖW@$1 sca__fs_domain_options"=Title Using the Query Options BoxB The Query Options Button lets you choose a category of queries toD display in the Query Results window. The available categories are:6 o Any-to display occurrences matching any of the# specified or selected items4 o None-to display all occurrences except those0 matching the specified or selected itemswwٖW@$1 sca__fs_domain_selected=Title Selected BoxF This box displays the items that you selected from the Selection box.E These items are active when you execute a query. To deselect any ofE these items, click on the item and it is moved to the Selection box.wwٖW@$1 sca__fs_domain_selection"=Title Symbol Domain Selection BoxF This box displays the following symbol domain attributes that you canD select. To select an attribute, click on the desired attribute and it appears in the Selected box.3 Inheritable-able to be inherited into other: modules (for example, by means of a BLISS library,8 Pascal environment, or an Ada compilation system mechanism); Gl obal-known to multiple modules through the linker! global symbol definitions: Include File-symbols whose declarations are within; an include file (other occurrences of these symbols( can be outside the include file); Module Specific-the domain is limited to one module: Multi-Module-the domain spans more than one module; Predefined-defined by the language (examples: BLISS( ap, FORTRAN sin, Pascal writeln)wwW@$1 sca__fs_file$=Title Using the File Pull-Down Menu5 Choose the File pull-down menu to close this window.wwW@$1 sca__fs_file_close =Title CloseE Choose the Close menu item from the File pull-down menu to close the Cross-Reference Query window.wwW@$1 sca__fs_infile!=Title Specifying a File Location> You can specify the name of a file where SCA will look for anF occurrence of a symbol. SCA selects all occurrences in the files you specify.< Click  on this button or the File Entry box to activate thisF selection. Enter the name or names of the files that you want SCA toE use. Use a comma to separate multiple file specifications. You mayA use wildcard characters, as defined by your particular operating$ system, in the file specifications.wwW@$1 sca__fs_infile_options"=Title Using the Query Options BoxB The Query Options Button lets you choose a category of queries toD display in the Query Results window. The available categories are:6 o Any-to display occurrences matching any of the# specified or selected items4 o None-to display all occurrences except those0 matching the specified or selected itemswwW@$1 sca__fs_infile_text=Title File Name Entry BoxA Click on the File Name Entry box then enter the name or names of@ files that you want SCA to search for. Use a comma to separateC multiple file specifications. You may use wildcard characters, as 9 defined by your particular operating system, in the file specification.wwW@$1 sca__fs_inmodule#=Title Specifying a Module LocationA You can specify the name of a module where SCA will look for the; occurrence of a symbol. SCA restricts the result to those. occurrences that are in the specified module.> Click on this button or the Module Entry box to activate thisE selection. Enter the name or names of the modules that you want SCAE to use. Use a comma to separate multiple module names. You may useE wildcard characters, as defined by your particular operating system, in the module names.wwW@$1 sca__fs_inmodule_options"=Title Using the Query Options BoxB The Query Options Button lets you choose a category of queries toD display in the Query Results window. The available categories are:6 o Any-to display occurrences matching any of the# specified or selected items4 o None-to display all occurrences except those0 matching the specified or selected itemswwW@$1 sca__fs_inmodule_text=Title Module Name Entry BoxC Click on the Module Name Entry box then enter the name or names ofE modules that you want SCA to find. Use a comma to separate multipleC module names. You may use wildcard characters, as defined by your1 particular operating system, in the module name.wwW@$1 sca__fs_itype(=Title Specifying a Query by Symbol TypeB You can speci fy a query by indicating the type of a symbol in theF source code. SCA restricts query occurrences to those that match the specified symbol type.B Click on this button to activate this selection. Choose a symbolE type from the Selection box by clicking on the name of a symbol typeE (for example, Argument). Leave the Query Options button set to Any.D SCA displays the selected item in the Selected box, indicating that2 it will find all occurrences of that symbol type.ww4&W@$1 sca__fs_main#=Title Cross-Reference Query WindowD The Cross-Reference Query window lets you specify a cross-referenceD query. A cross-reference query matches occurrences of a symbol you? define by specifying one or several of the following selection attributes:9 o Name-to specify the name of a symbol. SCA selects2 occurrences with names that match the name expression you provide.; o Usage-to restrict occurrences based on the usage of: the symbol you pick; for example, the declarations of a symbol.: o In File-to specify the name of a file. SCA selects8 occurrences whose source position is in the file you specify.9 o Type-to restrict occurrences based on the type of0 symbol you pick; for example, arguments.3 o Domain-to restrict occurrences based on the: symbol domain. The domain indicates the scope of a; symbol's declaration. SCA selects occurrences whose6  symbol domain is one of those that you select.2 o In Module-to restrict occurrences to those4 occurrences contained in the module that you specify.ww4&W@$1 sca__fs_menu,=Title Cross-Reference Query Window Menu BarA The Cross-Reference Query menu bar contains the following menus:7 o File-to close the Cross-Reference Query window.5 o Query-to display the results of the query you6 specified, access the Call Graph Query window,: navigate through a list of query specifications or. results, and delete the current query.ww4&W@$1 sca__fs_nake_add=Title Add Items Radio Button? Click on this button to add the new items matching the current3 selection attributes to the previous query result.ww4&W@$1 sca__fs_nake_keep=Title Keep Items Radio ButtonF Click on this button to keep the items from the previous query resultF that match the new selection attributes. This option does not create4 a new query; rather, it updates the existing query.ww4&W@$1 sca__fs_nake_new%=Title Create New Result Radio ButtonB Click on this button to evaluate a new query based on the current selection attributes.ww4&W@$1 sca__fs_nake_remove =Title Remove Items Radio ButtonA Click on this button to remove the items from the previous queryF result that match the new selection attributes. This option does not; create a new query; rather, it updates the existing query.ww4&W@$1 sca__fs_name!=Title Specifying a Query by Name< Click on this button or the Name Entry box to activate this selection.C To specify the name selection criteria, enter the name of a symbolA that you want SCA to find. SCA selects all occurrences with the@ names that match the name you provide. Use a comma to separateE multiple names. You may use wildcard characters, as defined by your1 particular operating system, in the symbol name.ww4&W@$1 sca__fs_name_text=Title Symbol Name Entry BoxC Click on the Symbol Name Entry box then enter the name or names ofE symbols that you want SCA to find. Use a comma to separate multipleC symbol names. You may use wildcard characters, as defined by your1 particular operating system, in the symbol name.ww4&W@$ 1 sca__fs_ok"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.ww4&W@$1 sca__fs_options%=Title Using the Query Options ButtonB The Query Options Button lets you choose a category of queries toD display in the Query Results window. The available categories are:6 o Any-to display occurrences matching any of the# specified or selected items4 o None-to display all occurrences except those0 matching the specified or selected itemswwYLW@$1 sca__fs_query%=Title Using the Query Pull-Down Menu@ Choose the Query pull-down menu to perform one of the following operations:9 o Display the SCA Result window or Query window for the current query6 o Switch the SCA Query window to another type of: query (the types are Cross Reference, Call Graphs,9 Class Browser, Data Structures, and Name Browser)7  o Navigate through the list of queries previously evaluated o Delete the current querywwYLW@$1 sca__fs_query_call$=Title Specifying a Call Graph QueryC Choose the Call Graphs menu item from the Query pull- down menu toD change the current query and result windows to Call Graph Query andwwYLW@$1 sca__fs_query_call'=Title Specifying a Class Browser QueryD Choose the Class Browser menu item from the Query pull-down menu toC change the current query and result windows to Class Browser QueryE and Result windows. The Class Browser Query window lets you specify7 a query which will show relationships between classes.wwYLW@$1 sca__fs_query_delete =Title DeleteD Choose the Delete menu item from the Query pull-down menu to deleteF the current query specification and result. To delete another query,C you must first make it the current query by selecting it using the. Next, Previous, or List pull-down menu items.wwYLW@$1 sca__fs_query_list=Title List...> Displays a dialog box that shows the current list of queries.wwYLW@$1 sca__fs_query_next =Title NextE Choose the Next menu item from the Query pull- down menu to show the: next query from the list of previously evaluated queries.wwYLW@$1 sca__fs_query_prev=Title PreviousE Choose the Previous menu item from the Query pull- down menu to showB the previous query from the list of previously evaluated queries.wwYLW@$1 sca__fs_query_show_ques=Title Show Query WindowE Choose the Show Query Window menu item from the Query pull-down menu= to display the Query window. This window contains the query9 specification corresponding to the current query result.wwYLW@$1 sca__fs_query_show_res=Title Show Result WindowF Choose the Show Result Window menu item from the Query pull-down menuF to show the corresponding Query Result window and display the results of the current query.wwYLW@$1 sca__fs_reset"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.ww~rW@$1 sca__fs_selected=Title Selected BoxF This box displays the items that you selected from the Selection box.E These items are active when you execute a query. To deselect any ofE these items, click on the item and it is moved to the Selection box.ww~rW@$1 sca__fs_type_options"=Title Using the Query Options BoxB The Query Options Button lets you choose a category of queries toD display in the Query Results window. The available categories are:6 o Any-to display occurrences matching any of the# specified or selected items4 o None-to display all occurrences except those0  matching the specified or selected itemsww~rW@$1 sca__fs_type_selected=Title Selected BoxF This box displays the items that you selected from the Selection box.E These items are active when you execute a query. To deselect any ofE these items, click on the item and it is moved to the Selection box.ww~rW@$1 sca__fs_type_selection =Title Symbol Type Selection BoxD This box displays the following symbol type attributes that you canD select. To select an attribute, click on the desired attribute and it appears in the Selected box.3 Argument-formal argument (such as a routine# argument or macro argument)' Component-component of a record2 Constant-named compile-time constant value Exception-exception File-file* Function-callable program function Generic-generic unit Keyword-keyword" Label-user-specified label1 Literal-named compile-time constant value Macro-macro7 Module-collection of logically related elements& Other-any other type of symbol8 Package-collection of logically related elements7 Placeholder-marker where program text is needed+ Procedure-callable program function Program-callable program Psect-program section) Routine-callable program function, Subroutine-callable program function Tag-comment heading Task-task Type-user-defined type Unbound-unbound name! Variable-program variableww~rW@$1 sca__fs_usage)=Title Specifying a Query by Symbol UsageC You can specify a query by indicating the usage of a symbol in theF source code. SCA restricts query occurrences to those that match the specified symbol usage.A Click on this button to activate this selection. Choose a usageD attribute from the Selection box by clicking on the name of a usageF attribute (for example, Declaration). Leave the Query Options buttonA set to Any. SCA displays the selected item in the Selected box,> indicating that it will find all occurrences with that usage.ww~rW@$1 sca__fs_usage_options"=Title Using the Query Options BoxB The Query Options Button lets you choose a category of queries toD display in the Query Results window. The available categories are:6 o Any-to display occurrences matching any of the# specified or selected items4  o None-to display all occurrences except those0 matching the specified or selected itemsww~rW@$1 sca__fs_usage_selection =Title Query Usage Selection BoxE This box displays the following usage attributes that you can selectC to specify declarations, references, and other occurrence classes.F To select an attribute, click on the desired attribute and it appears0 in the Selected box. The usage attributes are:5 Address-reference to the location of a symbo l2 Associated-associated declaration (such as EXTERNAL)' Call-call to a routine or macro+ Command Line-command-line reference8 Declaration-both Primary and Associated declara- tions% Fetch-fetch of a symbol value- Include-source file include reference: Other-any other kind of reference (such as a macro' expansion or use of a constant)5 Pointer-reference to the location of a symbol6 Precompiled-pr ecompiled file include reference9 Primary-most significant declaration, such as the+ declaration that defines the symbol$ Read-fetch of a symbol value Reference-all references$ Store-assignment of a symbol$ Write-assignment of a symbol Use-Ada USE reference With-Ada WITH reference4 Separate-reference to an Ada Unit defined as SEPARATE3 Base-reference to base class of a C++ class3 Friend-reference to a friend of a C++ class3 Member-reference to a member of a C++ class8 Limited-reference to an Ada limited private type8 Private-reference to a private C++ object or Ada private type5 Protected-reference to a C++ protected object/ Public-reference to a C++ public object1 Virtual-reference to a C++ virtual objectww~rW@$1 sca__graphresult_opt_view=Title View...E Choose the View... menu item from Options pull- down m enu to access? a dialog box from which you can customize the default view forD graphical display results. You can change the default lexical treeA display to a compact or a graph format. You can also change the1 display orientation from horizontal to vertical.wwW@$1 sca__graphres_extend_from=Title Extending From a NodeD Choose the Extend From menu item from the Modify pull- down menu toD add another layer of information to the graphical display. The new= layer will show nodes that extend from the selected node(s).wwW@$1 sca__graphres_extend_to=Title Extending to a NodeC Choose the Extend To option from the Modify pull- down menu to addF another layer of information to the graphical display. The new layer5 will show nodes that extend to the selected node(s).wwW@$1 sca__graphres_extract&=Title Using the Extract... Dialog BoxB This dialog box lets you specify an output file name to which SCAB will extract the graphical query result. The default output file type is .DDIF.C You can convert this file to PostScript (.PS) format for printing.1 For ULTRIX users, specify the following command:6 % cdoc -s ddif -d ps -o filename.ps filename.ddif. For VMS users, specify the following command:G $ CONVERT/DOCUMENT FILENAME.DDIF/FORMAT=DDIF FILENAME.PS/FORMAT=PSwwW@$1 sca__graphres_form#=Title Graphical Results Lower PaneA This area displays full information on the selected node or arc.A When you select a node or an arc in the graph, the corresponding@ information is highlighted in the lower pane. This informationE includes the name, type, domain, and usage, the module that contains/ the item; and the file where the item resides.B To expand information about an item, click MB1 on the icon in theE left-hand column. To go to source, doubleclick MB1 on an item name.wwW@$1 sca__graphres_view_coll_all=Title Collapse AllC Choose the Collapse All menu item from the View pull- down menu to@ hide all occurrence information in the graph result lower pane.wwW@$1 sca__graphres_view_exp_all=Title Expand AllA Choose the Expand All menu item from the View pull- down menu toE display all occurrences of all the symbols in the graph result lower pane.wwW@$1 sca__graph_result_modify&=Title Using the Modify Pull-Down MenuA Choose the Modify pull-down menu to perform one of the following operations:6 o Show nodes that extend to the selected node(s)8 o Show nodes that extend from the selected node(s)5 o Remove the selected items from a graph result3 o Remove items not defined in the SCA librarywwW@$1 sca__main_ad_buttons"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7  the window or dialog box, allowing you to start over.wwȾW@$1 sca__main_apply"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwȾW@$1 sca__main_call$=Title Specifying a Call Graph QueryB Click on this button to specify a call graph query. A call graphD query allows you to ask for call relationships between routines and! graphically display the results.wwȾW@$1 sca__main_call_pb$=Title Specifying a Call Graph QueryB Click on this button to specify a call graph query. A call graphD query allows you to ask for call relationships between routines and! graphically display the results.wwȾW@$1 sca__main_close=Title Close LibraryD Choose the Close Library menu item from the File pull- down menu toE close an SCA library. Closing a library removes it from the current list of libraries.wwȾW@$1 sca__main_command$=Title SCA Command Specification BoxE Click on this box then enter an SCA command. When you press Return,D SCA displays the results of the command in the Display Results box.C As the command executes, SCA displays command-line messages in the Command Line Message box.wwȾW@$1 sca__main_customize(=Title Using the Commands Pull-Down MenuF Choose the Commands pull-down menu to access the command window where you can enter SCA commands.wwȾW@$1 sca__main_cust_show_cmd=Title Enter Command...C Choose the Enter Command... menu item from the Commands pull-downD menu brings up the command window where you can enter SCA commands.wwȾW@$1 sca__main_delete=Title Delete LibraryD Choose the Delete Library menu item from the File pull-down menu toB delete an SCA library. This command physically deletes a libraryD from the disk. SCA displays a warning dialog box asking you if you% really want to continue this action.wwȾW@$1 sca__main_ds(=Title Specifying a Data Structure Query@ Click on this button to specify a data structure query. A dataE structure query allows you to ask for type information about symbols% and graphically display the results.wwȾW@$1 sca__main_ds_pb(=Title Specifying a Data Structure Query@ Click on this button to specify a data structure query. A dataE structure query allows you to ask for type information about symbols% and graphically display the results.wwW@$1 sca__main_file$=Title Using the File Pull-down Menu? Choose the File pull-down menu to perform one of the following operations:: o Create a new SCA library and add it to the list of current SCA libraries; o Open an existing SCA library and position it in the library list; o Close an SCA library and remove it from the list of current SCA libraries1 o Physically delete a library from the disk o End an SCA sessionwwW@$1 sca__main_file_exit =Title ExitB Choose the Exit menu item from the File pull-down menu to end theC current SCA session. SCA saves any modifications that you made to' the SCA libraries and related modules.wwW@$1 sca__main_library_load=Title Load...E Choose the Load... menu item from the Maintenance menu to load .ana% files into the selected SCA library.wwW@$1 sca__main_lib_create=Title New Library...E Choose the New Library... menu item from the File pull-down menu toB create a new SCA library and to add it to the current list of SCAD libraries. If the library you specify already exists, SCA lets you reinitialize that library.wwW@$1 sca__main_lib_list=Title SCA Library List BoxC The SCA Libra ry List box contains a list of current SCA libraries.> When you click MB1 on a library name, the library becomes theA selected library, for which you can display module and attributeD information. You can add libraries to the list or remove libraries from the list.E When you perform queries, SCA searches the libraries in the order inD which they are listed. If different libraries contain modules withE the same name, the module in the library that is highest in the list: occludes modu les in libraries that are lower in the list.wwW@$1 sca__main_lib_recover=Title RecoverD Choose the Recover menu item from the Maintenance pull-down menu toE recover the selected library. To select a library, click MB1 on the+ name of a library in the Library List box.F Recovering a library deletes from the library any module that startedC to load but had not completed loading. SCA cannot recover modules; waiting to be processed; you will need to load them again.wwW@$1 sca__main_load=Title Load Dialog BoxD The Load dialog box loads the specified .ana file into the selected library.F To specify a file for loading, double click MB1 on the name of a fileD in the Files box. Click on Cancel to not load the file and to exit this dialog box.= If there are no files listed for a directory, click MB1 on a; directory name in the Directories box or enter a directoryC specification followed by *.ana in the Filter box and click on the Filter button.wwW@$1 sca__main_maintenance+=Title Using the Maintenance Pull-Down MenuF Choose the Maintenance pull-down menu tp perform one of the following operations:5 o Access a dialog box to load modules of source analysis data3 o Recover a library to repair inconsistencieswwW@$1 sca__main_menu=Title Main Window Menu Bar7 The Main Window menu bar contains the following menus:2 o File-to create, open, close, or delete SCA& libraries, or to exit from SCA9 o View-to further examine the contents of libraries1 o Query-to perform various types of queries4 o Maintenance-to load or recover SCA libraries9 o Commands-to bring up a window from which to enter1 commands directly to the SCA command lineww W@$1 sca__main_message_sl=Title Command Line Message BoxC This box displays messages as the SCA command you specified in the( SCA Command Specification box executes.ww W@$1 sca__main_nb=Title Name BrowserD Click on this button to bring up the Name Browser window. The nameB browser allows you to display all names matching a given wildcard expression.ww W@$1 sca__main_nb_pb=Title Name BrowserD Click on this button to bring up the Name Browser window. The nameB browser allows you to display all names matching a given wildcard expression.ww W@$1 sca__main_open=Title Open Library...F Choose the Open Library... menu item from the File pull-down menu toD open an existing SCA library and to position it in the current list of SCA libraries.ww W@$1 sca__main_output_sl"=Title Display Command Results BoxF This box displays the results of the SCA commands that you entered in# the SCA Command Specification box.ww W@$1 sca__main_query%=Title Using the Query Pull-Down Menu@ Choose the Query pull-down menu to perform one of the following operations:: o Access a query window to specify a cross-reference query.5 o Access a query window to specify a call graph query.8 o Access a query window to specify a class browser query.9 o Access a query window to specify a data structure query.+ o Access the Name Browser dialog box.ww W@$1 sca__main_use'=Title Specifying a Class Browser Query@ Click on this button to specify a class browser query. A classF browser query allows you to ask for relationships between classes and! graphically display the results.ww W@$1 sca__main_use_pb$=Title Specifying a Call Graph QueryB Click on this button to specify a call graph query. A call graphD query allows you to ask for call relationships between routines and! graphically display the results.ww W@$1 sca__main_view$=Title Using the View Pull-Down Menu? Choose the View pull-down menu to perform one of the following operations:; o Show modules of source analysis data for a selected library; o Hide modules of source analysis data for a selected library6 o Show the attributes of the library and modules6 o Hide the attributes of the library and modulesww W@$1 sca__main_view_hide_mod=Title Hide ModulesB Choose the Hide Modules menu item from the View pull-down menu toD hide the display shown by the Show Modules command for the selected SCA library(s).ww71W@$1 sca__main_view_show_mod=Title Show ModulesC Choose the Show Modules menu item from the View pull- down menu to> display the modules contained in the selected SCA library(s).ww71W@$1 sca__main_xref)=Title Specifying a Cross-Reference Query< Click on this button to specify a cross-reference query. AE cross-reference query matches occurrences of symbols on the basis of& the sel ection attributes you specify.ww71W@$1 sca__main_xref_pb)=Title Specifying a Cross-Reference Query< Click on this button to specify a cross-reference query. AE cross-reference query matches occurrences of symbols on the basis of& the selection attributes you specify.ww71W@$1 sca__nb_called=Title Calls FromC Choose the Calls From item from the Query pull-down menu or pop-upD menu to perform a call graph query on the selected name. SCA finds, all that are called from the selected name.ww71W@$1 sca__nb_called=Title Calls fromC Choose the Calls From item from the Query pull-down menu or pop-upD menu to perform a call graph query on the selected name. SCA finds, all that are called from the selected name.ww71W@$1 sca__nb_calls=Title Calls ToF Choose the Calls To item from the Query pull-down menu or pop-up menuC to perform a call graph query on the selected name. SCA finds all/ routines that make calls to the selected name.ww71W@$1 sca__nb_calls=Title Calls ToF Choose the Calls To item from the Query pull-down menu or pop-up menuC to perform a call graph query on the selected name. SCA finds all/ routines that make calls to the selected name.ww71W@$1 sca__nb_file$=Title Using the File Pull-down Menu5 Choose the File pull-down menu to close this window.ww71W@$1 sca__nb_file_close =Title CloseE Choose the Close menu item from the File pull-down menu to close the Name Browser Window.ww71W@$1 sca__nb_goto_decl=Title Goto DeclarationD Choose the Goto Declaration menu item from the Query pull-down menuB or pop-up menu to go to the declaration of the selected name. If@ more than one declaration exists, SCA creates a cross-reference query.ww71W@$1 sca__nb_goto_decl=Title Goto DeclarationD Choose the Goto Declaration menu item from the Query pull-down menuB or pop-up menu to go to the declaration of the selected name. If@ more than one declaration exists, SCA creates a cross-reference query.ww\WW@$1 sca__nb_menu#=Title Name Browser Window Menu Bar8 The Name Browser menu bar contains the following menus:- o File-to close the Name Browser window3 o Query -to perform queries based on the name5 currently selected in the name browser, or to7 go directly to the declaration of the currently selected name.ww\WW@$1 sca__nb_of_type=Title Of TypeE Choose the Of Type menu item from the Query pull-down menu or pop-upC menu to perform a data structure query. SCA finds all names whose type match the selected name.ww\WW@$1 sca__nb_of_type=Title Used byE Choose the Used by menu item from the Query pull-down menu or pop-upE menu to perform a program structure query. SCA finds the use of the selected name.ww\WW@$1 sca__nb_of_type=Title of TypeE Choose the Of Type menu item from the Query pull-down menu or pop-upC menu to perform a data structure query. SCA finds all names whose type match the selected name.ww\WW@$1 sca__nb_query%=Title Using the Query Pull-Down Menu@ Choose the Query pull-down menu from the Name Browser window to) perform one of the following operations:: o Cross Reference-to perform a cross-reference query on the selected name6 o Calls To-to perform a call graph query showing" calls to the selected name9 o Called From-to perform a call graph query showing$ calls from the selected name; o Using-to perform a class browser query showing uses of the selected name8 o Used by-to perform a class browser query showing! uses by the selected name: o Type of-to perform a data structures query showing% the type of the selected name: o of Type-to perform a data structures query showing$ symbols of the selected type9 o Goto Declaration-to go to the primary declaration of the selected nameww\WW@$ 1 sca__nb_sb=Title Name Browser Window? The Name Browser window lets you specify a name expression and6 quickly get a list of names matching that expression.C Enter a wildcarded name expression in the Filter box and click theF Filter button or press Return. SCA displays the names that match theD name expression in the sele ction box Use the scroll bars to see the full list of names.C Double click MB1 on a name or click MB1 on the Goto Decl button toA immediately go to the declaration of the name. Choose the Query@ pull-down menu or click MB3 for a pop-up menu to select a query( option to find out more about the name.ww\WW@$1 sca__nb_subform=Title Using the Name Browser? The Name Browser window lets you specify a name expression and6 quickly get a list of names matching that expressio n.C Enter a wildcarded name expression in the Filter box and click theF Filter button or press Return. SCA displays the names that match theD name expression in the selection box Use the scroll bars to see the full list of names.C Double click MB1 on a name or click MB1 on the Goto Decl button toA immediately go to the declaration of the name. Choose the Query@ pull-down menu or click MB3 for a pop-up menu to select a query( option to find out more about the name.ww\WW@$1 sca__nb_type_of=Title Type OfE Choose the Type Of menu item from the Query pull-down menu or pop-upC menu to perform a data structure query. SCA finds the type of the selected name.ww\WW@$1 sca__nb_type_of =Title UsingC Choose the Using menu item from the Query pull-down menu or pop-upF menu to perform a program structure query. SCA finds all names whose use match the selected name.ww\WW@$1 sca__nb_type_of=Title Type ofE Choose the Type Of menu item from the Query pull-down menu or pop-upC menu to perform a data structure query. SCA finds the type of the selected name.ww}W@$1 sca__nb_used_by=Title Used byE Choose the Used by menu item from the Query pull-down menu or pop-upE menu to perform a program structure query. SCA finds the use of the selected name.ww}W@$1 sca__nb_using =Title UsingC Choose the Using menu item from the Query pull-down menu or pop-upF menu to perform a program structure query. SCA finds all names whose use match the selected name.ww}W@$1 sca__nb_xref=Title Cross ReferenceF Choose the Cross Reference menu item from the Query pull-down menu orF pop-up menu to perform a cross- reference query on the selected name.ww}W@$1 sca__nb_xref=Title Cross referenceF Choose the Cross Reference menu item from the Query pull-down menu orF pop-up menu to perform a cross- reference query on the selected name.ww}W@$1 sca__openlib_after=Title After Radio Button? Click on this button to place the library you specified in theD Library Specification box after the selected library in the library list.ww}W@$1 sca__openlib_buttons"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.ww}W@$1 sca__openlib_create_dir=Include CREATE_LIBRARY1=Title Automatically Creating a Library DirectoryE Click on this button to create the specified library directory if it does not exist.ww}W@$1 sca__openlib_create_new=Include CREATE_LIBRARY=Title Creating a New LibraryE Click on this button to create a new SCA library. If a library withD that name already exists, SCA lets you replace the existing library with the new one.ww}W@$1 sca__openlib_first=Title First Radio ButtonF Click on this button to position the new SCA library at the beginning% of the list of active SCA libraries.ww}W@$1 sca__openlib_instead=Title Instead of Radio ButtonD Click on this button to replace the currently selected library with< the library you specified in the Library Specification box.wwW@$1 sca__openlib_rie=Include CREATE_LIBRARY=Include SET_LIBRARY$=Title Replacing an Existing Library? Click on this button to replace an existing library with a new8 library of the same name. SCA deletes the old library.wwW@$1 sca__open_lib=Include CREATE_LIBRARY =Include LOAD=Include SET_LIBRARY=Title Open Library Dialog BoxB The Open Library dialog box allows you to create a new library orE activate an existing library. If the new library you create has theC same name as an existing library, SCA lets you replace the library? with the new one. When you subsequently invoke SCA, it uses a5 logical name to reestablish the active library list.wwW@$1 sca__open_lib_spec=Include CREATE_LIBRARY=Title Specification Box? To enter a library, click on the Specification box and enter aC library specification. You can enter one library specification or< several. Separate each library specification with a comma.wwW@$1 sca__open_lib_spec=Title Specification Box? To enter a library, click on the Specification box and enter aC library specification. You can enter one library specification or, several specifications separated by commas.wwW@$1 sca__ps_call!=Title Class Browser Query Window@ The Class Browser Query window lets you specify a class browserE query. A class browser query graphically displays the relationshipsB between classes, according to the range you specify. This window+ lets you specify the following attributes: o Used by-Uses by a class. o Using-Uses of a class.6 o Depth-The specified number of levels of usage.C You must specify a reference point to begin a class browser query.D As such, you must specify either the Used by or Using attribute, or both.wwW@$1 sca__ps_class_add_to_previous=Title Add Items Radio Button? Click on this button to add the new items matching the current3 selection attributes to the previous query result.wwW@$1 sca__ps_class_apply"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or  dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwW@$1 sca__ps_class_create_new%=Title Create New Result Radio ButtonB Click on this button to evaluate a new query based on the current selection attributes.wwW @$1 sca__ps_class_depth/=Title Specifying the Number of Levels to QueryE Click on this button or the Depth Specification box to activate thisF selection. Enter the number of levels of structure SCA is to displayE for the current query. If you do not specify a number, SCA defaultsE to a depth of 1. You can specify Depth = All to indicate that there4 are no limits to the number of levels SCA displays.wwɘW@$1 sca__ps_class_dismiss"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwɘW@$1 sca__ps_class_file$=Title Using the File Pull-Down Menu5 Choose the File pull-down menu to close this window.wwɘW@$1 sca__ps_class_file_close =Title CloseE Choose the Close menu item from the File pull-down menu to close the Class Browser Query window.wwɘW@$1 sca__ps_class_keep_previous=Title Keep Items Radio ButtonF Click on this button to keep the items from the previous query resultF that match the new selection attributes. This option does not create4 a new query; rather, it updates the existing query.wwɘW@$1 sca__ps_class_menu*=Title Class Browser Query Window Menu Bar? The Class Browser Query menu bar contains the following menus:4 o File-to close the Class Browser Query window5 o Query-to display the results of the query you; specified, access the other Query windows, navigate: through a list of query specifications or results,$ and delete the current querywwɘW@$1 sca__ps_class_ok"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwɘW@$1 sca__ps_class_remove_previous =Title Remove Items Radio ButtonA Click on this button to remove the items from the previous queryF result that match the new selection attributes. This option does not; create a new query; rather, it updates the existing query.wwɘW@$1 sca__ps_class_reset"=Title Standard Button DefinitionsD DEC SCA has standard button definitions to control the settings for windows and dialog boxes.+ To obtain the following results, click on:; o The Apply button to accept the current settings and9 perform the operation. This action does not close! the window or dialog box.; o The Close button to nullify any changes made within; the window or dialog box and to close the window or dialog box.8 o The OK button to accept the current settings and5 perform the operation. This action closes the  window or dialog box.; o The Reset button to clear the current settings from7 the window or dialog box, allowing you to start over.wwW@$1 sca__ps_class_specification=Title Depth Specification BoxE Click on the Depth Specification Box then enter the number of levelsC that you want SCA to display for the current query. If you do not0 specify a number, SCA defaults to a depth of 1.wwW@$1 sca__ps_class_used=Title Spe cifying a Query Range< Click on this button or the Name Entry box to activate thisC selection. Enter the name of the class from which you want SCA toC begin the class browser query. If you do not specify a class nameF for the Using attribute, SCA displays all classes used by this class.wwW@$1 sca__ps_class_used_by_name=Title Class Name Entry BoxF Click on the Name Entry box then enter the name of a class from which/ you want SCA to begin the class browser query.wwW@$1 sca__ps_class_used_option#=Title Using the Query Options MenuB The Query Options Button lets you choose a category of queries toD display in the Query Results window. The available categories are:6 o Any-to display occurrences matching any of the# specified or selected items4 o None-to display all occurrences except those0 matching the specified or selected itemswwW@$1 sca__ps_class_using=Title Specifying a Query Range< Click on this button or the Name Entry Box to activate thisC selection. SCA will find uses of the class name that you specify.B If you do not specify a class name for the Used by attribute, SCA! displays all uses of this class.wwW@$1 sca__ps_class_using_name=Title Class Name Entry BoxF Click on the Name Entry Box then enter the name of a class. SCA will' display a graph of uses of this class.wwW@$1 sca__ps_class_using_option#=Title Using the Query Options MenuB The Query Options Button lets you choose a category of queries toD display in the Query Results window. The available categories are:6 o Any-to display occurrences matching any of the# specified or selected items4 o None-to display all occurrences except those0 matching the specified or selected itemswwW@$1 sca__qlist_form=Title Query List Dialog BoxF This dialog box displays the list of queries. From this list you canF choose a query to become the current query, either by double clicking4 on it, or selecting it and clicking on OK or APPLY.F Making a query the current query causes the Query and Results windows) to display information about that query.wwW@$1 sca__ql_close =Title CloseE Choose the Close menu item from the File pull-down menu to close the Query List dialog box.wwW@$1 sca__ql_menu=Title Query List Menu Bar@ The Query List dialog box menu bar contains the following menu:2 o File - to close the Query List dialog box.wwW@$1 sca__query_ds)=Title Specifying a Data Structures QueryF Choose the Data Structures menu item from the Query pull-down menu toD change the current query and result window to Data Structures Query? and Result windows. The Data Structures Query window lets youB specify a data structures query, the result of which shows typing1 relationships between data structures and types.wwW@$1 sca__query_nb=Title Name BrowserD Choose the Name Browser menu item from the Query pull- down menu toD select the Name Browser dialog box. The Name Browser allows you to5 quickly find names based on a given name expression.wwW@$1 sca__query_xref)=Title Specifying a Cross Reference QueryF Choose the Cross Reference menu item from the Query pull-down menu toE change the current query windows to Cross Reference Query and ResultC windows. The Cross Reference Query window lets you specify symbol= names and attributes in order to do a cross reference query.wwW@$1 sca__result_file$=Title Using the File Pull-Down Menu5 Choose the File pull-down menu to close this window.wwW@$1 sca__result_file_close =Title CloseE Choose the Close menu item from the File pull-down menu to close the& Cross-Reference Query Results window.wwW@$1 sca__result_main+=Title Cross-Reference Query R esults WindowF The Cross-Reference Query Results window lets you view the results of? a cross-reference query. Initially, SCA shows the name of the4 symbol, its type, and domain in the left-hand pane.; Double click on the icon in the left-hand pane to show allD occurrences of the symbol in the right hand pane. Drag the sash toD the left or use the scroll bars to view the occurrence information.C SCA shows how its used, the module it is contained in, the file inB which it resides, and the line in the code where it can be found.D Position the pointer on an occurrence and double click on MB1 to go$ to its location in the source code.wwW@$1 sca__result_menu4=Title Cross-Reference Query Results Window Menu Bar? The Cross-Reference Query Results window menu bar contains the following menus:7 o File-to close the Cross-Reference Query Results window: o View-to control the amount of detail displayed for8 a selected set of symbol s or for all symbols; to7 display full information for a single symbol or occurrence2 o Query-to display the Cross-Reference Query8 window for the query you specified, access other7 query windows, navigate through a list of query9 specifications or results, and delete the current queryA The Modify pull-down menu has no meaning for the cross-reference query resultwwW@$1 sca__result_modify&=Title Using the Modif y Pull-Down MenuC The Modify pull-down menu is not applicable to the cross-reference query result.ww: Sets queries to use either ULTRIX or VMS wildcarding. SHOW ALL MODULED Displays information about both hidden and visible modules. SHOW COMMAND LANGUAGEC Displays the name of the current command language setting; either PORTABLE or VMS.  SHOW HIDDEN MODULE3 Displays information about hidden modules. SHOW LIBRARY@ Displays the directory specification for all active SCA libraries. SHOW MODULE@ Displays information about visible SCA library modules. SHOW QUERYC Displays information about one or more SCA query sessions. SHOW REPORT9 Displays the values for a set of report options. SHOW SETTINGS8 Displays the current state of various settings. SHOW VERSION- Displays the current version of SCA. SHOW VISIBLE MODULE4 Displays information about visible modules. VERIFY= Verifies that the specified SCA libraries are valid.wwW@$1 Help_Commands=Title Help Commands HELPF Displays information about SCA commands and requested topics. SHOW COMMAND LANGUAGEC Displays the name of the current command language setting; either PORTABLE or VMS. SHOW SETTINGS8 Displays the current state of various settings. SHOW VERSION- Displays the current version of SCA.wwW@$1 Library_Commands=Title Library Commands ANALYZE@ Creates analysis data files that describe the indicated source files. CANCEL LIBRARYE Removes the specified SCA libraries from the current list of active libraries. CREATE LIBRARY? Creates and initializes library files in the specified directories. DELETE ASSOCIATED MODULEE Deletes the associated modules of source analysis data files from an SCA library. DELETE LIBRARY9 Physically deletes an SCA library from the disk. DELETE MODULEE Deletes specified modules of source analysis data files from SCA libraries. DELETE PRIMARY MODULEB   Deletes the primary modules of source analysis data files from an SCA library. EXTRACT ASSOCIATED MODULEF Extracts the associated modules of source analysis data files from an SCA library. EXTRACT MODULEC Extracts specified modules of source analysis data from an SCA library. EXTRACT PRIMARY MODULEC Extracts the primary modules of source analysis data files from an SCA library. IMPORT!@ Creates analysis data files that describe the indicated source files. INSERT LIBRARY AFTERC Places the indicated libraries into the list of active SCA1 libraries after the library you specify. INSERT LIBRARY BEFOREC Places the indicated libraries into the list of active SCA2 libraries before the library you specify. INSERT LIBRARY FIRSTC Places the indicated libraries first in the list of active " SCA libraries. INSERT LIBRARY LASTA Places the indicated libraries at the end of the list of active SCA libraries. LOADF Loads one or more files of compiler-generated source analysis" data into an SCA library. RECOVER* Recovers corrupted SCA libraries. REORGANIZED Organizes the specified SCA libraries for optimal query and update performance. SET LIBRARY= Identifies th#e SCA physical libraries to be used for" subsequent SCA functions. SHOW ALL MODULED Displays information about both hidden and visible modules. SHOW HIDDEN MODULE3 Displays information about hidden modules. SHOW LIBRARY@ Displays the directory specification for all active SCA libraries. SHOW MODULE@ Displays information about visible SCA library modules. SHOW VISIBLE MODULE4 Displays $information about visible modules. VERIFY= Verifies that the specified SCA libraries are valid.wwW@$1 Program_Design_Commands=Title Program Design Commands REPORT' Produces the specified report. RESET REPORT@ Restores the default values of a set of report options. SET REPORT+ Sets an option value for a report. SHOW REPORT9 Displays the values for a set of report options.%wwW@$1 Query_Commands=Title Query Commands FINDD Locates occurrences in the current SCA libraries that match$ the given query expression. INSPECTD Inspects the consistency between declarations or references for the same symbol.wwW@$%1 Query_Session_Manipulation_Commands*=Title Query Session Manipulation Commands DELETE QUERY' Deletes the indicated queries. EXIT & Exits SCA. GOTO QUERY9 Makes the specified query the current SCA query. MODIFY QUERY NAME. Change the name of the current query. NEXT QUERYE Makes the next query after the current query the new current query. PREVIOUS QUERYB Makes the previous query before the current query the new current query. SAVE QUERYB Saves one or more SCA queries as FIND commands to a file. S'HOW QUERYC Displays information about one or more SCA query sessions.wwW@$(1 Commands_for_Tailoring_the_Environment-=Title Commands for Tailoring the Environment RESET CASE SENSITIVITY7 Returns case sensitivity to the default value. RESET HYPHEN SENSITIVITY9 Returns hyphen sensitivity to the default value. RESET WILDCARDS6 Returns wildcard syntax to the default style. SET CASEF Sets qu(eries to be either case sensitive or case insensitive. SET COMMAND LANGUAGE; Sets the command language to the specified syntax. SET DUPLICATE INCLUSIONSD En(dis)ables special processing of include file symbols and occurrences. SET HYPHEN: Sets queries to be hyphen/underscore sensitive or insensitive. SET WILDCARDS> Sets queries to use either ULTRIX or VMS wildcarding.wwW@$1 Para)meter_Glossary=Title Parameter Glossary command_language? Specifies either the VMS or PORTABLE command language.F Uses the parameter value PORTABLE to set the command languageF to SCA Version 4 open-system commands and the parameter value? VMS to set the command language to the SCA Version 3.1D VMS-specific commands. The VMS option is only available on VMS systems. directory_spec_list+ Specifies one or mo'*re directories. file_name' Specifies one valid file name. file_spec_list0 Specifies one or more valid file names.2 You may use wildcard file specifications. help_topic5 Indicates the topic for which you want help. library_spec Specifies one library. library_spec_list) Specifies one or more libraries.D A library is specified by the directory it is in +or you canB use a library number in place of a library specification.9 You can also specify a wildcard name expression. module_spec_list' Specifies one or more modules./ You may specify wildcard module names. next_library_specF Specifies the next library after a given library in a library list.? If you do not specify a value, SCA adds the library or0 libraries to the beginning of the list., option_expression2 Specifies the set of options to be shown. option_name) Specifies an report option type. prev_library_specB Specifies the previous library after a given library in a library list.? If you do not specify a value, SCA adds the library or* libraries to the end of the list. processing_state@ Specifies the state for duplicate inclusion processing.+ Valid- choices are SEEN and UNSEEN. query_exp6 Specifies the set of occurrences to be found.B For information on query expressions, see the chapters onA query expressions and query language in the user manual. query_name1 Specifies the name of the query session. query_spec_list' Specifies one or more queries.# You can specify wildcards. report_name5 Specifies the name of the rep .ort to produce.A The report name should be the name of one of the DigitalD supplied reports or the name of a user-written report. YouF can abbreviate the report name if the abbreviation is unique.9 The REPORT command uses this parameter to find a; corresponding TPU procedure whose name starts withB SCA_REPORT_report-name. This TPU procedure is invoked toC produce the report. Because there is a TPU restriction onE the l/ength of procedure names, a report name must not exceed 121 characters.7 Digital has implemented the following reports:@ o HELP-A help file, suitable for processing by the2 VMS Librarian into a help library.? o PACKAGE-An LSE package definition, which can beB processed by LSE and put into an environment file,A to create templates for calling the procedures in your code.@ 0 o INTERNALS-A comprehensive report on the softwareA in your system, all of the information in comment> headers, and a structural presentation of your code.? o 2167A_DESIGN-The design section of the DOD-STD-/ 2167A Software Design Document. sensitivity_state$ Specifies case sensitivity., Valid choices are either ON or OFF. wildcard_syntax* Specifies a sty1le of wildcarding.0 Valid choices are either ULTRIX or VMS.wwW@$1 New_Features=Title New Features: For information on new features for this release, see the release notes.wwW@$ 1 About_SCA=Title About SCA> The Source Code Analyzer for OpenVMS (SCA) is an interactive,D multilanguage, source code cross-reference and static analysis@ tool that is designed to aid developers in understanding the. complexities of large-scale2 software systems.B SCA is included in the DECset Software Engineering Tools Package.A SCA is integrated with the Language-Sensitive Editor for OpenVMS> (LSE). When SCA is used with LSE, you can interactively edit,B compile, debug, navigate, and analyze source code during a single development session.wwW@$1 DECW_Command_Line_Interface=Title Command Line Interface =Include DECW_Command_Categories=Include Command_Definitions=Include ANALYZE=Include CANCEL_LI3BRARY=Include CREATE_LIBRARY!=Include DELETE_ASSOCIATED_MODULE=Include DELETE_LIBRARY=Include DELETE_MODULE=Include DELETE_PRIMARY_MODULE=Include DELETE_QUERY =Include EXIT"=Include EXTRACT_ASSOCIATED_MODULE=Include EXTRACT_MODULE=Include EXTRACT_PRIMARY_MODULE =Include FIND=Include GOTO_QUERY =Include HELP=Include IMPORT=Include INSERT_LIBRARY_AFTER=Include INSERT_LIBRARY_BEFORE=Include INSERT_LIBRARY_FIRST=Include INSERT_LIBRARY_LAST=Include INSPECT =I4nclude LOAD=Include MODIFY_QUERY_NAME=Include NEXT_QUERY=Include PREVIOUS_QUERY=Include RECOVER=Include REORGANIZE=Include REPORT=Include RESET_CASE_SENSITIVITY!=Include RESET_HYPHEN_SENSITIVITY=Include RESET_REPORT=Include RESET_WILDCARDS=Include SAVE_QUERY=Include SET_CASE=Include SET_COMMAND_LANGUAGE!=Include SET_DUPLICATE_INCLUSIONS=Include SET_HYPHEN=Include SET_LIBRARY=Include SET_REPORT=Include SET_WILDCARDS=Include SHOW_ALL_MODULE=Include SHO5W_COMMAND_LANGUAGE=Include SHOW_HIDDEN_MODULE=Include SHOW_LIBRARY=Include SHOW_MODULE=Include SHOW_QUERY=Include SHOW_REPORT=Include SHOW_SETTINGS=Include SHOW_VERSION=Include SHOW_VISIBLE_MODULE=Include VERIFYB Use the command-line interface in SCA to execute any SCA commandsA that are not found in pull-down or pop-up menus or dialog boxes.A Using the command-line interface is also useful when you want toG issue a command with a particular qualifier. To get the command 6line,C choose the Enter Command... option from the Commands menu from the SCA main window.wwW@$1 DECW_Command_Categories=Title Command Categories=Include Help_Commands=Include Library_Commands =Include Program_Design_Commands=Include Query_Commands,=Include Query_Session_Manipulation_Commands/=Include Commands_for_Tailoring_the_Environment=Include Command_DefinitionsA The following lists identify related SCA commands and tasks. If> you need more information about a command, see its individual description.ww8Qf 1 Version=TITLE About SCA=Include New_Features=Include Release_Notes, Source Code Analyzer for OpenVMSD HP CONFIDENTIAL. This software is confidential proprietary softwareB licensed by Hewlett-Packard Development Company, L.P., and is notE authorized to be used, duplicated or disclosed to anyone without the! prior written permission of HP.  ; Copyright 2015 Hewlett-Packard Development Company, L.P.? VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential@ proprietary software licensed by VMS Software, Inc., and is notE authorized to be used, duplicated or disclosed to anyone without the/ prior written permission of VMS Software, Inc.$ Copyright 2015 VMS Software, Inc. Software Version:/ Source Code Analyzer for OpenVMS, version V5.2D For more information about Source Code Analyzer for OpenVMS, chooseB the "on Window" help menu item from the help menu of the SCA Main window.ww