.*\.(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]*:.*