47 lines
1.2 KiB
Plaintext
47 lines
1.2 KiB
Plaintext
# definitions for C++
|
|
|
|
include "c_comment.lang"
|
|
|
|
(keyword,normal,classname) =
|
|
`(\<(?:enum|class|struct|typename|union))([[:blank:]]+)([[:alnum:]_]+)`
|
|
|
|
include "c_preprocessor.lang"
|
|
|
|
include "number.lang"
|
|
|
|
include "c_string.lang"
|
|
|
|
keyword = "__asm|__cdecl|__declspec|__export|__far16",
|
|
"__fastcall|__fortran|__import",
|
|
"__pascal|__rtti|__stdcall|_asm|_cdecl",
|
|
"__except|_export|_far16|_fastcall",
|
|
"__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto",
|
|
"break|case|cdecl|const|continue|default",
|
|
"do|else|enum|extern|for|goto",
|
|
"if|pascal",
|
|
"register|restrict|return|sizeof|static",
|
|
"struct|switch",
|
|
"typedef|union",
|
|
"volatile|while",
|
|
"catch|class|const_cast|constexpr|decltype|delete",
|
|
"dynamic_cast|explicit|export|false|final|friend",
|
|
"inline|mutable|namespace|new|noexcept|operator|override",
|
|
"private|protected|public|reinterpret_cast|static_cast",
|
|
"static_assert|template|this|throw|true",
|
|
"try|typeid|typename",
|
|
"using|virtual"
|
|
|
|
label = '^[[:blank:]]*[[:alnum:]]+:[[:blank:]]*\z'
|
|
|
|
type = "bool|char|double|float|int|long",
|
|
"short|signed|unsigned|void|wchar_t",
|
|
"char16_t|char32_t"
|
|
|
|
include "symbols.lang"
|
|
|
|
cbracket = "{|}"
|
|
|
|
include "function.lang"
|
|
|
|
include "clike_vardeclaration.lang"
|