diff options
| author | bringert <bringert@cs.chalmers.se> | 2005-11-25 16:36:19 +0000 |
|---|---|---|
| committer | bringert <bringert@cs.chalmers.se> | 2005-11-25 16:36:19 +0000 |
| commit | dbe8e61acc616b8f5ac07e8df89eb98a7997c29d (patch) | |
| tree | 6e379f18986fc60f5606e023def46abdf770dca5 /src/Transfer/Syntax/Skel.hs | |
| parent | fe2731e5f8e301b5a0169bf8b667bb6c13bae80b (diff) | |
Move transfer into the GF repo.
Diffstat (limited to 'src/Transfer/Syntax/Skel.hs')
| -rw-r--r-- | src/Transfer/Syntax/Skel.hs | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/src/Transfer/Syntax/Skel.hs b/src/Transfer/Syntax/Skel.hs new file mode 100644 index 000000000..7cba91e4e --- /dev/null +++ b/src/Transfer/Syntax/Skel.hs @@ -0,0 +1,157 @@ +module Transfer.Syntax.Skel where + +-- Haskell module generated by the BNF converter + +import Transfer.Syntax.Abs +import Transfer.ErrM +type Result = Err String + +failure :: Show a => a -> Result +failure x = Bad $ "Undefined case: " ++ show x + +transTree :: Tree c -> Result +transTree t = case t of + Module imports decls -> failure t + Import i -> failure t + DataDecl i exp consdecls -> failure t + TypeDecl i exp -> failure t + ValueDecl i patterns exp -> failure t + DeriveDecl i0 i1 -> failure t + ConsDecl i exp -> failure t + PConsTop i pattern patterns -> failure t + PCons i patterns -> failure t + PRec fieldpatterns -> failure t + PType -> failure t + PStr str -> failure t + PInt n -> failure t + PVar i -> failure t + PWild -> failure t + FieldPattern i pattern -> failure t + ELet letdefs exp -> failure t + ECase exp cases -> failure t + EIf exp0 exp1 exp2 -> failure t + EAbs varorwild exp -> failure t + EPi varorwild exp0 exp1 -> failure t + EPiNoVar exp0 exp1 -> failure t + EOr exp0 exp1 -> failure t + EAnd exp0 exp1 -> failure t + EEq exp0 exp1 -> failure t + ENe exp0 exp1 -> failure t + ELt exp0 exp1 -> failure t + ELe exp0 exp1 -> failure t + EGt exp0 exp1 -> failure t + EGe exp0 exp1 -> failure t + EAdd exp0 exp1 -> failure t + ESub exp0 exp1 -> failure t + EMul exp0 exp1 -> failure t + EDiv exp0 exp1 -> failure t + EMod exp0 exp1 -> failure t + EProj exp i -> failure t + ENeg exp -> failure t + EApp exp0 exp1 -> failure t + EEmptyRec -> failure t + ERecType fieldtypes -> failure t + ERec fieldvalues -> failure t + EVar i -> failure t + EType -> failure t + EStr str -> failure t + EInt n -> failure t + LetDef i exp0 exp1 -> failure t + Case pattern exp -> failure t + VVar i -> failure t + VWild -> failure t + FieldType i exp -> failure t + FieldValue i exp -> failure t + Ident str -> failure t + +transModule :: Module -> Result +transModule t = case t of + Module imports decls -> failure t + +transImport :: Import -> Result +transImport t = case t of + Import i -> failure t + +transDecl :: Decl -> Result +transDecl t = case t of + DataDecl i exp consdecls -> failure t + TypeDecl i exp -> failure t + ValueDecl i patterns exp -> failure t + DeriveDecl i0 i1 -> failure t + +transConsDecl :: ConsDecl -> Result +transConsDecl t = case t of + ConsDecl i exp -> failure t + +transPattern :: Pattern -> Result +transPattern t = case t of + PConsTop i pattern patterns -> failure t + PCons i patterns -> failure t + PRec fieldpatterns -> failure t + PType -> failure t + PStr str -> failure t + PInt n -> failure t + PVar i -> failure t + PWild -> failure t + +transFieldPattern :: FieldPattern -> Result +transFieldPattern t = case t of + FieldPattern i pattern -> failure t + +transExp :: Exp -> Result +transExp t = case t of + ELet letdefs exp -> failure t + ECase exp cases -> failure t + EIf exp0 exp1 exp2 -> failure t + EAbs varorwild exp -> failure t + EPi varorwild exp0 exp1 -> failure t + EPiNoVar exp0 exp1 -> failure t + EOr exp0 exp1 -> failure t + EAnd exp0 exp1 -> failure t + EEq exp0 exp1 -> failure t + ENe exp0 exp1 -> failure t + ELt exp0 exp1 -> failure t + ELe exp0 exp1 -> failure t + EGt exp0 exp1 -> failure t + EGe exp0 exp1 -> failure t + EAdd exp0 exp1 -> failure t + ESub exp0 exp1 -> failure t + EMul exp0 exp1 -> failure t + EDiv exp0 exp1 -> failure t + EMod exp0 exp1 -> failure t + EProj exp i -> failure t + ENeg exp -> failure t + EApp exp0 exp1 -> failure t + EEmptyRec -> failure t + ERecType fieldtypes -> failure t + ERec fieldvalues -> failure t + EVar i -> failure t + EType -> failure t + EStr str -> failure t + EInt n -> failure t + +transLetDef :: LetDef -> Result +transLetDef t = case t of + LetDef i exp0 exp1 -> failure t + +transCase :: Case -> Result +transCase t = case t of + Case pattern exp -> failure t + +transVarOrWild :: VarOrWild -> Result +transVarOrWild t = case t of + VVar i -> failure t + VWild -> failure t + +transFieldType :: FieldType -> Result +transFieldType t = case t of + FieldType i exp -> failure t + +transFieldValue :: FieldValue -> Result +transFieldValue t = case t of + FieldValue i exp -> failure t + +transIdent :: Ident -> Result +transIdent t = case t of + Ident str -> failure t + |
