Go to: Contents; Previous section; Beginning of section; Next file in section; Previous file in section.
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:
ROUTINE make_filename. Go to:
Next routine in file; Routines in this file.
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
Go to: Contents; Previous section; Beginning of section; Next file in section; Previous file in section.