summaryrefslogtreecommitdiff
path: root/old-examples/systemS/Precedence.gf
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-06-27 09:18:50 +0000
committeraarne <aarne@cs.chalmers.se>2008-06-27 09:18:50 +0000
commit5c713d8f027a9b6be687ee3f7e917e8bd2115773 (patch)
tree65da19829810b753345a5b2164bef2d8876268dd /old-examples/systemS/Precedence.gf
parentf7b2a83059697f1b36a6369e489ac276e7ff875d (diff)
took away old-examples
Diffstat (limited to 'old-examples/systemS/Precedence.gf')
-rw-r--r--old-examples/systemS/Precedence.gf42
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 ++ ")" ;
-
-}