1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
|
#ifndef ROBODOC_HEADERS_H
#define ROBODOC_HEADERS_H
/****s* Headers/RB_header
* FUNCTION
* This structure is used to store the headers that are extracted
* from the source files.
* MODIFICATION HISTORY
* * 8. August 1995: Koessi changed int version to char *version
* ATTRIBUTES
* * next -- used to store RB_headers in a RB_Part as
* a linked list.
* * parent -- the parent of this header
* * name -- the full name of the header
* modulename/functionname [versioninfo]
* * owner -- the Part that owns this header.
* * htype -- the type of this header.
* * items -- pointers to the items in this header.
* * version -- unused
* * function_name -- the functionname ( a better name would
* be objectname or thingy name,
* it is the name of the thing that is
* being documented ).
* * module_name -- the modulename
* * unique_name -- unique name used for labels.
* * file_name -- documentation file of this header.
* * lines -- content of the header
* * no_lines -- number of lines in the content.
* * line_number -- the line number at which the header was
* found in the source file.
* SOURCE
*/
struct RB_header
{
struct RB_header *next;
struct RB_header *parent;
struct RB_Part *owner;
struct RB_HeaderType *htype;
struct RB_Item *items;
int is_internal;
char *name;
char **names;
int no_names;
char *version;
char *function_name;
char *module_name;
char *unique_name;
char *file_name;
char **lines;
int no_lines;
int line_number;
};
/*********/
/****d* Headers/src_constants
* NAME
* src_constants -- numerals for header_markers
* NOTE
* Most of them seem to be unused at the moment.
* But it's better to keep it up to date for the
* eventuality of a later use by robohdrs.
* SOURCE
*/
#define SRC_C 0
#define SRC_ACM 1 /* Added by David White for Aspen Custom Modeller */
#define SRC_CPP 2 /* All values incremented 1 to allow for ACM */
#define SRC_PASCAL 3
#define SRC_PASCAL2 4
#define SRC_APLUS 5 /* David White for Aspen Plus */
#define SRC_ASM 6
#define SRC_ASM2 7
#define SRC_FORTRAN 8
#define SRC_BASIC 9
#define SRC_TEX 10
#define SRC_SCRIPT 11
#define SRC_COBOL 12
#define SRC_OCCAM 13
#define SRC_HTML 14
#define SRC_HTML2 15
#define SRC_GNUASM 16
#define SRC_F902 17
#define SRC_F90 18
#define SRC_VB 20
#define SRC_DBC 21
/*********/
/****d* Headers/src_remark_constants
* NAME
* src_remark_constants -- numerals for remark_markers
* NOTE
* Most of them seem to be unused at the moment.
* But it's better to keep it up to date for the
* eventuality of a later use by robohdrs.
* SOURCE
*/
#define SRC_R_C 0
#define SRC_R_ACM 1 /* Added by David White for Aspen Custom Modeller */
#define SRC_R_CPP 2 /* All values incremented 1 to allow for ACM */
#define SRC_R_PASCAL 3 /* PASCAL and PASCAL2 were 1, should have been 2, incr to 3 */
#define SRC_R_PASCAL2 3
#define SRC_R_APLUS 4 /* David White for Aspen Plus */
#define SRC_R_ASM 5
#define SRC_R_ASM2 6
#define SRC_R_FORTRAN 7
#define SRC_R_BASIC 8
#define SRC_R_TEX 9
#define SRC_R_SCRIPT 10
#define SRC_R_COBOL 11
#define SRC_R_OCCAM 12
#define SRC_R_GNUASM 13
#define SRC_R_F902 14
#define SRC_R_F90 15
#define SRC_R_VB 17
#define SRC_R_DBC 18
#define SRC_R_HTML 19 /* NULL */
#define SRC_R_HTML2 19 /* NULL */
/*********/
/****d* Headers/end_remark_constants [3.0h]
* NAME
* end_remark_constants -- numerals for end_markers
* NOTE
* Most of them seem to be unused at the moment. But it's better to
* keep it up to date for the eventuality of a later use by
* robohdrs.
* SOURCE
*/
#define SRC_E_C 0
#define SRC_E_ACM 1 /* Added by David White for Aspen Custom Modeller */
#define SRC_E_CPP 2 /* All values incremented 1 to allow for ACM */
#define SRC_E_PASCAL 4
#define SRC_E_PASCAL2 5
#define SRC_E_APLUS 6 /* David White for Aspen Plus */
#define SRC_E_ASM 7
#define SRC_E_ASM2 8
#define SRC_E_FORTRAN 9
#define SRC_E_BASIC 10
#define SRC_E_TEX 11
#define SRC_E_SCRIPT 12
#define SRC_E_COBOL 13
#define SRC_E_OCCAM 14
#define SRC_E_HTML 15
#define SRC_E_HTML2 16
#define SRC_E_GNUASM 17
#define SRC_E_F902 18
#define SRC_E_F90 19
#define SRC_E_VB 21
#define SRC_E_DBC 22
/*********/
extern char *robo_header; /* Added by DavidCD */
extern char *robo_end[]; /* Added by DavidCD */
extern char *header_markers[];
extern char *remark_markers[];
extern char *end_markers[];
extern char *end_remark_markers[];
extern char *RB_header_type_names[];
extern char *RB_internal_header_type_names[];
int RB_Is_Begin_Marker(
char *cur_line,
char **type );
int RB_Is_End_Marker(
char *cur_line );
void RB_Header_Lock_Reset(
void );
void RB_Item_Lock_Reset(
void );
char *RB_Skip_Remark_Marker(
char *lline_buffer );
int RB_Has_Remark_Marker(
char *lline_buffer );
int RB_Is_Remark_End_Marker(
char *cur_line );
int RB_Is_Remark_Begin_Marker(
char *cur_line );
char *RB_Skip_Remark_Begin_Marker(
char *cur_line );
char *RB_Skip_Remark_End_Marker(
char *cur_line );
#endif /* ROBODOC_HEADERS_H */
|