# C and C++ language definition file # # Author: Andre Simon # Mail: andre.simon1@gmx.de # Date: 24.7.2002 # updated 12.01.04 to add more types (ansi c, iso 99) # updated 22.03.10 to add C++0x keywords, R"", "\uxxxx" # ------------------------------------------ # This file is a part of highlight, a free source code converter released under the GPL. # # The file is used to describe keywords and special symbols of programming languages. # See README in the highlight directory for details. # # New definition files for future releases of highlight are always appreciated ;) # # ---------- # andre.simon1@gmx.de # http:/www.andre-simon.de/ $DESCRIPTION=C and C++ $KEYWORDS(kwa)=goto break return continue asm case default if else switch while for do sizeof typeof stdcall cdecl const_cast delete dynamic_cast goto namespace new pascal reinterpret_cast static_cast this throw try catch using true false bitand and bitor or xor compl and_eq or_eq xor_eq not not_eq assert static_assert $KEYWORDS(kwb)=int long short char void signed unsigned float double size_t wchar_t ptrdiff_t sig_atomic_t fpos_t clock_t time_t va_list jmp_buf FILE DIR div_t ldiv_t static const bool struct union enum size_t wchar_t ptrdiff_t sig_atomic_t fpos_t clock_t time_t va_list jmp_buf FILE DIR div_t ldiv_t mbstate_t wctrans_t wint_t wctype_t bool complex int8_t int16_t int32_t int64_t uint8_t uint16_t uint32_t uint64_t int_least8_t int_least16_t int_least32_t int_least64_t uint_least8_t uint_least16_t uint_least32_t uint_least64_t int_fast8_t int_fast16_t int_fast32_t int_fast64_t uint_fast8_t uint_fast16_t uint_fast32_t uint_fast64_t intptr_t uintptr_t intmax_t uintmax_t $KEYWORDS(kwc)=typedef inline auto class explicit extern friend inline mutable operator register template private protected public typeid virtual volatile constexpr nullptr decltype $KEYWORDS(kwd)=regex((\w+)\s*\() $STRINGDELIMITERS=" ' $SL_COMMENT=// $ML_COMMENT=/* */ $ALLOWNESTEDCOMMENTS=false $IGNORECASE=false $DIRECTIVE=# $ESCCHAR=regex(\\u\p{XDigit}{4}|\\\d{3}|\\x\p{XDigit}{2}|\\[ntvbrfa\\\?'"]) $SYMBOLS= ( ) [ ] { } , ; . : & | < > ! = / * % + - ~ $CONTINUATIONSYMBOL=\ $REFORMATTING=true $RAWSTRINGPREFIX=R