Added SILC Thread Queue API
[silc.git] / util / robodoc / Source / headers.c
1 #include <stdio.h>
2 #include <stddef.h>
3 #include "robodoc.h"
4 #include "headers.h"
5
6
7 /****v* ROBODoc/header_markers [3.0h]
8  * NAME
9  *   header_markers -- strings that mark the begin of a header.
10  * FUNCTION
11  *   These specify what robodoc recognizes as the beginning
12  *   of a header.
13  * SOURCE
14  */
15
16 char *header_markers[] =
17 {
18   "/****",                      /* C, C++ */
19   "//****",                     /* C++ */
20   "(****",                      /* Pascal, Modula-2, B52 */
21   "{****",                      /* Pascal */
22   ";****",                      /* M68K assembler */
23   "****",                       /* M68K assembler */
24   "C     ****",                 /* Fortran */
25   "REM ****",                   /* BASIC */
26   "%****",                      /* LaTeX, TeX, Postscript */
27   "#****",                      /* Tcl/Tk */
28   "      ****",                 /* COBOL */
29   "--****",                     /* Occam */
30   "<!--****",                   /* HTML Code */
31   "<!---****",                  /* HTML Code,  the three-dashed comment 
32                                  * tells the [server] pre-processor not 
33                                  * to send that comment with the HTML */
34   "|****",                      /* GNU Assembler */
35   "!!****",                     /* FORTAN 90 */
36   NULL};
37
38 /****/
39
40
41 /****v* ROBODoc/remark_markers [3.0h]
42  * NAME
43  *   remark_markers
44  * FUNCTION
45  *   These specify what robodoc recognizes as a comment marker.
46  * SOURCE
47  */
48
49 char *remark_markers[] =
50 {
51   " *",                         /* C, C++, Pascal, Modula-2 */
52   "//",                         /* C++ */
53   "*",                          /* C, C++, M68K assembler, Pascal, *
54                                  * Modula-2 */
55   ";*",                         /* M68K assembler */
56   ";",                          /* M68K assembler */
57   "C    ",                      /* Fortran */
58   "REM ",                       /* BASIC */
59   "%",                          /* LaTeX, TeX, Postscript */
60   "#",                          /* Tcl/Tk */
61   "      *",                    /* COBOL */
62   "--",                         /* Occam */
63   "|",                          /* GNU Assembler */
64   "!!",                         /* FORTAN 90 */
65   NULL};
66
67 /****/
68
69 /****v* ROBODoc/end_markers [3.0h]
70  * NAME
71  *   end_markers -- strings that mark the end of a header.
72  * FUNCTION
73  *   These specify what robodoc recognizes as the end of a 
74  *   documentation header. In most cases this will be
75  *   "***" or " ***". If the header contains a SOURCE item
76  *   then the end of the source has to be marked, which
77  *   is when the other strings in this array are used.
78  * SOURCE
79  */
80
81 char *end_markers[] =
82 {
83   "/***",                       /* C, C++ */
84   "//***",                      /* C++ */
85   " ***",                       /* C, C++, Pascal, Modula-2 */
86   "{***",                       /* Pascal */
87   "(***",                       /* Pascal, Modula-2, B52 */
88   ";***",                       /* M68K assembler */
89   "***",                        /* M68K assembler */
90   "C     ***",                  /* Fortran */
91   "REM ***",                    /* BASIC */
92   "%***",                       /* LaTeX, TeX, Postscript */
93   "#***",                       /* Tcl/Tk */
94   "      ***",                  /* COBOL */
95   "--***",                      /* Occam */
96   "<!--***",                    /* HTML */
97   "<!---***",                   /* HTML */
98   "|***",                       /* GNU Assembler */
99   "!!***",                      /* FORTAN 90 */
100   NULL};
101
102 /****/
103
104 /****v* ROBODoc/RB_header_typenames
105  * NAME
106  *   RB_header_typename
107  * FUNCTION
108  *   Handy table to translate a header type number (see RB_header_types)
109  *   to an ascii string.
110  *****
111  */
112
113 char *RB_header_type_names[] =
114 {
115   "none",
116   "main",
117   "generic",
118   "internal",
119   "function",
120   "struct",
121   "class",
122   "method",
123   "constant",
124   "variable",
125   "blank"
126 };
127
128 /****v* ROBODoc/first_header
129  * NAME
130  *   first_header -- pointer to the first header in the list of headers.
131  * SOURCE
132  */
133
134 struct RB_header *first_header = NULL;
135
136 /*****/
137
138 /****v* ROBODoc/last_header
139  * NAME
140  *   last_header -- pointer to the last header in the list of headers.
141  * SOURCE
142  */
143
144 struct RB_header *last_header = NULL;
145
146 /******/
147
148 /****v* ROBODoc/first_link
149  * NAME
150  *   first_link -- pointer to the first link in the list of links.
151  * SOURCE
152  */
153
154 struct RB_link *first_link = NULL;
155
156 /*****/
157
158
159 int header_index_size = 0;
160 struct RB_header **header_index = NULL;