--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orb/Doxygen/src/doctokenizer.h Thu Jan 21 17:29:01 2010 +0000
@@ -0,0 +1,151 @@
+/******************************************************************************
+ *
+ *
+ *
+ *
+ * Copyright (C) 1997-2008 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ * Documents produced by Doxygen are derivative works derived from the
+ * input used in their production; they are not affected by this license.
+ *
+ */
+
+#ifndef _DOCTOKENIZER_H
+#define _DOCTOKENIZER_H
+
+#include <qstring.h>
+#include <qlist.h>
+#include "htmlattrib.h"
+
+class Definition;
+class MemberGroup;
+
+enum Tokens
+{
+ TK_WORD = 1,
+ TK_LNKWORD = 2,
+ TK_WHITESPACE = 3,
+ TK_LISTITEM = 4,
+ TK_ENDLIST = 5,
+ TK_COMMAND = 6,
+ TK_HTMLTAG = 7,
+ TK_SYMBOL = 8,
+ TK_NEWPARA = 9,
+ TK_RCSTAG = 10,
+ TK_URL = 11,
+
+ RetVal_OK = 0x10000,
+ RetVal_SimpleSec = 0x10001,
+ RetVal_ListItem = 0x10002,
+ RetVal_Section = 0x10003,
+ RetVal_Subsection = 0x10004,
+ RetVal_Subsubsection = 0x10005,
+ RetVal_Paragraph = 0x10006,
+ RetVal_SubParagraph = 0x10007,
+ RetVal_EndList = 0x10008,
+ RetVal_EndPre = 0x10009,
+ RetVal_DescData = 0x1000A,
+ RetVal_DescTitle = 0x1000B,
+ RetVal_EndDesc = 0x1000C,
+ RetVal_TableRow = 0x1000D,
+ RetVal_TableCell = 0x1000E,
+ RetVal_TableHCell = 0x1000F,
+ RetVal_EndTable = 0x10010,
+ RetVal_Internal = 0x10011,
+ RetVal_SwitchLang = 0x10012,
+ RetVal_CloseXml = 0x10013
+};
+
+struct TokenInfo
+{
+ // unknown token
+ char unknownChar;
+
+ // command token
+ QString name;
+
+ // command text (RCS tag)
+ QString text;
+
+ // comment blocks
+
+ // list token info
+ bool isEnumList;
+ int indent;
+
+ // sections
+ QString sectionId;
+
+ // simple section
+ QString simpleSectName;
+ QString simpleSectText;
+
+ // verbatim fragment
+ QString verb;
+
+ // xrefitem
+ int id;
+
+ // html tag
+ HtmlAttribList attribs;
+ bool endTag;
+ bool emptyTag;
+
+ // whitespace
+ QString chars;
+
+ // url
+ bool isEMailAddr;
+
+ // param attributes
+ enum ParamDir { In=1, Out=2, InOut=3, Unspecified=0 };
+ ParamDir paramDir;
+};
+
+// globals
+extern TokenInfo *g_token;
+extern int doctokenizerYYlineno;
+extern FILE *doctokenizerYYin;
+
+// helper functions
+const char *tokToString(int token);
+
+// operations on the scanner
+void doctokenizerYYFindSections(const char *input,Definition *d,
+ MemberGroup *mg,const char *fileName);
+void doctokenizerYYinit(const char *input,const char *fileName);
+void doctokenizerYYcleanup();
+void doctokenizerYYpushContext();
+bool doctokenizerYYpopContext();
+int doctokenizerYYlex();
+void doctokenizerYYsetStatePara();
+void doctokenizerYYsetStateTitle();
+void doctokenizerYYsetStateTitleAttrValue();
+void doctokenizerYYsetStateCode();
+void doctokenizerYYsetStateXmlCode();
+void doctokenizerYYsetStateHtmlOnly();
+void doctokenizerYYsetStateManOnly();
+void doctokenizerYYsetStateLatexOnly();
+void doctokenizerYYsetStateXmlOnly();
+void doctokenizerYYsetStateVerbatim();
+void doctokenizerYYsetStateDot();
+void doctokenizerYYsetStateMsc();
+void doctokenizerYYsetStateParam();
+void doctokenizerYYsetStateXRefItem();
+void doctokenizerYYsetStateFile();
+void doctokenizerYYsetStatePattern();
+void doctokenizerYYsetStateLink();
+void doctokenizerYYsetStateRef();
+void doctokenizerYYsetStateInternalRef();
+void doctokenizerYYsetStateText();
+void doctokenizerYYsetStateSkipTitle();
+void doctokenizerYYsetInsidePre(bool b);
+void doctokenizerYYpushBackHtmlTag(const char *tag);
+
+#endif