Changeset 818


Ignore:
Timestamp:
Aug 2, 2012 7:35:31 PM (12 years ago)
Author:
Anya Helene Bagge
Message:

Fix Magne's weird parenthesis-around-name problem (closes #119)

Location:
branches/magnolia-eclipse-0.2.27/src/org/magnolialang
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/magnolia-eclipse-0.2.27/src/org/magnolialang/magnolia/frontend/MagnoliaSugar.rsc

    r779 r818  
    6363                        case x:Assert(expr,seq(clauses)) =>
    6464                                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                        */
    6668                };
    6769                setFact(tr, #DesugaredTree, modName, DesugaredTree(tree));
  • branches/magnolia-eclipse-0.2.27/src/org/magnolialang/magnolia/lib/Pretty.rsc

    r809 r818  
    680680}
    681681
    682 Tseq pp(TopParen(arg0), Tseq stream) {
     682/*Tseq pp(TopParen(arg0), Tseq stream) {
    683683  return ast2stream(stream, pp, LParen, arg0, RParen);
    684684}
    685 
     685*/
    686686Tseq pp(TopPreOp(arg0, arg1), Tseq stream) {
    687687  return ast2stream(stream, pp, arg0, arg1);
  • branches/magnolia-eclipse-0.2.27/src/org/magnolialang/syntax/Magnolia.rsc

    r782 r818  
    4242        | AlgDecl
    4343        | RenameList:           "[" {Renaming ","}* "]"
    44         | bracket TopParen:             "(" TopExpr ")"
     44        | bracket               "(" TopExpr ")"
    4545        > Renamed:              TopExpr "[" {Renaming ","}* "]"
    4646        > TopPreOp:             TOPPREOP TopExpr
  • branches/magnolia-eclipse-0.2.27/src/org/magnolialang/syntax/MagnoliaAST.rsc

    r779 r818  
    151151data AST = TopBinOp(AST arg0, AST arg1, AST arg2); // sort("TopExpr")
    152152data AST = TopExprTree(AST arg0); // sort("Program")
    153 data AST = TopParen(AST arg0); // sort("TopExpr")
    154153data AST = TopPreOp(AST arg0, AST arg1); // sort("TopExpr")
    155154data AST = Tuple(AST arg0); // sort("Expr")
  • branches/magnolia-eclipse-0.2.27/src/org/magnolialang/syntax/MagnoliaPP.rsc

    r793 r818  
    22module org::magnolialang::syntax::MagnoliaPP
    33import org::magnolialang::pgf::Token;
     4import org::magnolialang::pgf::Stream;
    45import org::magnolialang::pgf::AstToStream;
    56import org::magnolialang::syntax::MagnoliaAST;
    6 
    7 public default Tseq pp(AST ast, Tseq stream) {
     7public default Stream[Token] pp(AST ast, Stream[Token] stream) {
    88  return stream;
    99}
    10 
    1110public Tseq pp(Abstract(), Tseq stream) {
    1211  return ast2stream(stream, pp, Text("abstract"));
     
    577576}
    578577
    579 public Tseq pp(TopParen(arg0), Tseq stream) {
    580   return ast2stream(stream, pp, Text("("), Space(" "), arg0, Space(" "), Text(")"));
    581 }
    582 
    583578public Tseq pp(TopPreOp(arg0, arg1), Tseq stream) {
    584579  return ast2stream(stream, pp, arg0, Space(" "), arg1);
  • branches/magnolia-eclipse-0.2.27/src/org/magnolialang/terms/TermImploder.java

    r636 r818  
    113113                                        return check(implode((IConstructor) TreeAdapter.getArgs(tree).get(0)));
    114114                        }
     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                        }
    115119                        else if(SymbolAdapter.isStartSort(ProductionAdapter.getDefined(prod))) {
    116120                                // IConstructor prod = TreeAdapter.getProduction(pt);
     
    145149                        }
    146150                        else {
    147                                 if(ProductionAdapter.isRegular(tree))
     151/*                              if(ProductionAdapter.isRegular(tree))
    148152                                        System.out.println("Regular");
    149                                 final Pair<IValue[], IList> t = visitChildren(TreeAdapter.getArgs(tree));
     153*/                              final Pair<IValue[], IList> t = visitChildren(TreeAdapter.getArgs(tree));
    150154                                concrete = t.second;
    151155                                result = cons(cons == null ? sort : cons, t.first);
Note: See TracChangeset for help on using the changeset viewer.