Changeset 3909

Show
Ignore:
Timestamp:
06/30/09 21:15:49 (7 months ago)
Author:
sukyoungryu
Message:

[parser] Implemented some simple ASCII conversion. Added a test.

Location:
trunk/ProjectFortress
Files:
2 added
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/ProjectFortress/src/com/sun/fortress/parser/Literal.rats

    r3599 r3909  
    180180private String CharLiteralContent = 
    181181     EscapeSequence 
    182    / a1:(!InvalidCharLiteralContent _) { yyValue = String.valueOf(a1); }; 
     182   / "ALPHA" { yyValue = "\u0391"; } 
     183   / "BETA" { yyValue = "\u0392"; } 
     184   / "GAMMA" { yyValue = "\u0393"; } 
     185   / "DELTA" { yyValue = "\u0394"; } 
     186   / "EPSILON" { yyValue = "\u0395"; } 
     187   / "ZETA" { yyValue = "\u0396"; } 
     188   / "ETA" { yyValue = "\u0397"; } 
     189   / "THETA" { yyValue = "\u0398"; } 
     190   / "IOTA" { yyValue = "\u0399"; } 
     191   / "KAPPA" { yyValue = "\u039A"; } 
     192   / "LAMBDA" { yyValue = "\u039B"; } 
     193   / "MU" { yyValue = "\u039C"; } 
     194   / "NU" { yyValue = "\u039D"; } 
     195   / "XI" { yyValue = "\u039E"; } 
     196   / "OMICRON" { yyValue = "\u039F"; } 
     197   / "PI" { yyValue = "\u0400"; } 
     198   / "RHO" { yyValue = "\u0401"; } 
     199   / "SIGMA" { yyValue = "\u0403"; } 
     200   / "TAU" { yyValue = "\u0404"; } 
     201   / "UPSILON" { yyValue = "\u0405"; } 
     202   / "PHI" { yyValue = "\u0406"; } 
     203   / "CHI" { yyValue = "\u0407"; } 
     204   / "PSI" { yyValue = "\u0408"; } 
     205   / "OMEGA" { yyValue = "\u0409"; } 
     206   / "alpha" { yyValue = "\u03B1"; } 
     207   / "beta" { yyValue = "\u03B2"; } 
     208   / "gamma" { yyValue = "\u03B3"; } 
     209   / "delta" { yyValue = "\u03B4"; } 
     210   / "epsilon" { yyValue = "\u03B5"; } 
     211   / "zeta" { yyValue = "\u03B6"; } 
     212   / "eta" { yyValue = "\u03B7"; } 
     213   / "theta" { yyValue = "\u03B8"; } 
     214   / "iota" { yyValue = "\u03B9"; } 
     215   / "kappa" { yyValue = "\u03BA"; } 
     216   / "lambda" { yyValue = "\u03BB"; } 
     217   / "mu" { yyValue = "\u03BC"; } 
     218   / "nu" { yyValue = "\u03BD"; } 
     219   / "xi" { yyValue = "\u03BE"; } 
     220   / "omicron" { yyValue = "\u03BF"; } 
     221   / "pi" { yyValue = "\u03C0"; } 
     222   / "rho" { yyValue = "\u03C1"; } 
     223   / "sigma" { yyValue = "\u03C3"; } 
     224   / "tau" { yyValue = "\u03C4"; } 
     225   / "upsilon" { yyValue = "\u03C5"; } 
     226   / "phi" { yyValue = "\u03C6"; } 
     227   / "chi" { yyValue = "\u03C7"; } 
     228   / "psi" { yyValue = "\u03C8"; } 
     229   / "omega" { yyValue = "\u03C9"; } 
     230   / "BOTTOM" { yyValue = "\u22A5"; } 
     231   / "TOP" { yyValue = "\u22A4"; } 
     232   / "INF" { yyValue = "\u221E"; } 
     233   / "FORALL" { yyValue = "\u2200"; } 
     234   / "EXISTS" { yyValue = "\u2203"; } 
     235   / "TIMES" { yyValue = "\u00D7"; } 
     236   / "BY" { yyValue = "\u00D7"; } 
     237   / "OTIMES" { yyValue = "\u2297"; } 
     238   / "ODOT" { yyValue = "\u2299"; } 
     239   / "CIRCLEDAST" { yyValue = "\u229B"; } 
     240   / "BOXTIMES" { yyValue = "\u22A0"; } 
     241   / "BOXDOT" { yyValue = "\u22A1"; } 
     242   / "BOXAST" { yyValue = "\u29C6"; } 
     243   / "CROSS" { yyValue = "\u2A2F"; } 
     244   / "DOTTIMES" { yyValue = "\u2A30"; } 
     245   / "TRITIMES" { yyValue = "\u2A3B"; } 
     246   / "DIVIDES" { yyValue = "\u2223"; } 
     247   / "DIV" { yyValue = "\u00F7"; } 
     248   / "OSLASH" { yyValue = "\u2298"; } 
     249   / "BOXSLASH" { yyValue = "\u29C4"; } 
     250   / "ODIV" { yyValue = "\u2A38"; } 
     251   / "DOTPLUS" { yyValue = "\u2214"; } 
     252   / "DOTMINUS" { yyValue = "\u2238"; } 
     253   / "TRIPLUS" { yyValue = "\u2A39"; } 
     254   / "TRIMINUS" { yyValue = "\u2A3A"; } 
     255   / "OPLUS" { yyValue = "\u2295"; } 
     256   / "OMINUS" { yyValue = "\u2296"; } 
     257   / "BOXPLUS" { yyValue = "\u229E"; } 
     258   / "BOXMINUS" { yyValue = "\u229F"; } 
     259   / "CAPCAP" { yyValue = "\u22D2"; } 
     260   / "CAP" { yyValue = "\u2229"; } 
     261   / "INTERSECT" { yyValue = "\u2229"; } 
     262   / "CUPCUP" { yyValue = "\u22D3"; } 
     263   / "CUP" { yyValue = "\u222A"; } 
     264   / "UNION" { yyValue = "\u222A"; } 
     265   / "UPLUS" { yyValue = "\u228E"; } 
     266   / "SETMINUS" { yyValue = "\u2216"; } 
     267   / "SQCAPCAP" { yyValue = "\u2A4E"; } 
     268   / "SQCAP" { yyValue = "\u2293"; } 
     269   / "SQCUPCUP" { yyValue = "\u2A4F"; } 
     270   / "SQCUP" { yyValue = "\u2294"; } 
     271   / "CURLYAND" { yyValue = "\u22CF"; } 
     272   / "CURLYOR" { yyValue = "\u22CE"; } 
     273   / "SIMEQ" { yyValue = "\u2243"; } 
     274   / "APPROXEQ" { yyValue = "\u224A"; } 
     275   / "APPROX" { yyValue = "\u2248"; } 
     276   / "BUMPEQV" { yyValue = "\u224E"; } 
     277   / "DOTEQDOT" { yyValue = "\u2251"; } 
     278   / "EQRING" { yyValue = "\u2256"; } 
     279   / "RINGEQ" { yyValue = "\u2257"; } 
     280   / "EQDEL" { yyValue = "\u225C"; } 
     281   / "EQDEF" { yyValue = "\u225D"; } 
     282   / "EQV" { yyValue = "\u2261"; } 
     283   / "EQUIV" { yyValue = "\u2261"; } 
     284   / "SEQV" { yyValue = "\u2263"; } 
     285   / "NSIMEQ" { yyValue = "\u2244"; } 
     286   / "NAPPROX" { yyValue = "\u2249"; } 
     287   / "NEQV" { yyValue = "\u2262"; } 
     288   / "NEARROW" { yyValue = "\u2197"; } 
     289   / "NE" { yyValue = "\u2260"; } 
     290   / "LT" { yyValue = "\u003C"; } 
     291   / "<=>" { yyValue = "\u21D4"; } 
     292   / "<=" { yyValue = "\u2264"; } 
     293   / "LEADSTO" { yyValue = "\u219D"; } 
     294   / "DOTLT" { yyValue = "\u22D6"; } 
     295   / "<<<" { yyValue = "\u22D8"; } 
     296   / "<<" { yyValue = "\u226A"; } 
     297   / "GT" { yyValue = "\u003E"; } 
     298   / ">=" { yyValue = "\u2265"; } 
     299   / "GE" { yyValue = "\u2265"; } 
     300   / ">>>" { yyValue = "\u22D9"; } 
     301   / ">>" { yyValue = "\u226B"; } 
     302   / "DOTGT" { yyValue = "\u22D7"; } 
     303   / "NLT" { yyValue = "\u226E"; } 
     304   / "NGT" { yyValue = "\u226F"; } 
     305   / "NLE" { yyValue = "\u2270"; } 
     306   / "NGE" { yyValue = "\u2271"; } 
     307   / "SUBSETEQ" { yyValue = "\u2286"; } 
     308   / "SUBSETNEQ" { yyValue = "\u228A"; } 
     309   / "SUBSET" { yyValue = "\u2282"; } 
     310   / "SUBSUB" { yyValue = "\u22D0"; } 
     311   / "SUPSETEQ" { yyValue = "\u2287"; } 
     312   / "SUPSETNEQ" { yyValue = "\u228B"; } 
     313   / "SUPSET" { yyValue = "\u2283"; } 
     314   / "SUPSUP" { yyValue = "\u22D1"; } 
     315   / "NSUBSETEQ" { yyValue = "\u2288"; } 
     316   / "NSUPSETEQ" { yyValue = "\u2289"; } 
     317   / "NSUBSET" { yyValue = "\u2284"; } 
     318   / "NSUPSET" { yyValue = "\u2285"; } 
     319   / "SQSUBSETEQ" { yyValue = "\u2291"; } 
     320   / "SQSUBSET" { yyValue = "\u228F"; } 
     321   / "SQSUPSETEQ" { yyValue = "\u2292"; } 
     322   / "SQSUPSET" { yyValue = "\u2290"; } 
     323   / "PRECEQ" { yyValue = "\u227C"; } 
     324   / "PRECSIM" { yyValue = "\u227E"; } 
     325   / "PRECNSIM" { yyValue = "\u22E8"; } 
     326   / "PREC" { yyValue = "\u227A"; } 
     327   / "EQPREC" { yyValue = "\u22DE"; } 
     328   / "SUCCEQ" { yyValue = "\u227D"; } 
     329   / "SUCCSIM" { yyValue = "\u227F"; } 
     330   / "SUCCNSIM" { yyValue = "\u22E9"; } 
     331   / "SUCC" { yyValue = "\u227B"; } 
     332   / "EQSUCC" { yyValue = "\u22DF"; } 
     333   / "EQ" { yyValue = "\u003D"; } 
     334   / "NPREC" { yyValue = "\u2280"; } 
     335   / "NSUCC" { yyValue = "\u2281"; } 
     336   / "SMALLEREQ" { yyValue = "\u2AAC"; } 
     337   / "SMALLER" { yyValue = "\u2AAA"; } 
     338   / "LARGEREQ" { yyValue = "\u2AAD"; } 
     339   / "LARGER" { yyValue = "\u2AAB"; } 
     340   / "INTEGRAL" { yyValue = "\u222B"; } 
     341   / "IN" { yyValue = "\u2208"; } 
     342   / "NOTIN" { yyValue = "\u2209"; } 
     343   / "CONTAINS" { yyValue = "\u220B"; } 
     344   / "AND" { yyValue = "\u2227"; } 
     345   / "OR" { yyValue = "\u2228"; } 
     346   / "->" { yyValue = "\u2192"; } 
     347   / "IMPLIES" { yyValue = "\u2192"; } 
     348   / "<->" { yyValue = "\u2194"; } 
     349   / "IFF" { yyValue = "\u2194"; } 
     350   / "CENTS" { yyValue = "\u00A2"; } 
     351   / "DEGREES" { yyValue = "\u00B0"; } 
     352   / "!!" { yyValue = "\u203C"; } 
     353   / "<-/-" { yyValue = "\u219A"; } 
     354   / "<-" { yyValue = "\u2190"; } 
     355   / "UPARROW" { yyValue = "\u2191"; } 
     356   / "DOWNARROW" { yyValue = "\u2193"; } 
     357   / "UPDOWNARROW" { yyValue = "\u2195"; } 
     358   / "NWARROW" { yyValue = "\u2196"; } 
     359   / "SEARROW" { yyValue = "\u2198"; } 
     360   / "SWARROW" { yyValue = "\u2199"; } 
     361   / "-/->" { yyValue = "\u219B"; } 
     362   / "LEFTHARPOONUP" { yyValue = "\u21BC"; } 
     363   / "LEFTHARPOONDOWN" { yyValue = "\u21BD"; } 
     364   / "UPHARPOONRIGHT" { yyValue = "\u21BE"; } 
     365   / "UPHARPOONLEFT" { yyValue = "\u21BF"; } 
     366   / "RIGHTHARPOONUP" { yyValue = "\u21C0"; } 
     367   / "RIGHTHARPOONDOWN" { yyValue = "\u21C1"; } 
     368   / "DOWNHARPOONRIGHT" { yyValue = "\u21C2"; } 
     369   / "DOWNHARPOONLEFT" { yyValue = "\u21C3"; } 
     370   / "RIGHTLEFTARROWS" { yyValue = "\u21C4"; } 
     371   / "LEFTRIGHTARROWS" { yyValue = "\u21C6"; } 
     372   / "LEFTLEFTARROWS" { yyValue = "\u21C7"; } 
     373   / "UPUPARROWS" { yyValue = "\u21C8"; } 
     374   / "RIGHTRIGHTARROWS" { yyValue = "\u21C9"; } 
     375   / "DOWNDOWNARROWS" { yyValue = "\u21CA"; } 
     376   / "RIGHTLEFTHARPOONS" { yyValue = "\u21CC"; } 
     377   / "LE" { yyValue = "\u2264"; } 
     378   / "=>" { yyValue = "\u21D2"; } 
     379   / "DEL" { yyValue = "\u2202"; } 
     380   / "PRODUCT" { yyValue = "\u220F"; } 
     381   / "COPRODUCT" { yyValue = "\u2210"; } 
     382   / "SUM" { yyValue = "\u2211"; } 
     383   / "CIRCLEDRING" { yyValue = "\u229A"; } 
     384   / "CIRC" { yyValue = "\u2218"; } 
     385   / "RING" { yyValue = "\u2218"; } 
     386   / "COMPOSE" { yyValue = "\u2218"; } 
     387   / "BULLET" { yyValue = "\u2219"; } 
     388   / "SQRT" { yyValue = "\u221A"; } 
     389   / "CBRT" { yyValue = "\u221B"; } 
     390   / "FOURTHROOT" { yyValue = "\u221C"; } 
     391   / "PROPTO" { yyValue = "\u221D"; } 
     392   / "PARALLEL" { yyValue = "\u2225"; } 
     393   / "NPARALLEL" { yyValue = "\u2226"; } 
     394   / "WREATH" { yyValue = "\u2240"; } 
     395   / "BUMPEQ" { yyValue = "\u224F"; } 
     396   / "DOTEQ" { yyValue = "\u2250"; } 
     397   / "DOT" { yyValue = "\u00B7"; } 
     398   / "VDASH" { yyValue = "\u22A2"; } 
     399   / "TURNSTILE" { yyValue = "\u22A2"; } 
     400   / "DASHV" { yyValue = "\u22A3"; } 
     401   / "BIGAND" { yyValue = "\u22C0"; } 
     402   / "ALL" { yyValue = "\u22C0"; } 
     403   / "BIGOR" { yyValue = "\u22C1"; } 
     404   / "ANY" { yyValue = "\u22C1"; } 
     405   / "BIGCAP" { yyValue = "\u22C2"; } 
     406   / "BIGINTERSECT" { yyValue = "\u22C2"; } 
     407   / "BIGCUP" { yyValue = "\u22C3"; } 
     408   / "BIGUNION" { yyValue = "\u22C3"; } 
     409   / "DIAMOND" { yyValue = "\u22C4"; } 
     410   / "STAR" { yyValue = "\u22C6"; } 
     411   / "PERP" { yyValue = "\u27C2"; } 
     412   / "BIGODOT" { yyValue = "\u2A00"; } 
     413   / "BIGOPLUS" { yyValue = "\u2A01"; } 
     414   / "BIGOTIMES" { yyValue = "\u2A02"; } 
     415   / "BIGUDOT" { yyValue = "\u2A03"; } 
     416   / "BIGUPLUS" { yyValue = "\u2A04"; } 
     417   / "BIGSQCAP" { yyValue = "\u2A05"; } 
     418   / "BIGSQCUP" { yyValue = "\u2A06"; } 
     419   / "BIGTIMES" { yyValue = "\u2A09"; } 
     420   / "JOIN" { yyValue = "\u2A1D"; } 
     421   / "EMPTYSET" { yyValue = "\u2205"; } 
     422   / "NOTSUBSETEQ" { yyValue = "\u2288"; } 
     423   / "NOTSUBSET" { yyValue = "\u2284"; } 
     424   / "NOTEQUIV" { yyValue = "\u2262"; } 
     425   / "NOTIN" { yyValue = "\u2209"; } 
     426   / "NOT" { yyValue = "\u00AC"; } 
     427   / "XOR" { yyValue = "\u22BB"; } 
     428   / a1:(!InvalidCharLiteralContent _) { yyValue = String.valueOf(a1); } 
     429   ; 
    183430 
    184431private String InvalidCharLiteralContent = 
  • trunk/ProjectFortress/src/com/sun/fortress/tests/unit_tests/FileTests.java

    r3898 r3909  
    987987        if (props.get("link") != null) 
    988988            commandTests.add(new CommandTest("link", props, canonicalDirName, 
    989                                           dirname, testname, failsOnly, 
    990                                           expect_not_passing, shouldFail)); 
     989                                             dirname, testname, failsOnly, 
     990                                             expect_not_passing, shouldFail)); 
    991991 
    992992        if (props.get("api") != null) 
    993993            runTests.add(new CommandTest("api", props, canonicalDirName, 
    994                                       dirname, testname, failsOnly, 
    995                                       expect_not_passing, shouldFail)); 
     994                                         dirname, testname, failsOnly, 
     995                                         expect_not_passing, shouldFail)); 
     996 
     997        if (props.get("parse") != null) 
     998            runTests.add(new CommandTest("parse", props, canonicalDirName, 
     999                                         dirname, testname, failsOnly, 
     1000                                         expect_not_passing, shouldFail)); 
    9961001 
    9971002        if (props.get("run") != null)