Changeset 825
- Timestamp:
- Aug 3, 2012 3:42:26 PM (12 years ago)
- 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 23 23 (rimport "org::magnolialang::pgf::tests::TestPrettyMagnolia") 24 24 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) 40 40 41 41 */ 42 42 43 public void runPrettyMagnolia(str modName ) {43 public void runPrettyMagnolia(str modName, bool isRich) { 44 44 name = strToName(modName); 45 45 tr = startTransaction(); … … 50 50 // But we want printing of both to work. 51 51 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; 54 57 55 58 endTransaction(tr); … … 166 169 } 167 170 168 //xxx169 171 Tseq pp(t : BinOpSugar(arg0, leaf(arg1), arg2), Tseq stream) { 170 172 //println(typeOf(arg1)); // arg1 is of AST … … 488 490 } 489 491 490 //xxx491 492 Tseq pp(IndexSugar(arg0, arg1), Tseq stream) { 492 493 return ast2stream(stream, pp, arg0, LBracket, SepBy(arg1, Comma), RBracket); 493 494 } 494 495 495 //xxx496 496 Tseq pp(InSugar(arg0, leaf(arg1), arg2), Tseq stream) { 497 497 return ast2stream(stream, pp, arg0, BinOp(arg1), arg2); … … 570 570 } 571 571 572 // xxx573 572 Tseq ppProcParam(ParamSugar(n, tn), Tseq stream) { 574 573 return ast2stream(stream, pp, n, Colon, basename(tn)); … … 580 579 } 581 580 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) 584 582 Tseq ppFunParam(Param(arg0, arg1, arg2), Tseq stream) { 585 583 return ast2stream(stream, pp, arg1, Colon, basename(arg2)); … … 606 604 } 607 605 608 //xxx609 606 Tseq pp(t : PreOpSugar(leaf(arg0), arg1), Tseq stream) { 610 607 //println(yieldTerm(t, false)); … … 718 715 } 719 716 720 //xxx721 717 Tseq pp(TopBinOp(arg0, leaf(arg1), arg2), Tseq stream) { 722 718 return ast2stream(stream, pp, arg0, BinOp(arg1), arg2); … … 731 727 } 732 728 733 //xxx 734 Tseq pp(TopParen(arg0), Tseq stream) { 729 /*Tseq pp(TopParen(arg0), Tseq stream) { 735 730 return ast2stream(stream, pp, LParen, arg0, RParen); 736 731 } 737 732 */ 738 733 Tseq pp(TopPreOp(arg0, arg1), Tseq stream) { 739 734 return ast2stream(stream, pp, arg0, arg1); … … 778 773 } 779 774 780 //xxx781 775 Tseq pp(VarDeclSugarNoType(arg0, arg1), Tseq stream) { 782 776 return ast2stream(stream, pp, Keyword("var"), arg0, BinOp("="), arg1); 783 777 } 784 778 785 //xxx786 779 Tseq pp(VarDeclSugarNoExpr(arg0, arg1), Tseq stream) { 787 780 return ast2stream(stream, pp, Keyword("var"), arg0, Colon, arg1); … … 807 800 return ast2stream(stream, pp, arg0); 808 801 } 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 180 180 (.string org.magnolialang.terms.TermFactory/vf s)) 181 181 182 (defn rbool [b] 183 (.bool org.magnolialang.terms.TermFactory/vf b)) 184 182 185 (defn get-option-string-fact [s] 183 186 (let [state tu-state] … … 234 237 (ctor-get-val (get-type-checked s)))))) 235 238 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.