
KEYWORD
attribute
interface
module
struct
union

MODIFIER
in
inout
readonly
oneway
out

TYPE
char
double
float
int
long
short
void

SPECIAL

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
/\*(([$^]|[^*])|\*[^/])*\*/
//.*$
