-- Haskell module generated by the BNF converter module Language.Lang.SkelGrammer where import qualified Language.Lang.AbsGrammer type Err = Either String type Result = Err String failure :: Show a => a -> Result failure x = Left $ "Undefined case: " ++ show x transName :: Language.Lang.AbsGrammer.Name -> Result transName x = case x of Language.Lang.AbsGrammer.Name string -> failure x transNumericLiteral :: Language.Lang.AbsGrammer.NumericLiteral -> Result transNumericLiteral x = case x of Language.Lang.AbsGrammer.NumericLiteral string -> failure x transModule :: Language.Lang.AbsGrammer.Module -> Result transModule x = case x of Language.Lang.AbsGrammer.Module bindings -> failure x transBinding :: Language.Lang.AbsGrammer.Binding -> Result transBinding x = case x of Language.Lang.AbsGrammer.BindingDeclaration declaration -> failure x Language.Lang.AbsGrammer.BindingDefinition definition -> failure x Language.Lang.AbsGrammer.BindingPragma pragma -> failure x transDeclaration :: Language.Lang.AbsGrammer.Declaration -> Result transDeclaration x = case x of Language.Lang.AbsGrammer.DeclarationNamed name type_ -> failure x Language.Lang.AbsGrammer.DeclarationAnonymous type_ -> failure x transDefinition :: Language.Lang.AbsGrammer.Definition -> Result transDefinition x = case x of Language.Lang.AbsGrammer.DefinitionNamed name expression -> failure x Language.Lang.AbsGrammer.DefinitionAnonymous expression -> failure x transType :: Language.Lang.AbsGrammer.Type -> Result transType x = case x of Language.Lang.AbsGrammer.TypeName name -> failure x Language.Lang.AbsGrammer.TypeApplication type_1 type_2 -> failure x Language.Lang.AbsGrammer.TypeAbstraction type_1 type_2 -> failure x Language.Lang.AbsGrammer.TypeImplicit declarations -> failure x Language.Lang.AbsGrammer.TypeRecord declarations -> failure x Language.Lang.AbsGrammer.TypeAlternative declarations -> failure x Language.Lang.AbsGrammer.TypeParens type_ -> failure x transPragma :: Language.Lang.AbsGrammer.Pragma -> Result transPragma x = case x of Language.Lang.AbsGrammer.Pragma names -> failure x transExpression :: Language.Lang.AbsGrammer.Expression -> Result transExpression x = case x of Language.Lang.AbsGrammer.ExpressionName name -> failure x Language.Lang.AbsGrammer.ExpressionLiteral numericliteral -> failure x Language.Lang.AbsGrammer.ExpressionApplication expression1 expression2 -> failure x Language.Lang.AbsGrammer.ExpressionAbstraction expression1 expression2 -> failure x Language.Lang.AbsGrammer.ExpressionImplicit module_ -> failure x Language.Lang.AbsGrammer.ExpressionRecord module_ -> failure x Language.Lang.AbsGrammer.ExpressionAlternative module_ -> failure x Language.Lang.AbsGrammer.ExpressionParens expression -> failure x