29#define TOKEN_SPECIFICATIONS \
33 TKSPEC(TK_LNKWORD, 2) \
34 TKSPEC(TK_WHITESPACE, 3) \
35 TKSPEC(TK_LISTITEM, 4) \
36 TKSPEC(TK_ENDLIST, 5) \
37 TKSPEC(TK_COMMAND_AT, 6) \
38 TKSPEC(TK_HTMLTAG, 7) \
39 TKSPEC(TK_SYMBOL, 8) \
40 TKSPEC(TK_NEWPARA, 9) \
41 TKSPEC(TK_RCSTAG, 10) \
43 TKSPEC(TK_COMMAND_BS, 12)
45#define RETVAL_SPECIFICATIONS \
46 TKSPEC(RetVal_OK, 0x10000) \
47 TKSPEC(RetVal_SimpleSec, 0x10001) \
48 TKSPEC(RetVal_ListItem, 0x10002) \
49 TKSPEC(RetVal_Section, 0x10003) \
50 TKSPEC(RetVal_Subsection, 0x10004) \
51 TKSPEC(RetVal_Subsubsection, 0x10005) \
52 TKSPEC(RetVal_Paragraph, 0x10006) \
53 TKSPEC(RetVal_SubParagraph, 0x10007) \
54 TKSPEC(RetVal_EndList, 0x10008) \
55 TKSPEC(RetVal_EndPre, 0x10009) \
56 TKSPEC(RetVal_DescData, 0x1000A) \
57 TKSPEC(RetVal_DescTitle, 0x1000B) \
58 TKSPEC(RetVal_EndDesc, 0x1000C) \
59 TKSPEC(RetVal_TableRow, 0x1000D) \
60 TKSPEC(RetVal_TableCell, 0x1000E) \
61 TKSPEC(RetVal_TableHCell, 0x1000F) \
62 TKSPEC(RetVal_EndTable, 0x10010) \
63 TKSPEC(RetVal_Internal, 0x10011) \
64 TKSPEC(RetVal_SwitchLang, 0x10012) \
65 TKSPEC(RetVal_CloseXml, 0x10013) \
66 TKSPEC(RetVal_EndBlockQuote, 0x10014) \
67 TKSPEC(RetVal_CopyDoc, 0x10015) \
68 TKSPEC(RetVal_EndInternal, 0x10016) \
69 TKSPEC(RetVal_EndParBlock, 0x10017) \
70 TKSPEC(RetVal_EndHtmlDetails, 0x10018) \
71 TKSPEC(RetVal_SubSubParagraph, 0x10019)
75#define TKSPEC(x,y) x = y,
86#define TKSPEC(x,y) static Token make_##x() { return Token(TokenRetval::x); }
93 const char *result =
"ERROR";
96#define TKSPEC(x,y) case TokenRetval::x: result = #x; break;
106 return m_value==TokenRetval::TK_COMMAND_AT ?
'@' :
'\\';
111 return c==
'@' ? make_TK_COMMAND_AT() : make_TK_COMMAND_BS();
114 template<
typename... ARGS>
117 return ((
m_value == args) || ...);
196 void findSections(
const QCString &input,
const Definition *d,
197 const QCString &fileName);
198 void init(
const char *input,
const QCString &fileName,
199 bool markdownSupport,
bool insideHtmlLink);
254 std::unique_ptr<Private>
p;
The common base class of all entity definitions found in the sources.
void setStateTitleAttrValue()
void setStateILiteralOpt()
void init(const char *input, const QCString &fileName, bool markdownSupport, bool insideHtmlLink)
void setLineNr(int lineno)
void setStatePlantUMLOpt()
void findSections(const QCString &input, const Definition *d, const QCString &fileName)
void setInsidePre(bool b)
void unputString(const QCString &tag)
void setStateInternalRef()
void setStateDoxyConfig()
void setStateQuotedString()
std::unique_ptr< Private > p
void pushBackHtmlTag(const QCString &tag)
friend bool operator==(const Token &t1, const Token &t2)
bool is(TokenRetval rv) const
static Token char_to_command(char c)
TOKEN_SPECIFICATIONS RETVAL_SPECIFICATIONS const char * to_string() const
TokenRetval value() const
bool is_any_of(ARGS... args) const
friend bool operator!=(const Token &t1, const Token &t2)
char command_to_char() const
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
#define TOKEN_SPECIFICATIONS
#define RETVAL_SPECIFICATIONS
Data associated with a token used by the comment block parser.