
KEYWORD
break
case
continue
default
do
else
for
goto
if
return
struct
switch
typedef
union
while

MODIFIER
register
static
volatile

TYPE
char
double
float
int
long
short
void

SPECIAL
NULL
TRUE
FALSE

OPERATOR
\+
-
\*
/
&
\|
<
>
=
;
\?
:
\.
!
%
,

BLOCK
\{
\}
\(
\)
\[
\]

KEY
(^|[^a-zA-Z0-9_])[0-9][0-9]*[l]?($|[^a-zA-Z0-9_])
[0-9][0-9]*[l]?
NUMBER

KEY
(^|[^a-zA-Z0-9_.])[0-9]*\.[0-9]*[df]?($|[^a-zA-Z0-9_.])
[0-9]*\.[0-9]*[df]?
NUMBER

STRING
"[^"]*"
'[^']{1,6}'

KEY
^[ \t]*#.*$
#.*
PRAGMA

COMMENT
/\*(([$^]|[^*])|\*[^/])*\*/
//.*$
