.t.e.s.t. Comments
/*ml-comment*//**//***//**
*javadoc-comment*//* a
.e.o.f.


.t.e.s.t. Identifiers
a ab aB2 2a x
yZ
.\.r.
z
.e.o.f.


.t.e.s.t. Character Literals
'' 'a''' '\'' '\\' '\\\'' '\n' 'a
.e.o.f.


.t.e.s.t. String Literals
"" "a"
"\" "
"\\"
"\\\\\\\"\""
"\n\" \"a
.e.o.f.


.t.e.s.t. Number Literals
0 00 09 1 12 0L 1l 12L 0x1 0xf 0XdE 0Xbcy 09.5 1.5f 2.5d 6d 7e3 6.1E-7f 0xa.5dp+12d .3
.e.o.f.


.t.e.s.t. Operators
^ ^= % %= * *= / /= = ==
.e.o.f.
 

.t.e.s.t. Keywords
abstract assert boolean break byte case catch char class const continue
default do double else enum extends final finally float for goto if
implements import instanceof int interface long native new package
private protected public return short static strictfp super switch
synchronized this throw throws transient try void volatile while
null true false
.e.o.f.


.t.e.s.t. Non-keywords
abstracta assertx b br car dou doubl finall im i ifa inti throwsx
