Line Name ----- ---- 128 make_filename
BEGINNING OF FILE
1: /****************************************************************************/ 2: /* */ 3: /* FACILITY: Routine Analyzer */ 4: /* */ 5: /* MODULE: Main Header */ 6: /* */ 7: /* AUTHOR: Steve Branam, Network Product Support Group, Digital */ 8: /* Equipment Corporation, Littleton, MA, USA. */ 9: /* */ 10: /* DESCRIPTION: This header file contains the general definitions and */ 11: /* nested header includes used by Routine Analyzer modules. */ 12: /* */ 13: /* REVISION HISTORY: */ 14: /* */ 15: /* V1.0-00 27-JAN-1995 Steve Branam */ 16: /* */ 17: /* Modified brief help string and version ident. */ 18: /* */ 19: /* V0.1-00 24-AUG-1994 Steve Branam */ 20: /* */ 21: /* Original version. */ 22: /* */ 23: /****************************************************************************/ 24: 25: #include "globdb.h" /* Global database class. */ 26: 27: /* */ 28: /* Miscellaneous constants. */ 29: /* */ 30: 31: #define PROGRAM_IDENT "Routine Analyzer V1.0-00" 32: #define PROGRAM_COPYRIGHT "Copyright (C) 1994 Digital Equipment Corporation" 33: #define PROGRAM_AUTHOR "Written by Steve Branam, Network Product Support Group,\nDigital Equipment Corporation, Littleton, MA, USA\n" 34: #define PROGRAM_PARAMS "PARAMETERS: product_file [options]" 35: #define PROGRAM_HELP " OR: %chelp for full help\n" 36: #define TAB_SIZE 8 /* Number of chars in TAB. */ 37: #define MAX_PRODUCT_NAME 64 /* Max length of product name. */ 38: #define MAX_ROUTINE_NAME 64 /* Max length of routine name. */ 39: /* Max routine fullname. */ 40: #define MAX_ROUTINE_IDENT MAX_FILE_NAME + MAX_ROUTINE_NAME + 3 41: #define MIN_TREE_SIZE 5 /* Minimum number of nodes to */ 42: /* generate separate call tree */ 43: /* for routine with callers. */ 44: #define MAX_TREE_DEPTH 20 /* Max call tree depth. */ 45: #define DEF_MAX_CALLERS 3 /* Default value of max callers */ 46: /* to allow subtree expansion. */ 47: #define MIN_MAX_CALLERS 1 /* Min value of max callers. */ 48: #define MAX_MAX_CALLERS 10 /* Max value of max callers. */ 49: #define DEF_MAX_HTML_BYFILE 200 /* Default value of max tree */ 50: /* entries for HTML output. */ 51: #define DEF_MAX_HTML_XREF 200 /* Default value of max xref */ 52: /* entries for HTML output. */ 53: #define FILE_EXT_SEPARATOR '.' /* File name/extension sep. */ 54: 55: /* */ 56: /* Report/listing format strings. */ 57: /* */ 58: 59: #define LIST_LINE_NUMBER "%8d: " 60: #define LIST_LINE_SPACER "%8c " 61: 62: /* */ 63: /* Report/listing output file name suffixes, to be appended to the output */ 64: /* file name prefix. */ 65: /* */ 66: 67: #define OUTFILE_SUFFIX_DEFLIST "defined" 68: #define OUTFILE_SUFFIX_UNDEFLIST "undefind" 69: #define OUTFILE_SUFFIX_CALLS "calls" 70: #define OUTFILE_SUFFIX_XREF "xref" 71: #define OUTFILE_SUFFIX_MOREXREF "xrf%05d" 72: #define OUTFILE_SUFFIX_CALLTREES "calltree" 73: #define OUTFILE_SUFFIX_MORETREES "cat%05d" 74: #define OUTFILE_SUFFIX_BYFILE "byfile" 75: #define OUTFILE_SUFFIX_MOREBYFILE "byf%05d" 76: #define OUTFILE_SUFFIX_FILES "files" 77: #define OUTFILE_SUFFIX_SOURCE "src%05d" 78: #define OUTFILE_SUFFIX_FIRSTSOURCE "src00001" 79: #define OUTFILE_SUFFIX_LIST "analysis" 80: 81: /* */ 82: /* Report/listing output file extensions. */ 83: /* */ 84: 85: #define OUTFILE_EXT_LIST ".lis" 86: #define OUTFILE_EXT_TEXT ".txt" 87: #ifdef MSDOS 88: #define OUTFILE_EXT_SDML ".sdm" 89: #else 90: #define OUTFILE_EXT_SDML ".sdml" 91: #endif 92: #ifdef MSDOS 93: #define OUTFILE_EXT_HTML ".htm" 94: #else 95: #define OUTFILE_EXT_HTML ".html" 96: #endif 97: #define OUTFILE_EXT_RTF ".doc" 98: #define OUTFILE_EXT_WINHELP ".hlp" 99: #define OUTFILE_EXT_VMSHELP ".hlp" 100: 101: /* */ 102: /* Report field sizes. */ 103: /* */ 104: 105: #define RPT_HTML_FILE_FIELD_LEN 23 106: #define RPT_HTML_ROUTINE_FIELD_LEN 23 107: #define RPT_HTML_ROUTINE_WIDE_LEN 48 108: #define RPT_HTML_ROUTINE_MEDIUM_LEN 40 109: 110: /* */ 111: /* HTML section subtitles. */ 112: /* */ 113: 114: #define HTML_SECTION_FILES "Source Files" 115: #define HTML_SECTION_DEFINED "Defined Routines Alphabetical" 116: #define HTML_SECTION_UNDEFINED "Undefined Routines Alphabetical" 117: #define HTML_SECTION_CALLS "Defined Routines Calls/Callers" 118: #define HTML_SECTION_TREES "Routine Call Trees (Selected Routines)" 119: #define HTML_SECTION_XREF "Caller Cross Reference" 120: #define HTML_SECTION_BYFILE "Defined Routines By File" 121: #define HTML_SECTION_SOURCE "Source Code" 122: 123: 124: /* */ 125: /* General-purpose macros. */ 126: /* */ 127:
128: #define make_filename(pfx,fn,ext,buf) strcat(strcat(strcpy(buf, pfx), fn), ext)END make_filename. Go to: Beginning of routine.
129: 130: /* */ 131: /* Generic parser-related types. */ 132: /* */ 133: 134: typedef enum { 135: PARSE_ERROR, 136: END_OF_SOURCE, 137: ROUTINE_DEF_BEGIN, 138: ROUTINE_DEF_END, 139: ROUTINE_REF 140: } language_element; 141: 142: typedef language_element (*PARSER)(); 143:
END OF FILE TOTAL: 1 routines, 1 Avg Length