1 /******************************************************************************
6 * Copyright (C) 1997-2014 by Dimitri van Heesch.
8 * Permission to use, copy, modify, and distribute this software and its
9 * documentation under the terms of the GNU General Public License is hereby
10 * granted. No representations are made about the suitability of this software
11 * for any purpose. It is provided "as is" without express or implied warranty.
12 * See the GNU General Public License for more details.
14 * Documents produced by Doxygen are derivative works derived from the
15 * input used in their production; they are not affected by this license.
19 #ifndef _DOCTOKENIZER_H
20 #define _DOCTOKENIZER_H
25 #include "htmlattrib.h"
45 RetVal_SimpleSec = 0x10001,
46 RetVal_ListItem = 0x10002,
47 RetVal_Section = 0x10003,
48 RetVal_Subsection = 0x10004,
49 RetVal_Subsubsection = 0x10005,
50 RetVal_Paragraph = 0x10006,
51 RetVal_SubParagraph = 0x10007,
52 RetVal_EndList = 0x10008,
53 RetVal_EndPre = 0x10009,
54 RetVal_DescData = 0x1000A,
55 RetVal_DescTitle = 0x1000B,
56 RetVal_EndDesc = 0x1000C,
57 RetVal_TableRow = 0x1000D,
58 RetVal_TableCell = 0x1000E,
59 RetVal_TableHCell = 0x1000F,
60 RetVal_EndTable = 0x10010,
61 RetVal_Internal = 0x10011,
62 RetVal_SwitchLang = 0x10012,
63 RetVal_CloseXml = 0x10013,
64 RetVal_EndBlockQuote = 0x10014,
65 RetVal_CopyDoc = 0x10015,
66 RetVal_EndInternal = 0x10016,
67 RetVal_EndParBlock = 0x10017
70 /** @brief Data associated with a token used by the comment block parser. */
79 // command text (RCS tag)
92 QCString simpleSectName;
93 QCString simpleSectText;
102 HtmlAttribList attribs;
113 enum ParamDir { In=1, Out=2, InOut=3, Unspecified=0 };
118 extern TokenInfo *g_token;
119 extern int doctokenizerYYlineno;
120 extern FILE *doctokenizerYYin;
123 const char *tokToString(int token);
125 // operations on the scanner
126 void doctokenizerYYFindSections(const char *input,Definition *d,
127 MemberGroup *mg,const char *fileName);
128 void doctokenizerYYinit(const char *input,const char *fileName);
129 void doctokenizerYYcleanup();
130 void doctokenizerYYpushContext();
131 bool doctokenizerYYpopContext();
132 int doctokenizerYYlex();
133 void doctokenizerYYsetStatePara();
134 void doctokenizerYYsetStateTitle();
135 void doctokenizerYYsetStateTitleAttrValue();
136 void doctokenizerYYsetStateCode();
137 void doctokenizerYYsetStateXmlCode();
138 void doctokenizerYYsetStateHtmlOnly();
139 void doctokenizerYYsetStateManOnly();
140 void doctokenizerYYsetStateLatexOnly();
141 void doctokenizerYYsetStateXmlOnly();
142 void doctokenizerYYsetStateDbOnly();
143 void doctokenizerYYsetStateRtfOnly();
144 void doctokenizerYYsetStateVerbatim();
145 void doctokenizerYYsetStateDot();
146 void doctokenizerYYsetStateMsc();
147 void doctokenizerYYsetStateParam();
148 void doctokenizerYYsetStateXRefItem();
149 void doctokenizerYYsetStateFile();
150 void doctokenizerYYsetStatePattern();
151 void doctokenizerYYsetStateLink();
152 void doctokenizerYYsetStateCite();
153 void doctokenizerYYsetStateRef();
154 void doctokenizerYYsetStateInternalRef();
155 void doctokenizerYYsetStateText();
156 void doctokenizerYYsetStateSkipTitle();
157 void doctokenizerYYsetStateAnchor();
158 void doctokenizerYYsetInsidePre(bool b);
159 void doctokenizerYYpushBackHtmlTag(const char *tag);
160 void doctokenizerYYsetStateSnippet();
161 void doctokenizerYYstartAutoList();
162 void doctokenizerYYendAutoList();
163 void doctokenizerYYsetStatePlantUML();