diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-05-21 09:26:44 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-05-21 09:26:44 +0000 |
| commit | 055c0d0d5a5bb0dc75904fe53df7f2e4f5732a8f (patch) | |
| tree | 0e63fb68c69c8f6ad0f78893c63420f0a3600e1c /src-3.0/Transfer/Syntax/Skel.hs | |
| parent | 915a1de71783ab8446b1af9e72c7ba7dfbc12d3f (diff) | |
GF/src is now for 2.9, and the new sources are in src-3.0 - keep it this way until the release of GF 3
Diffstat (limited to 'src-3.0/Transfer/Syntax/Skel.hs')
| -rw-r--r-- | src-3.0/Transfer/Syntax/Skel.hs | 200 |
1 files changed, 200 insertions, 0 deletions
diff --git a/src-3.0/Transfer/Syntax/Skel.hs b/src-3.0/Transfer/Syntax/Skel.hs new file mode 100644 index 000000000..b2376478b --- /dev/null +++ b/src-3.0/Transfer/Syntax/Skel.hs @@ -0,0 +1,200 @@ +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 guard exp -> failure t + DeriveDecl i0 i1 -> failure t + ConsDecl i exp -> failure t + GuardExp exp -> failure t + GuardNo -> failure t + POr pattern0 pattern1 -> failure t + PListCons pattern0 pattern1 -> failure t + PConsTop i pattern patterns -> failure t + PCons i patterns -> failure t + PRec fieldpatterns -> failure t + PEmptyList -> failure t + PList commapatterns -> failure t + PTuple commapattern commapatterns -> failure t + PStr str -> failure t + PInt n -> failure t + PVar i -> failure t + PWild -> failure t + CommaPattern pattern -> failure t + FieldPattern i pattern -> failure t + EPi varorwild exp0 exp1 -> failure t + EPiNoVar exp0 exp1 -> failure t + EAbs varorwild exp -> failure t + ELet letdefs exp -> failure t + ECase exp cases -> failure t + EIf exp0 exp1 exp2 -> failure t + EDo binds exp -> failure t + EBind exp0 exp1 -> failure t + EBindC 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 + EListCons 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 + ENeg exp -> failure t + EApp exp0 exp1 -> failure t + EProj exp i -> failure t + ERecType fieldtypes -> failure t + ERec fieldvalues -> failure t + EEmptyList -> failure t + EList exps -> failure t + ETuple exp exps -> failure t + EVar i -> failure t + EType -> failure t + EStr str -> failure t + EInteger n -> failure t + EDouble d -> failure t + EMeta -> failure t + VVar i -> failure t + VWild -> failure t + LetDef i exp -> failure t + Case pattern guard exp -> failure t + BindVar varorwild exp -> failure t + BindNoVar exp -> 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 guard exp -> failure t + DeriveDecl i0 i1 -> failure t + +transConsDecl :: ConsDecl -> Result +transConsDecl t = case t of + ConsDecl i exp -> failure t + +transGuard :: Guard -> Result +transGuard t = case t of + GuardExp exp -> failure t + GuardNo -> failure t + +transPattern :: Pattern -> Result +transPattern t = case t of + POr pattern0 pattern1 -> failure t + PListCons pattern0 pattern1 -> failure t + PConsTop i pattern patterns -> failure t + PCons i patterns -> failure t + PRec fieldpatterns -> failure t + PEmptyList -> failure t + PList commapatterns -> failure t + PTuple commapattern commapatterns -> failure t + PStr str -> failure t + PInt n -> failure t + PVar i -> failure t + PWild -> failure t + +transCommaPattern :: CommaPattern -> Result +transCommaPattern t = case t of + CommaPattern pattern -> failure t + +transFieldPattern :: FieldPattern -> Result +transFieldPattern t = case t of + FieldPattern i pattern -> failure t + +transExp :: Exp -> Result +transExp t = case t of + EPi varorwild exp0 exp1 -> failure t + EPiNoVar exp0 exp1 -> failure t + EAbs varorwild exp -> failure t + ELet letdefs exp -> failure t + ECase exp cases -> failure t + EIf exp0 exp1 exp2 -> failure t + EDo binds exp -> failure t + EBind exp0 exp1 -> failure t + EBindC 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 + EListCons 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 + ENeg exp -> failure t + EApp exp0 exp1 -> failure t + EProj exp i -> failure t + ERecType fieldtypes -> failure t + ERec fieldvalues -> failure t + EEmptyList -> failure t + EList exps -> failure t + ETuple exp exps -> failure t + EVar i -> failure t + EType -> failure t + EStr str -> failure t + EInteger n -> failure t + EDouble d -> failure t + EMeta -> failure t + +transVarOrWild :: VarOrWild -> Result +transVarOrWild t = case t of + VVar i -> failure t + VWild -> failure t + +transLetDef :: LetDef -> Result +transLetDef t = case t of + LetDef i exp -> failure t + +transCase :: Case -> Result +transCase t = case t of + Case pattern guard exp -> failure t + +transBind :: Bind -> Result +transBind t = case t of + BindVar varorwild exp -> failure t + BindNoVar exp -> 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 + |
