Index: /trunk/ProjectFortress/src/com/sun/fortress/parser/Literal.rats
===================================================================
--- /trunk/ProjectFortress/src/com/sun/fortress/parser/Literal.rats (revision 3599)
+++ /trunk/ProjectFortress/src/com/sun/fortress/parser/Literal.rats (revision 3909)
@@ -180,5 +180,252 @@
 private String CharLiteralContent =
      EscapeSequence
-   / a1:(!InvalidCharLiteralContent _) { yyValue = String.valueOf(a1); };
+   / "ALPHA" { yyValue = "\u0391"; }
+   / "BETA" { yyValue = "\u0392"; }
+   / "GAMMA" { yyValue = "\u0393"; }
+   / "DELTA" { yyValue = "\u0394"; }
+   / "EPSILON" { yyValue = "\u0395"; }
+   / "ZETA" { yyValue = "\u0396"; }
+   / "ETA" { yyValue = "\u0397"; }
+   / "THETA" { yyValue = "\u0398"; }
+   / "IOTA" { yyValue = "\u0399"; }
+   / "KAPPA" { yyValue = "\u039A"; }
+   / "LAMBDA" { yyValue = "\u039B"; }
+   / "MU" { yyValue = "\u039C"; }
+   / "NU" { yyValue = "\u039D"; }
+   / "XI" { yyValue = "\u039E"; }
+   / "OMICRON" { yyValue = "\u039F"; }
+   / "PI" { yyValue = "\u0400"; }
+   / "RHO" { yyValue = "\u0401"; }
+   / "SIGMA" { yyValue = "\u0403"; }
+   / "TAU" { yyValue = "\u0404"; }
+   / "UPSILON" { yyValue = "\u0405"; }
+   / "PHI" { yyValue = "\u0406"; }
+   / "CHI" { yyValue = "\u0407"; }
+   / "PSI" { yyValue = "\u0408"; }
+   / "OMEGA" { yyValue = "\u0409"; }
+   / "alpha" { yyValue = "\u03B1"; }
+   / "beta" { yyValue = "\u03B2"; }
+   / "gamma" { yyValue = "\u03B3"; }
+   / "delta" { yyValue = "\u03B4"; }
+   / "epsilon" { yyValue = "\u03B5"; }
+   / "zeta" { yyValue = "\u03B6"; }
+   / "eta" { yyValue = "\u03B7"; }
+   / "theta" { yyValue = "\u03B8"; }
+   / "iota" { yyValue = "\u03B9"; }
+   / "kappa" { yyValue = "\u03BA"; }
+   / "lambda" { yyValue = "\u03BB"; }
+   / "mu" { yyValue = "\u03BC"; }
+   / "nu" { yyValue = "\u03BD"; }
+   / "xi" { yyValue = "\u03BE"; }
+   / "omicron" { yyValue = "\u03BF"; }
+   / "pi" { yyValue = "\u03C0"; }
+   / "rho" { yyValue = "\u03C1"; }
+   / "sigma" { yyValue = "\u03C3"; }
+   / "tau" { yyValue = "\u03C4"; }
+   / "upsilon" { yyValue = "\u03C5"; }
+   / "phi" { yyValue = "\u03C6"; }
+   / "chi" { yyValue = "\u03C7"; }
+   / "psi" { yyValue = "\u03C8"; }
+   / "omega" { yyValue = "\u03C9"; }
+   / "BOTTOM" { yyValue = "\u22A5"; }
+   / "TOP" { yyValue = "\u22A4"; }
+   / "INF" { yyValue = "\u221E"; }
+   / "FORALL" { yyValue = "\u2200"; }
+   / "EXISTS" { yyValue = "\u2203"; }
+   / "TIMES" { yyValue = "\u00D7"; }
+   / "BY" { yyValue = "\u00D7"; }
+   / "OTIMES" { yyValue = "\u2297"; }
+   / "ODOT" { yyValue = "\u2299"; }
+   / "CIRCLEDAST" { yyValue = "\u229B"; }
+   / "BOXTIMES" { yyValue = "\u22A0"; }
+   / "BOXDOT" { yyValue = "\u22A1"; }
+   / "BOXAST" { yyValue = "\u29C6"; }
+   / "CROSS" { yyValue = "\u2A2F"; }
+   / "DOTTIMES" { yyValue = "\u2A30"; }
+   / "TRITIMES" { yyValue = "\u2A3B"; }
+   / "DIVIDES" { yyValue = "\u2223"; }
+   / "DIV" { yyValue = "\u00F7"; }
+   / "OSLASH" { yyValue = "\u2298"; }
+   / "BOXSLASH" { yyValue = "\u29C4"; }
+   / "ODIV" { yyValue = "\u2A38"; }
+   / "DOTPLUS" { yyValue = "\u2214"; }
+   / "DOTMINUS" { yyValue = "\u2238"; }
+   / "TRIPLUS" { yyValue = "\u2A39"; }
+   / "TRIMINUS" { yyValue = "\u2A3A"; }
+   / "OPLUS" { yyValue = "\u2295"; }
+   / "OMINUS" { yyValue = "\u2296"; }
+   / "BOXPLUS" { yyValue = "\u229E"; }
+   / "BOXMINUS" { yyValue = "\u229F"; }
+   / "CAPCAP" { yyValue = "\u22D2"; }
+   / "CAP" { yyValue = "\u2229"; }
+   / "INTERSECT" { yyValue = "\u2229"; }
+   / "CUPCUP" { yyValue = "\u22D3"; }
+   / "CUP" { yyValue = "\u222A"; }
+   / "UNION" { yyValue = "\u222A"; }
+   / "UPLUS" { yyValue = "\u228E"; }
+   / "SETMINUS" { yyValue = "\u2216"; }
+   / "SQCAPCAP" { yyValue = "\u2A4E"; }
+   / "SQCAP" { yyValue = "\u2293"; }
+   / "SQCUPCUP" { yyValue = "\u2A4F"; }
+   / "SQCUP" { yyValue = "\u2294"; }
+   / "CURLYAND" { yyValue = "\u22CF"; }
+   / "CURLYOR" { yyValue = "\u22CE"; }
+   / "SIMEQ" { yyValue = "\u2243"; }
+   / "APPROXEQ" { yyValue = "\u224A"; }
+   / "APPROX" { yyValue = "\u2248"; }
+   / "BUMPEQV" { yyValue = "\u224E"; }
+   / "DOTEQDOT" { yyValue = "\u2251"; }
+   / "EQRING" { yyValue = "\u2256"; }
+   / "RINGEQ" { yyValue = "\u2257"; }
+   / "EQDEL" { yyValue = "\u225C"; }
+   / "EQDEF" { yyValue = "\u225D"; }
+   / "EQV" { yyValue = "\u2261"; }
+   / "EQUIV" { yyValue = "\u2261"; }
+   / "SEQV" { yyValue = "\u2263"; }
+   / "NSIMEQ" { yyValue = "\u2244"; }
+   / "NAPPROX" { yyValue = "\u2249"; }
+   / "NEQV" { yyValue = "\u2262"; }
+   / "NEARROW" { yyValue = "\u2197"; }
+   / "NE" { yyValue = "\u2260"; }
+   / "LT" { yyValue = "\u003C"; }
+   / "<=>" { yyValue = "\u21D4"; }
+   / "<=" { yyValue = "\u2264"; }
+   / "LEADSTO" { yyValue = "\u219D"; }
+   / "DOTLT" { yyValue = "\u22D6"; }
+   / "<<<" { yyValue = "\u22D8"; }
+   / "<<" { yyValue = "\u226A"; }
+   / "GT" { yyValue = "\u003E"; }
+   / ">=" { yyValue = "\u2265"; }
+   / "GE" { yyValue = "\u2265"; }
+   / ">>>" { yyValue = "\u22D9"; }
+   / ">>" { yyValue = "\u226B"; }
+   / "DOTGT" { yyValue = "\u22D7"; }
+   / "NLT" { yyValue = "\u226E"; }
+   / "NGT" { yyValue = "\u226F"; }
+   / "NLE" { yyValue = "\u2270"; }
+   / "NGE" { yyValue = "\u2271"; }
+   / "SUBSETEQ" { yyValue = "\u2286"; }
+   / "SUBSETNEQ" { yyValue = "\u228A"; }
+   / "SUBSET" { yyValue = "\u2282"; }
+   / "SUBSUB" { yyValue = "\u22D0"; }
+   / "SUPSETEQ" { yyValue = "\u2287"; }
+   / "SUPSETNEQ" { yyValue = "\u228B"; }
+   / "SUPSET" { yyValue = "\u2283"; }
+   / "SUPSUP" { yyValue = "\u22D1"; }
+   / "NSUBSETEQ" { yyValue = "\u2288"; }
+   / "NSUPSETEQ" { yyValue = "\u2289"; }
+   / "NSUBSET" { yyValue = "\u2284"; }
+   / "NSUPSET" { yyValue = "\u2285"; }
+   / "SQSUBSETEQ" { yyValue = "\u2291"; }
+   / "SQSUBSET" { yyValue = "\u228F"; }
+   / "SQSUPSETEQ" { yyValue = "\u2292"; }
+   / "SQSUPSET" { yyValue = "\u2290"; }
+   / "PRECEQ" { yyValue = "\u227C"; }
+   / "PRECSIM" { yyValue = "\u227E"; }
+   / "PRECNSIM" { yyValue = "\u22E8"; }
+   / "PREC" { yyValue = "\u227A"; }
+   / "EQPREC" { yyValue = "\u22DE"; }
+   / "SUCCEQ" { yyValue = "\u227D"; }
+   / "SUCCSIM" { yyValue = "\u227F"; }
+   / "SUCCNSIM" { yyValue = "\u22E9"; }
+   / "SUCC" { yyValue = "\u227B"; }
+   / "EQSUCC" { yyValue = "\u22DF"; }
+   / "EQ" { yyValue = "\u003D"; }
+   / "NPREC" { yyValue = "\u2280"; }
+   / "NSUCC" { yyValue = "\u2281"; }
+   / "SMALLEREQ" { yyValue = "\u2AAC"; }
+   / "SMALLER" { yyValue = "\u2AAA"; }
+   / "LARGEREQ" { yyValue = "\u2AAD"; }
+   / "LARGER" { yyValue = "\u2AAB"; }
+   / "INTEGRAL" { yyValue = "\u222B"; }
+   / "IN" { yyValue = "\u2208"; }
+   / "NOTIN" { yyValue = "\u2209"; }
+   / "CONTAINS" { yyValue = "\u220B"; }
+   / "AND" { yyValue = "\u2227"; }
+   / "OR" { yyValue = "\u2228"; }
+   / "->" { yyValue = "\u2192"; }
+   / "IMPLIES" { yyValue = "\u2192"; }
+   / "<->" { yyValue = "\u2194"; }
+   / "IFF" { yyValue = "\u2194"; }
+   / "CENTS" { yyValue = "\u00A2"; }
+   / "DEGREES" { yyValue = "\u00B0"; }
+   / "!!" { yyValue = "\u203C"; }
+   / "<-/-" { yyValue = "\u219A"; }
+   / "<-" { yyValue = "\u2190"; }
+   / "UPARROW" { yyValue = "\u2191"; }
+   / "DOWNARROW" { yyValue = "\u2193"; }
+   / "UPDOWNARROW" { yyValue = "\u2195"; }
+   / "NWARROW" { yyValue = "\u2196"; }
+   / "SEARROW" { yyValue = "\u2198"; }
+   / "SWARROW" { yyValue = "\u2199"; }
+   / "-/->" { yyValue = "\u219B"; }
+   / "LEFTHARPOONUP" { yyValue = "\u21BC"; }
+   / "LEFTHARPOONDOWN" { yyValue = "\u21BD"; }
+   / "UPHARPOONRIGHT" { yyValue = "\u21BE"; }
+   / "UPHARPOONLEFT" { yyValue = "\u21BF"; }
+   / "RIGHTHARPOONUP" { yyValue = "\u21C0"; }
+   / "RIGHTHARPOONDOWN" { yyValue = "\u21C1"; }
+   / "DOWNHARPOONRIGHT" { yyValue = "\u21C2"; }
+   / "DOWNHARPOONLEFT" { yyValue = "\u21C3"; }
+   / "RIGHTLEFTARROWS" { yyValue = "\u21C4"; }
+   / "LEFTRIGHTARROWS" { yyValue = "\u21C6"; }
+   / "LEFTLEFTARROWS" { yyValue = "\u21C7"; }
+   / "UPUPARROWS" { yyValue = "\u21C8"; }
+   / "RIGHTRIGHTARROWS" { yyValue = "\u21C9"; }
+   / "DOWNDOWNARROWS" { yyValue = "\u21CA"; }
+   / "RIGHTLEFTHARPOONS" { yyValue = "\u21CC"; }
+   / "LE" { yyValue = "\u2264"; }
+   / "=>" { yyValue = "\u21D2"; }
+   / "DEL" { yyValue = "\u2202"; }
+   / "PRODUCT" { yyValue = "\u220F"; }
+   / "COPRODUCT" { yyValue = "\u2210"; }
+   / "SUM" { yyValue = "\u2211"; }
+   / "CIRCLEDRING" { yyValue = "\u229A"; }
+   / "CIRC" { yyValue = "\u2218"; }
+   / "RING" { yyValue = "\u2218"; }
+   / "COMPOSE" { yyValue = "\u2218"; }
+   / "BULLET" { yyValue = "\u2219"; }
+   / "SQRT" { yyValue = "\u221A"; }
+   / "CBRT" { yyValue = "\u221B"; }
+   / "FOURTHROOT" { yyValue = "\u221C"; }
+   / "PROPTO" { yyValue = "\u221D"; }
+   / "PARALLEL" { yyValue = "\u2225"; }
+   / "NPARALLEL" { yyValue = "\u2226"; }
+   / "WREATH" { yyValue = "\u2240"; }
+   / "BUMPEQ" { yyValue = "\u224F"; }
+   / "DOTEQ" { yyValue = "\u2250"; }
+   / "DOT" { yyValue = "\u00B7"; }
+   / "VDASH" { yyValue = "\u22A2"; }
+   / "TURNSTILE" { yyValue = "\u22A2"; }
+   / "DASHV" { yyValue = "\u22A3"; }
+   / "BIGAND" { yyValue = "\u22C0"; }
+   / "ALL" { yyValue = "\u22C0"; }
+   / "BIGOR" { yyValue = "\u22C1"; }
+   / "ANY" { yyValue = "\u22C1"; }
+   / "BIGCAP" { yyValue = "\u22C2"; }
+   / "BIGINTERSECT" { yyValue = "\u22C2"; }
+   / "BIGCUP" { yyValue = "\u22C3"; }
+   / "BIGUNION" { yyValue = "\u22C3"; }
+   / "DIAMOND" { yyValue = "\u22C4"; }
+   / "STAR" { yyValue = "\u22C6"; }
+   / "PERP" { yyValue = "\u27C2"; }
+   / "BIGODOT" { yyValue = "\u2A00"; }
+   / "BIGOPLUS" { yyValue = "\u2A01"; }
+   / "BIGOTIMES" { yyValue = "\u2A02"; }
+   / "BIGUDOT" { yyValue = "\u2A03"; }
+   / "BIGUPLUS" { yyValue = "\u2A04"; }
+   / "BIGSQCAP" { yyValue = "\u2A05"; }
+   / "BIGSQCUP" { yyValue = "\u2A06"; }
+   / "BIGTIMES" { yyValue = "\u2A09"; }
+   / "JOIN" { yyValue = "\u2A1D"; }
+   / "EMPTYSET" { yyValue = "\u2205"; }
+   / "NOTSUBSETEQ" { yyValue = "\u2288"; }
+   / "NOTSUBSET" { yyValue = "\u2284"; }
+   / "NOTEQUIV" { yyValue = "\u2262"; }
+   / "NOTIN" { yyValue = "\u2209"; }
+   / "NOT" { yyValue = "\u00AC"; }
+   / "XOR" { yyValue = "\u22BB"; }
+   / a1:(!InvalidCharLiteralContent _) { yyValue = String.valueOf(a1); }
+   ;
 
 private String InvalidCharLiteralContent =
