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/Core/Skel.hs | |
| parent | fe2731e5f8e301b5a0169bf8b667bb6c13bae80b (diff) | |
Move transfer into the GF repo.
Diffstat (limited to 'src/Transfer/Core/Skel.hs')
| -rw-r--r-- | src/Transfer/Core/Skel.hs | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/src/Transfer/Core/Skel.hs b/src/Transfer/Core/Skel.hs new file mode 100644 index 000000000..287b237e0 --- /dev/null +++ b/src/Transfer/Core/Skel.hs @@ -0,0 +1,114 @@ +module Transfer.Core.Skel where + +-- Haskell module generated by the BNF converter + +import Transfer.Core.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 decls -> failure t + DataDecl cident exp consdecls -> failure t + TypeDecl cident exp -> failure t + ValueDecl cident exp -> failure t + ConsDecl cident exp -> failure t + PCons cident patterns -> failure t + PVar patternvariable -> failure t + PRec fieldpatterns -> failure t + PType -> failure t + PStr str -> failure t + PInt n -> failure t + FieldPattern cident pattern -> failure t + PVVar cident -> failure t + PVWild -> failure t + ELet letdefs exp -> failure t + ECase exp cases -> failure t + EAbs patternvariable exp -> failure t + EPi patternvariable exp0 exp1 -> failure t + EApp exp0 exp1 -> failure t + EProj exp cident -> failure t + EEmptyRec -> failure t + ERecType fieldtypes -> failure t + ERec fieldvalues -> failure t + EVar cident -> failure t + EType -> failure t + EStr str -> failure t + EInt n -> failure t + LetDef cident exp0 exp1 -> failure t + Case pattern exp -> failure t + FieldType cident exp -> failure t + FieldValue cident exp -> failure t + CIdent str -> failure t + +transModule :: Module -> Result +transModule t = case t of + Module decls -> failure t + +transDecl :: Decl -> Result +transDecl t = case t of + DataDecl cident exp consdecls -> failure t + TypeDecl cident exp -> failure t + ValueDecl cident exp -> failure t + +transConsDecl :: ConsDecl -> Result +transConsDecl t = case t of + ConsDecl cident exp -> failure t + +transPattern :: Pattern -> Result +transPattern t = case t of + PCons cident patterns -> failure t + PVar patternvariable -> failure t + PRec fieldpatterns -> failure t + PType -> failure t + PStr str -> failure t + PInt n -> failure t + +transFieldPattern :: FieldPattern -> Result +transFieldPattern t = case t of + FieldPattern cident pattern -> failure t + +transPatternVariable :: PatternVariable -> Result +transPatternVariable t = case t of + PVVar cident -> failure t + PVWild -> failure t + +transExp :: Exp -> Result +transExp t = case t of + ELet letdefs exp -> failure t + ECase exp cases -> failure t + EAbs patternvariable exp -> failure t + EPi patternvariable exp0 exp1 -> failure t + EApp exp0 exp1 -> failure t + EProj exp cident -> failure t + EEmptyRec -> failure t + ERecType fieldtypes -> failure t + ERec fieldvalues -> failure t + EVar cident -> failure t + EType -> failure t + EStr str -> failure t + EInt n -> failure t + +transLetDef :: LetDef -> Result +transLetDef t = case t of + LetDef cident exp0 exp1 -> failure t + +transCase :: Case -> Result +transCase t = case t of + Case pattern exp -> failure t + +transFieldType :: FieldType -> Result +transFieldType t = case t of + FieldType cident exp -> failure t + +transFieldValue :: FieldValue -> Result +transFieldValue t = case t of + FieldValue cident exp -> failure t + +transCIdent :: CIdent -> Result +transCIdent t = case t of + CIdent str -> failure t + |
