.*\.(c|C|m|M)
commentDoxygen
/\*(\*|!)
\*/
doxyparse
comment
/\*
\*/
TODO
SYNTAX_ERROR
/\*
preprocesseur
#[ \t]*if 0
#(endif|else)
SYNTAX_ERROR
#[ \t]*if 0
preprocesseur
#(.|\\[\\\n])*
commentDoxygen
//!.*
doxyparse
comment
//.*
TODO
doubleQuoteText
"(.|\\[\\"])*?"
doubleQuoteText
'\\?.'
keyword
\b(return|goto|if|else|case|default|switch|break|continue|while|do|for|sizeof)\b
systemFunction
\b(memset|fopen|fread|fwrite|fgets|fclose|printf|(f|s|diag_)printf|calloc|malloc|realloc)\b
type
\b(bool|char(16_t|32_t)?|double|float|u?int(8|16|32|64|128)?(_t)?|long|short|signed|size_t|unsigned|void|(I|U)(8|16|32|64|128))\b
storageKeyword
\b(inline|const|const|extern|register|static|unsigned|signed|volatile|char|double|float|int|long|short|void|typedef|struct|union|enum)\b
commonDefine
\b(NULL|MAX|MIN|__(LINE|DATA|FILE|func|TIME|STDC|PRETTY_FUNCTION|FUNCTION)__)\b
number
\b(((0(x|X)[0-9a-fA-F]*)|(\d+\.?\d*|\.\d+)((e|E)(\+|\-)?\d+)?)(L|l|UL|ul|u|U|F|f)?)\b
boolean
\b(TRUE|FALSE)\b
macro
\b([A-Z_][A-Z_0-9]{3,500})\b
inputFunction
\b_\w+\b
functionName
\b((\w|_)+[ \t]*\()
boolean
==|<=|>=|!=|<{1,2}|>{1,2}|&&|\{|\}
SYNTAX_ERROR
'|"
doxygen-key
(@|\\)[\t ]*\w+
doxygen-in-out
\[(in|in,out|out)\]
inputFunction
\b_\w+\b
SYNTAX_ERROR
TODO[ \t]*:.*