summaryrefslogtreecommitdiff
path: root/src/GF/GFCC/SkelGFCC.hs
blob: 6972fd3c370f88973eaa29d652afa03acff1c2eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
module GF.GFCC.SkelGFCC where

-- Haskell module generated by the BNF converter

import GF.GFCC.AbsGFCC
import GF.Data.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