diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-06-27 09:18:50 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-06-27 09:18:50 +0000 |
| commit | 5c713d8f027a9b6be687ee3f7e917e8bd2115773 (patch) | |
| tree | 65da19829810b753345a5b2164bef2d8876268dd /old-examples/systemS/Precedence.gf | |
| parent | f7b2a83059697f1b36a6369e489ac276e7ff875d (diff) | |
took away old-examples
Diffstat (limited to 'old-examples/systemS/Precedence.gf')
| -rw-r--r-- | old-examples/systemS/Precedence.gf | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/old-examples/systemS/Precedence.gf b/old-examples/systemS/Precedence.gf deleted file mode 100644 index 7defd19aa..000000000 --- a/old-examples/systemS/Precedence.gf +++ /dev/null @@ -1,42 +0,0 @@ -resource Precedence = open (Predef = Predef) in { - - param - PAssoc = PN | PL | PR ; - - oper - Prec : PType = Predef.Ints 4 ; - PrecExp : Type = {s : Str ; p : Prec ; a : PAssoc} ; - - mkPrec : Prec -> PAssoc -> Str -> PrecExp = \p,a,f -> - {s = f ; p = p ; a = a} ; - - usePrec : PrecExp -> Prec -> Str = \x,p -> - case <<x.p,p> : Prec * Prec> of { - <3,4> | <2,3> | <2,4> => paren x.s ; - <1,1> | <1,0> | <0,0> => x.s ; - <1,_> | <0,_> => paren x.s ; - _ => x.s - } ; - - useTop : PrecExp -> Str = \e -> usePrec e 0 ; - - constant : Str -> PrecExp = mkPrec 4 PN ; - - infixN : Prec -> Str -> (_,_ : PrecExp) -> PrecExp = \p,f,x,y -> - mkPrec p PN (usePrec x (nextPrec p) ++ f ++ usePrec y (nextPrec p)) ; - infixL : Prec -> Str -> (_,_ : PrecExp) -> PrecExp = \p,f,x,y -> - mkPrec p PL (usePrec x p ++ f ++ usePrec y (nextPrec p)) ; - infixR : Prec -> Str -> (_,_ : PrecExp) -> PrecExp = \p,f,x,y -> - mkPrec p PR (usePrec x (nextPrec p) ++ f ++ usePrec y p) ; - - prefixR : Prec -> Str -> PrecExp -> PrecExp = \p,f,x -> - mkPrec p PR (f ++ usePrec x p) ; - - nextPrec : Prec -> Prec = \p -> case <p : Prec> of { - 4 => 4 ; - n => Predef.plus n 1 - } ; - - paren : Str -> Str = \s -> "(" ++ s ++ ")" ; - -} |
