Changeset 821
- Timestamp:
- Aug 2, 2012 8:01:02 PM (12 years ago)
- Location:
- trunk/magnolia-eclipse
- Files:
-
- 2 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/magnolia-eclipse
-
Property svn:mergeinfo
set to
/branches/magnolia-eclipse-0.2.27 merged eligible
-
Property svn:mergeinfo
set to
-
trunk/magnolia-eclipse/META-INF/MANIFEST.MF
r812 r821 3 3 Bundle-Name: magnolia-eclipse 4 4 Bundle-SymbolicName: magnolia_eclipse;singleton:=true 5 Bundle-Version: 0.2.2 65 Bundle-Version: 0.2.27 6 6 Bundle-Activator: org.magnolialang.eclipse.MagnoliaPlugin 7 7 Bundle-ActivationPolicy: lazy -
trunk/magnolia-eclipse/src/org/magnolialang/eclipse/builders/MagnoliaBuilder.java
r691 r821 252 252 IConstructor info = ((IConstructor) compiler.getFact(rm, MagnoliaFacts.Type_DefInfo, name)); 253 253 String kind = ((IString) info.get("kind")).getValue(); 254 if( kind.equals("implementation") ||kind.equals("library")) {254 if(/* kind.equals("implementation") || */kind.equals("library")) { 255 255 toClean = buildOutput(manager, compiler, rm, name, toClean); 256 256 } … … 288 288 if(result instanceof IString) { 289 289 String code = ((IString) result).getValue(); 290 if(prelude == null) 291 loadPrelude(); 292 code = prelude + "\n" + code; 293 String outname = Magnolia.yieldName(name).replaceAll("\\.", "/") + ".cxx"; 294 IPath path = manager.getOutFolder().append(outname); 295 toClean = createFile(code, path, toClean); 290 if(!code.startsWith("//-")) { 291 if(prelude == null) 292 loadPrelude(); 293 code = prelude + "\n" + code; 294 String outname = Magnolia.yieldName(name).replaceAll("\\.", "/") + ".cxx"; 295 IPath path = manager.getOutFolder().append(outname); 296 toClean = createFile(code, path, toClean); 297 } 296 298 } 297 299 return toClean; -
trunk/magnolia-eclipse/src/org/magnolialang/magnolia/backend/CxxBackend.rsc
r796 r821 42 42 errors = getErrors(arg); 43 43 str body = ""; 44 bool hasCode = false; 44 45 // library 45 46 if(DeclBody(_) := tree) { … … 56 57 if(info.kind == "library") 57 58 body = generateCommandInterface(tr, ds, info.qName, body); 59 hasCode = true; 58 60 println("CxxCode cmdInterface: at <getMilliTime()-time> ms (for <nameToStr(astValue(key[1]))>)"); 59 61 } … … 71 73 println("CxxCode indentStr: <getMilliTime()-t2> ms (for <nameToStr(astValue(key[1]))>)"); 72 74 if(errors == {}) 73 setFact(tr, #CxxCode, key, CxxCode("// <info.kind>: <dispNameOf(info.qName)>\n<body>\n", errors));75 setFact(tr, #CxxCode, key, CxxCode("//<hasCode ? " " : "-"> <info.kind>: <dispNameOf(info.qName)>\n<body>\n", errors)); 74 76 else 75 setFact(tr, #CxxCode, key, CxxCode("// <info.kind>: <dispNameOf(info.qName)>\n// CODE DISABLED DUE TO COMPILATION ERRORS\n// <replaceAll(body, "\n", "\n// ")>\n", errors));77 setFact(tr, #CxxCode, key, CxxCode("//- <info.kind>: <dispNameOf(info.qName)>\n// CODE DISABLED DUE TO COMPILATION ERRORS\n// <replaceAll(body, "\n", "\n// ")>\n", errors)); 76 78 } 77 79 else { -
trunk/magnolia-eclipse/src/org/magnolialang/magnolia/frontend/MagnoliaSugar.rsc
r779 r821 63 63 case x:Assert(expr,seq(clauses)) => 64 64 preserveAnnos(Assert(expr,seq([*clauses, Src(leaf(unparse(expr)))])), x) 65 case x:TopParen(expr) => expr 65 /* This doesn't work, because expr won't be reprocessed 66 case x:TopParen(expr) => expr 67 */ 66 68 }; 67 69 setFact(tr, #DesugaredTree, modName, DesugaredTree(tree)); -
trunk/magnolia-eclipse/src/org/magnolialang/magnolia/lib/Inliner.rsc
r766 r821 31 31 insert trackOrigin((renaming[n])[@\loc=locOf(n)], renaming[n]); 32 32 } 33 } 33 case ExternalType(_,_,_): 34 ; 35 case ExternalFun(_,_,_,_,_): 36 ; 37 case ExternalType(_,_,_,_): 38 ; 39 } 40 34 41 for(n <- unused) { 35 42 env = errorMark(env, "Unused renaming \'<nameToStr(n)>\' =\> \'<nameToStr(renaming[n])>\'", Warning(), locOf(n)); -
trunk/magnolia-eclipse/src/org/magnolialang/magnolia/lib/Pretty.rsc
r809 r821 680 680 } 681 681 682 Tseq pp(TopParen(arg0), Tseq stream) {682 /*Tseq pp(TopParen(arg0), Tseq stream) { 683 683 return ast2stream(stream, pp, LParen, arg0, RParen); 684 684 } 685 685 */ 686 686 Tseq pp(TopPreOp(arg0, arg1), Tseq stream) { 687 687 return ast2stream(stream, pp, arg0, arg1); -
trunk/magnolia-eclipse/src/org/magnolialang/syntax/Magnolia.rsc
r782 r821 42 42 | AlgDecl 43 43 | RenameList: "[" {Renaming ","}* "]" 44 | bracket TopParen:"(" TopExpr ")"44 | bracket "(" TopExpr ")" 45 45 > Renamed: TopExpr "[" {Renaming ","}* "]" 46 46 > TopPreOp: TOPPREOP TopExpr -
trunk/magnolia-eclipse/src/org/magnolialang/syntax/MagnoliaAST.rsc
r779 r821 151 151 data AST = TopBinOp(AST arg0, AST arg1, AST arg2); // sort("TopExpr") 152 152 data AST = TopExprTree(AST arg0); // sort("Program") 153 data AST = TopParen(AST arg0); // sort("TopExpr")154 153 data AST = TopPreOp(AST arg0, AST arg1); // sort("TopExpr") 155 154 data AST = Tuple(AST arg0); // sort("Expr") -
trunk/magnolia-eclipse/src/org/magnolialang/syntax/MagnoliaPP.rsc
r793 r821 2 2 module org::magnolialang::syntax::MagnoliaPP 3 3 import org::magnolialang::pgf::Token; 4 import org::magnolialang::pgf::Stream; 4 5 import org::magnolialang::pgf::AstToStream; 5 6 import org::magnolialang::syntax::MagnoliaAST; 6 7 public default Tseq pp(AST ast, Tseq stream) { 7 public default Stream[Token] pp(AST ast, Stream[Token] stream) { 8 8 return stream; 9 9 } 10 11 10 public Tseq pp(Abstract(), Tseq stream) { 12 11 return ast2stream(stream, pp, Text("abstract")); … … 577 576 } 578 577 579 public Tseq pp(TopParen(arg0), Tseq stream) {580 return ast2stream(stream, pp, Text("("), Space(" "), arg0, Space(" "), Text(")"));581 }582 583 578 public Tseq pp(TopPreOp(arg0, arg1), Tseq stream) { 584 579 return ast2stream(stream, pp, arg0, Space(" "), arg1); -
trunk/magnolia-eclipse/src/org/magnolialang/terms/TermImploder.java
r636 r821 113 113 return check(implode((IConstructor) TreeAdapter.getArgs(tree).get(0))); 114 114 } 115 else if(ProductionAdapter.hasAttribute(prod, Factory.Attribute_Bracket) && syms != null && syms.length() == 5) { 116 IConstructor t = (IConstructor) TreeAdapter.getArgs(tree).get(2); 117 return check(implode(t)); 118 } 115 119 else if(SymbolAdapter.isStartSort(ProductionAdapter.getDefined(prod))) { 116 120 // IConstructor prod = TreeAdapter.getProduction(pt); … … 145 149 } 146 150 else { 147 if(ProductionAdapter.isRegular(tree))151 /* if(ProductionAdapter.isRegular(tree)) 148 152 System.out.println("Regular"); 149 final Pair<IValue[], IList> t = visitChildren(TreeAdapter.getArgs(tree));153 */ final Pair<IValue[], IList> t = visitChildren(TreeAdapter.getArgs(tree)); 150 154 concrete = t.second; 151 155 result = cons(cons == null ? sort : cons, t.first);
Note:
See TracChangeset
for help on using the changeset viewer.