Changeset 825


Ignore:
Timestamp:
Aug 3, 2012 3:42:26 PM (12 years ago)
Author:
biz002
Message:

new option for run-pretty-magnolia test function

Location:
trunk/magnolia-eclipse/src/org/magnolialang
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/magnolia-eclipse/src/org/magnolialang/pgf/tests/TestPrettyMagnolia.rsc

    r822 r825  
    2323(rimport "org::magnolialang::pgf::tests::TestPrettyMagnolia")
    2424
    25 (run-pretty-magnolia "basic.Basic")
    26 (run-pretty-magnolia "basic.Integer")
    27 (run-pretty-magnolia "errors.ConstantOverloading")
    28 (run-pretty-magnolia "mutification.Integer")
    29 (run-pretty-magnolia "mutification.Mutification")
    30 (run-pretty-magnolia "mutification.Mutification2")
    31 (run-pretty-magnolia "override.Override")
    32 (run-pretty-magnolia "scoping.Scoping")
    33 (run-pretty-magnolia "toplevel.Operators")
    34 (run-pretty-magnolia "toplevel.Parens")
    35 (run-pretty-magnolia "toplevel.Predicates")
    36 (run-pretty-magnolia "toplevel.Renaming")
    37 (run-pretty-magnolia "typecheck.OnDefines")
    38 (run-pretty-magnolia "typecheck.Requires")
    39 (run-pretty-magnolia "typecheck.TypeDecl")
     25(run-pretty-magnolia "basic.Basic" false)
     26(run-pretty-magnolia "basic.Integer" false)
     27(run-pretty-magnolia "errors.ConstantOverloading" false)
     28(run-pretty-magnolia "mutification.Integer" false)
     29(run-pretty-magnolia "mutification.Mutification" false)
     30(run-pretty-magnolia "mutification.Mutification2" false)
     31(run-pretty-magnolia "override.Override" false)
     32(run-pretty-magnolia "scoping.Scoping" false)
     33(run-pretty-magnolia "toplevel.Operators" false)
     34(run-pretty-magnolia "toplevel.Parens" false)
     35(run-pretty-magnolia "toplevel.Predicates" false)
     36(run-pretty-magnolia "toplevel.Renaming" false)
     37(run-pretty-magnolia "typecheck.OnDefines" false)
     38(run-pretty-magnolia "typecheck.Requires" false)
     39(run-pretty-magnolia "typecheck.TypeDecl" false)
    4040
    4141*/
    4242
    43 public void runPrettyMagnolia(str modName) {
     43public void runPrettyMagnolia(str modName, bool isRich) {
    4444  name = strToName(modName);
    4545  tr = startTransaction();
     
    5050  // But we want printing of both to work.
    5151
    52   //AST tree = getFact(tr, #ImplodedTree, name).val;
    53   AST tree = getFact(tr, #TypeChecked, name).val;
     52  AST tree;
     53  if (isRich)
     54    tree = getFact(tr, #ImplodedTree, name).val;
     55  else
     56    tree = getFact(tr, #TypeChecked, name).val;
    5457
    5558  endTransaction(tr);
     
    166169}
    167170
    168 //xxx
    169171Tseq pp(t : BinOpSugar(arg0, leaf(arg1), arg2), Tseq stream) {
    170172  //println(typeOf(arg1)); // arg1 is of AST
     
    488490}
    489491
    490 //xxx
    491492Tseq pp(IndexSugar(arg0, arg1), Tseq stream) {
    492493  return ast2stream(stream, pp, arg0, LBracket, SepBy(arg1, Comma), RBracket);
    493494}
    494495
    495 //xxx
    496496Tseq pp(InSugar(arg0, leaf(arg1), arg2), Tseq stream) {
    497497  return ast2stream(stream, pp, arg0, BinOp(arg1), arg2);
     
    570570}
    571571
    572 // xxx
    573572Tseq ppProcParam(ParamSugar(n, tn), Tseq stream) {
    574573  return ast2stream(stream, pp, n, Colon, basename(tn));
     
    580579}
    581580
    582 // a Param has name and type, maybe also modifier,
    583 // but modifiers are not suitable for function params
     581// a Param has name and type, maybe also modifier (discarded)
    584582Tseq ppFunParam(Param(arg0, arg1, arg2), Tseq stream) {
    585583  return ast2stream(stream, pp, arg1, Colon, basename(arg2));
     
    606604}
    607605
    608 //xxx
    609606Tseq pp(t : PreOpSugar(leaf(arg0), arg1), Tseq stream) {
    610607  //println(yieldTerm(t, false));
     
    718715}
    719716
    720 //xxx
    721717Tseq pp(TopBinOp(arg0, leaf(arg1), arg2), Tseq stream) {
    722718  return ast2stream(stream, pp, arg0, BinOp(arg1), arg2);
     
    731727}
    732728
    733 //xxx
    734 Tseq pp(TopParen(arg0), Tseq stream) {
     729/*Tseq pp(TopParen(arg0), Tseq stream) {
    735730  return ast2stream(stream, pp, LParen, arg0, RParen);
    736731}
    737 
     732*/
    738733Tseq pp(TopPreOp(arg0, arg1), Tseq stream) {
    739734  return ast2stream(stream, pp, arg0, arg1);
     
    778773}
    779774
    780 //xxx
    781775Tseq pp(VarDeclSugarNoType(arg0, arg1), Tseq stream) {
    782776  return ast2stream(stream, pp, Keyword("var"), arg0, BinOp("="), arg1);
    783777}
    784778
    785 //xxx
    786779Tseq pp(VarDeclSugarNoExpr(arg0, arg1), Tseq stream) {
    787780  return ast2stream(stream, pp, Keyword("var"), arg0, Colon, arg1);
     
    807800  return ast2stream(stream, pp, arg0);
    808801}
    809 
    810 /*
    811 set[TokenCat] mgCategories = {"TOKEN", "SPC", "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACKET", "RBRACKET", "BINOP", "PREOP", "COMMA", "KEYWORD", "SEMICOLON"};
    812 
    813 DecisionTable mgSpaceTable = makeTable((
    814                 <"SPC", "*"> : Skip(),
    815                 <"*", ""> : Nothing(),
    816                 <"*", "LPAREN"> : Nothing(),
    817                 <"*", "LBRACKET"> : Nothing(),
    818                 <"LPAREN", "*"> : Insert(Nest(LvRel(0))),
    819                 <"RPAREN", "*"> : Insert(Nest(LvPop())),
    820                 <"RBRACKET", "*"> : Nothing(),
    821                 <"*", "LBRACE"> : Sequence([Insert(BeginIndent), Insert(Line())]),
    822                 <"*", "RBRACE"> : Insert(Line()),
    823                 <"RBRACE", "*"> : Sequence([Insert(EndIndent)]),
    824                 <"COMMA", "*"> : Nothing(),
    825                 <"*", "COMMA"> : Insert(Space(" ")),
    826                 <"*", "PREOP"> : Nothing(),
    827                 <"*", "SEMICOLON"> : Insert(Line()),
    828                 <"SEMICOLON", "*"> : Nothing(),
    829                 <"*", "DOT"> : Nothing(),
    830                 <"DOT", "*"> : Nothing(),
    831                 <"*", "*"> : Insert(Space(" "))
    832         ), mgCategories);
    833 */
    834 
  • trunk/magnolia-eclipse/src/org/magnolialang/testutil/core.clj

    r824 r825  
    180180  (.string org.magnolialang.terms.TermFactory/vf s))
    181181
     182(defn rbool [b]
     183  (.bool org.magnolialang.terms.TermFactory/vf b))
     184
    182185(defn get-option-string-fact [s]
    183186  (let [state tu-state]
     
    234237                   (ctor-get-val (get-type-checked s))))))
    235238
    236 (defn run-pretty-magnolia [s]
    237   (rcall "runPrettyMagnolia" (rstring s)))
     239(defn run-pretty-magnolia [s rich?]
     240  (rcall "runPrettyMagnolia" (rstring s) (rbool rich?)))
Note: See TracChangeset for help on using the changeset viewer.