summaryrefslogtreecommitdiff
path: root/src/GF/Compile/GrammarToCanon.hs
diff options
context:
space:
mode:
authoraarne <unknown>2003-10-01 12:46:44 +0000
committeraarne <unknown>2003-10-01 12:46:44 +0000
commitc985dab565416251d9973f5b3bafe4d9d205b249 (patch)
treeada69513d8a20338af8058d35ce2bc75e5495d4b /src/GF/Compile/GrammarToCanon.hs
parent8ed7749eb674e3afe4485cfb3d4d50485a2cf097 (diff)
Putting def definitions in place.
Diffstat (limited to 'src/GF/Compile/GrammarToCanon.hs')
-rw-r--r--src/GF/Compile/GrammarToCanon.hs10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/GF/Compile/GrammarToCanon.hs b/src/GF/Compile/GrammarToCanon.hs
index d5977b510..b097405de 100644
--- a/src/GF/Compile/GrammarToCanon.hs
+++ b/src/GF/Compile/GrammarToCanon.hs
@@ -60,9 +60,15 @@ redInfo am (c,info) = errIn ("translating definition of" +++ prt c) $ do
c' <- redIdent c
case info of
AbsCat (Yes cont) pfs -> do
- returns c' $ C.AbsCat cont [] ---- constrs
+ let fs = case pfs of
+ Yes ts -> [(m,c) | Q m c <- ts]
+ _ -> []
+ returns c' $ C.AbsCat cont fs
AbsFun (Yes typ) pdf -> do
- returns c' $ C.AbsFun typ (Eqs []) ---- df
+ let df = case pdf of
+ Yes t -> t
+ _ -> EData --- data vs. primitive
+ returns c' $ C.AbsFun typ df
ResParam (Yes ps) -> do
ps' <- mapM redParam ps