#								-*- syntax -*-
# led syntax specification for C++, basically the same as c
# but with additional keywords.
#
# (c) 2002 Jordan DeLong
#

words	:
	auto break case const continue default do else extern for
	goto if inline register return signed sizeof static switch
	typedef union unsigned volatile while

	catch delete friend inline new namespace
	operator private protected public template this throw
	try static_cast dynamic_cast reinterpret_cast const_cast
	using virtual explicit export mutable typename true false

	:						are "keyword";

words	:
	char double enum float int long short struct
	void bool class

	u_char u_int u_long u_short u_int16_t int16_t
	u_int32_t int32_t u_int64_t int64_t uint16_t
	uint32_t uint64_t intptr_t uintptr_t
	:						are "type";

words	: defined :					are "preproc";
regexp	"#[ \t]*[a-zA-Z]+"				are "preproc";

begin	: /* :
end	: */ :						are "comment";

begin	: // :
endatnl							are "comment";

tokens	: { } ( ) [ ] :					are "grouping";
tokens	: ! % & | * + - / \: < = > ? ^ ~ . :		are "operator";

string	"'"	quote "\\"				are "string";
string	"\""	quote "\\"				are "string";

options	: hlnums :;
