diff options
| author | aarne <unknown> | 2004-09-18 09:24:51 +0000 |
|---|---|---|
| committer | aarne <unknown> | 2004-09-18 09:24:51 +0000 |
| commit | 3a1f403a0146f4717b210373167640a07f0248dd (patch) | |
| tree | af1fe17319c7dd20117b9b842c01b52b35fe96fd /examples/gfcc/Imper.gf | |
| parent | 6ec3a53d3cd1666696430d25e1d0c746f3c7dde8 (diff) | |
doc
Diffstat (limited to 'examples/gfcc/Imper.gf')
| -rw-r--r-- | examples/gfcc/Imper.gf | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/examples/gfcc/Imper.gf b/examples/gfcc/Imper.gf index e67e504f8..fca632cc4 100644 --- a/examples/gfcc/Imper.gf +++ b/examples/gfcc/Imper.gf @@ -8,18 +8,21 @@ abstract Imper = { fun Decl : (A : Typ) -> (Var A -> Stm) -> Stm ; - Assign : (A : Typ) -> Var A -> Exp A -> Stm ; + Assign : (A : Typ) -> Var A -> Exp A -> Stm -> Stm ; Return : (A : Typ) -> Exp A -> Stm ; - While : Exp TInt -> Stm -> Stm ; - Block : Stm -> Stm ; - None : Stm ; - Next : Stm -> Stm -> Stm ; + While : Exp TInt -> Stm -> Stm -> Stm ; + Block : Stm -> Stm -> Stm ; + End : Stm ; EVar : (A : Typ) -> Var A -> Exp A ; EInt : Int -> Exp TInt ; EFloat : Int -> Int -> Exp TFloat ; EAddI : Exp TInt -> Exp TInt -> Exp TInt ; EAddF : Exp TFloat -> Exp TFloat -> Exp TFloat ; + EMulI : Exp TInt -> Exp TInt -> Exp TInt ; + EMulF : Exp TFloat -> Exp TFloat -> Exp TFloat ; + ELtI : Exp TInt -> Exp TInt -> Exp TInt ; + ELtF : Exp TFloat -> Exp TFloat -> Exp TInt ; TInt : Typ ; TFloat : Typ ; @@ -43,7 +46,7 @@ abstract Imper = { BodyCons : (A : Typ) -> (AS : Typs) -> (Var A -> Body AS) -> Body (ConsTyp A AS) ; - EApp : (args : Typs) -> (val : Typ) -> Fun args val -> Exps args -> Exp val ; + EApp : (AS : Typs) -> (V : Typ) -> Fun AS V -> Exps AS -> Exp V ; NilExp : Exps NilTyp ; ConsExp : (A : Typ) -> (AS : Typs) -> |