Index: /trunk/ProjectFortress/src/com/sun/fortress/tests/unit_tests/FileTests.java
===================================================================
--- /trunk/ProjectFortress/src/com/sun/fortress/tests/unit_tests/FileTests.java (revision 3898)
+++ /trunk/ProjectFortress/src/com/sun/fortress/tests/unit_tests/FileTests.java (revision 3909)
@@ -987,11 +987,16 @@
         if (props.get("link") != null)
             commandTests.add(new CommandTest("link", props, canonicalDirName,
-                                          dirname, testname, failsOnly,
-                                          expect_not_passing, shouldFail));
+                                             dirname, testname, failsOnly,
+                                             expect_not_passing, shouldFail));
 
         if (props.get("api") != null)
             runTests.add(new CommandTest("api", props, canonicalDirName,
-                                      dirname, testname, failsOnly,
-                                      expect_not_passing, shouldFail));
+                                         dirname, testname, failsOnly,
+                                         expect_not_passing, shouldFail));
+
+        if (props.get("parse") != null)
+            runTests.add(new CommandTest("parse", props, canonicalDirName,
+                                         dirname, testname, failsOnly,
+                                         expect_not_passing, shouldFail));
 
         if (props.get("run") != null)
Index: /trunk/ProjectFortress/compiler_tests/parse.test
===================================================================
--- /trunk/ProjectFortress/compiler_tests/parse.test (revision 3909)
+++ /trunk/ProjectFortress/compiler_tests/parse.test (revision 3909)
@@ -0,0 +1,18 @@
+#    Copyright 2009 Sun Microsystems, Inc.,
+#    4150 Network Circle, Santa Clara, California 95054, U.S.A.
+#    All rights reserved.
+#
+#    U.S. Government Rights - Commercial software.
+#    Government users are subject to the Sun Microsystems, Inc. standard
+#    license agreement and applicable provisions of the FAR and its supplements.
+#
+#    Use is subject to license terms.
+#
+#    This distribution may include materials developed by third parties.
+#
+#    Sun, Sun Microsystems, the Sun logo and Java are trademarks or registered
+#    trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
+
+tests=Compiled5.ba
+STATIC_TESTS_DIR=${FORTRESS_AUTOHOME}/ProjectFortress/compiler_tests
+parse
Index: /trunk/ProjectFortress/compiler_tests/Compiled5.ba.fss
===================================================================
--- /trunk/ProjectFortress/compiler_tests/Compiled5.ba.fss (revision 3909)
+++ /trunk/ProjectFortress/compiler_tests/Compiled5.ba.fss (revision 3909)
@@ -0,0 +1,8 @@
+export Executable
+
+run():() = do
+  x = 'UNION'
+  y = 'theta'
+  println x
+  println y
+end
