/* keywords from Appendix B.1: */
boolean
else
if
int
main
void
while
true
false

/* Keywords added in Assignment 2 spec: */
float
double
string
struct
print

/* Separators from Appendix B.1: */
(
)
{
}
;
,

/* Separators added from Assignment 2 spec: */
[
]

/* Operators from Appendix B.1: */
=
+
-
*
/
<
<=
>
=
==
!=
&&
||
!

/* Operator added from Assignment 2 spec: */
.

/* Some literals (from Sections 3.10.1, 3.10.2, and 3.10.5 of Java lang spec
   (these were copied and pasted directly from the web page) */
0       2       0372    0xDadaCafe      1996    0x00FF00FF
0l      0777L   0x100000000L    2147483648L        0xC0B0L
1e1f            2.f             .3f             0f              3.14f           6.022137e+23f
1e1             2.              .3              0.0             3.14            1e-9d           1e137
""                              // the empty string
"\""                            // a string containing " alone
"This is a string"              // a string containing 16 characters
"This is a " +                  // actually a string-valued constant expression,
        "two-line string"       //              formed from two string literals
"\b\t\n\f\r\"\'\\\126\001"

/**/
/* */
/** **/
/*** /* nested comment */ *****/