Changeset 466


Ignore:
Timestamp:
Jul 7, 2010 5:55:21 PM (14 years ago)
Author:
Anya Helene Bagge
Message:
  • Set priorities for operations on concepts and expressions
  • Fix many of Magne's complaints
Location:
trunk/metaxa/src/Magnolia
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/metaxa/src/Magnolia/BaseExt/Operators.sdf

    r376 r466  
    8585%%% Binary Operators
    8686  context-free syntax
    87     Expr "." Identifier -> Expr  {cons("DotOp")}
     87    Expr "." Identifier -> Expr  {prefer,cons("DotOp")}
    8888    Expr MULOP Expr -> Expr  {left, cons("BinOp")}
    8989    Expr ADDOP Expr -> Expr  {left, cons("BinOp")}
  • trunk/metaxa/src/Magnolia/Core/Declarations.sdf

    r458 r466  
    329329
    330330%% TODO: What are these supposed to be?
    331         "preserve" DeclBody -> Decl {todo("Grammar needs refinement")}
    332        
    333         "congruence" DeclBody -> Decl {todo("Grammar needs refinement")}
    334        
     331        "preserve" DeclBody -> Decl {todo("preserve -- Grammar needs refinement")}
     332       
     333        "congruence" DeclBody -> Decl {todo("congruence -- Grammar needs refinement")}
     334       
     335        "preserve" DeclBody "on" ConceptExpr -> Decl {todo("preserve/on -- Grammar needs refinement")}
     336       
     337        "congruence" DeclBody "on" ConceptExpr -> Decl {todo("congruence/on -- Grammar needs refinement")}
    335338       
    336339
     
    370373    DeclBody -> ConceptExpr {cons("ConceptBody")}
    371374   
    372     "signature" ConceptExpr -> ConceptExpr {cons("SignatureOf")}
     375    "signature" ConceptExpr -> ConceptExpr {todo("signature -- Bruker vi denne fremdeles?"),cons("SignatureOf")}
    373376
    374377    ConceptExpr Morphism -> ConceptExpr {cons("MorphedConcept")}
     
    424427context-free syntax
    425428
    426         ImplExpr "@" ImplExpr -> ImplExpr {left, cons("At")}
    427         ImplExpr "@@" ImplExpr -> ImplExpr {left, cons("AtAt")}
    428         ImplExpr "*" ImplExpr -> ImplExpr {left, cons("Star")}
    429         ImplExpr "**" ImplExpr -> ImplExpr {left, cons("StarStar")}
    430         ImplExpr "+" ImplExpr -> ImplExpr {left, cons("Plus")}
    431         ImplExpr "++" ImplExpr -> ImplExpr {left, cons("PlusPlus")}
    432         ImplExpr "times" ImplExpr -> ImplExpr {left, cons("Times")}
    433         "(" ImplExpr ")" -> ImplExpr {bracket}
    434 
    435         ConceptExpr "@" ConceptExpr -> ConceptExpr {left, cons("At")}
    436         ConceptExpr "@@" ConceptExpr -> ConceptExpr {left, cons("AtAt")}
    437         ConceptExpr "*" ConceptExpr -> ConceptExpr {left, cons("Star")}
    438         ConceptExpr "**" ConceptExpr -> ConceptExpr {left, cons("StarStar")}
    439         ConceptExpr "+" ConceptExpr -> ConceptExpr {left, cons("Plus")}
    440         ConceptExpr "++" ConceptExpr -> ConceptExpr {left, cons("PlusPlus")}
     429        ImplExpr "@" ImplExpr           -> ImplExpr {left, cons("At")}
     430        ImplExpr "@@" ImplExpr          -> ImplExpr {left, cons("AtAt")}
     431        ImplExpr "*" ImplExpr           -> ImplExpr {left, cons("Star")}
     432        ImplExpr "**" ImplExpr          -> ImplExpr {left, cons("StarStar")}
     433        ImplExpr "+" ImplExpr           -> ImplExpr {left, cons("Plus")}
     434        ImplExpr "++" ImplExpr          -> ImplExpr {left, cons("PlusPlus")}
     435        ImplExpr "times" ImplExpr       -> ImplExpr {left, cons("Times")}
     436        "(" ImplExpr ")"                        -> ImplExpr {bracket}
     437
     438        ConceptExpr "@" ConceptExpr     -> ConceptExpr {left, cons("At")}
     439        ConceptExpr "@@" ConceptExpr    -> ConceptExpr {left, cons("AtAt")}
     440        ConceptExpr "*" ConceptExpr     -> ConceptExpr {left, cons("Star")}
     441        ConceptExpr "**" ConceptExpr    -> ConceptExpr {left, cons("StarStar")}
     442        ConceptExpr "+" ConceptExpr     -> ConceptExpr {left, cons("Plus")}
     443        ConceptExpr "++" ConceptExpr    -> ConceptExpr {left, cons("PlusPlus")}
    441444        ConceptExpr "times" ConceptExpr -> ConceptExpr {left, cons("Times")}
    442         "(" ConceptExpr ")" -> ConceptExpr {bracket}
    443        
     445        "(" ConceptExpr ")"                     -> ConceptExpr {bracket}
     446
     447context-free priorities
     448
     449        ImplExpr Morphism                       -> ImplExpr
     450>
     451        ImplExpr "times" ImplExpr       -> ImplExpr
     452>
     453{       ImplExpr "*" ImplExpr           -> ImplExpr
     454        ImplExpr "**" ImplExpr          -> ImplExpr
     455}
     456>
     457{       ImplExpr "@" ImplExpr           -> ImplExpr
     458        ImplExpr "@@" ImplExpr          -> ImplExpr
     459        ImplExpr "+" ImplExpr           -> ImplExpr
     460        ImplExpr "++" ImplExpr          -> ImplExpr
     461}
     462
     463context-free priorities
     464
     465        ConceptExpr Morphism                    -> ConceptExpr
     466>
     467        ConceptExpr "times" ConceptExpr         -> ConceptExpr
     468>
     469{       ConceptExpr "*" ConceptExpr             -> ConceptExpr
     470        ConceptExpr "**" ConceptExpr            -> ConceptExpr
     471}
     472>
     473{       ConceptExpr "@" ConceptExpr             -> ConceptExpr
     474        ConceptExpr "@@" ConceptExpr            -> ConceptExpr
     475        ConceptExpr "+" ConceptExpr             -> ConceptExpr
     476        ConceptExpr "++" ConceptExpr            -> ConceptExpr
     477}
     478>
     479        "signature" ConceptExpr                         -> ConceptExpr
     480       
Note: See TracChangeset for help on using the changeset viewer.