module GF.GFCC.SkelGFCC where

-- Haskell module generated by the BNF converter

import GF.GFCC.AbsGFCC
import GF.GFCC.ErrM
type Result = Err String

failure :: Show a => a -> Result
failure x = Bad $ "Undefined case: " ++ show x

transCId :: CId -> Result
transCId x = case x of
  CId str  -> failure x


transGrammar :: Grammar -> Result
transGrammar x = case x of
  Grm cid cids abstract concretes  -> failure x


transAbstract :: Abstract -> Result
transAbstract x = case x of
  Abs flags fundefs catdefs  -> failure x


transConcrete :: Concrete -> Result
transConcrete x = case x of
  Cnc cid flags lindefs0 lindefs1 lindefs2 lindefs3 lindefs  -> failure x


transFlag :: Flag -> Result
transFlag x = case x of
  Flg cid str  -> failure x


transCatDef :: CatDef -> Result
transCatDef x = case x of
  Cat cid hypos  -> failure x


transFunDef :: FunDef -> Result
transFunDef x = case x of
  Fun cid type' exp  -> failure x


transLinDef :: LinDef -> Result
transLinDef x = case x of
  Lin cid term  -> failure x


transType :: Type -> Result
transType x = case x of
  DTyp hypos cid exps  -> failure x


transExp :: Exp -> Result
transExp x = case x of
  DTr cids atom exps  -> failure x
  EEq equations  -> failure x


transAtom :: Atom -> Result
transAtom x = case x of
  AC cid  -> failure x
  AS str  -> failure x
  AI n  -> failure x
  AF d  -> failure x
  AM n  -> failure x
  AV cid  -> failure x


transTerm :: Term -> Result
transTerm x = case x of
  R terms  -> failure x
  P term0 term  -> failure x
  S terms  -> failure x
  K tokn  -> failure x
  V n  -> failure x
  C n  -> failure x
  F cid  -> failure x
  FV terms  -> failure x
  W str term  -> failure x
  TM  -> failure x
  RP term0 term  -> failure x


transTokn :: Tokn -> Result
transTokn x = case x of
  KS str  -> failure x
  KP strs variants  -> failure x


transVariant :: Variant -> Result
transVariant x = case x of
  Var strs0 strs  -> failure x


transHypo :: Hypo -> Result
transHypo x = case x of
  Hyp cid type'  -> failure x


transEquation :: Equation -> Result
transEquation x = case x of
  Equ exps exp  -> failure x



