summaryrefslogtreecommitdiff
path: root/src/GF/Canon/GFC.hs
diff options
context:
space:
mode:
authoraarne <unknown>2003-09-22 13:16:55 +0000
committeraarne <unknown>2003-09-22 13:16:55 +0000
commitb1402e8bd6a68a891b00a214d6cf184d66defe19 (patch)
tree90372ac4e53dce91cf949dbf8e93be06f1d9e8bd /src/GF/Canon/GFC.hs
Founding the newly structured GF2.0 cvs archive.
Diffstat (limited to 'src/GF/Canon/GFC.hs')
-rw-r--r--src/GF/Canon/GFC.hs48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/GF/Canon/GFC.hs b/src/GF/Canon/GFC.hs
new file mode 100644
index 000000000..63b697a35
--- /dev/null
+++ b/src/GF/Canon/GFC.hs
@@ -0,0 +1,48 @@
+module GFC where
+
+import AbsGFC
+import PrintGFC
+import qualified Abstract as A
+
+import Ident
+import Option
+import Zipper
+import Operations
+import qualified Modules as M
+
+import Char
+
+-- canonical GF. AR 10/9/2002 -- 9/5/2003 -- 21/9
+
+type Context = [(Ident,Exp)]
+
+type CanonGrammar = M.MGrammar Ident Flag Info
+
+type CanonModInfo = M.ModInfo Ident Flag Info
+
+type CanonModule = (Ident, CanonModInfo)
+
+type CanonAbs = M.Module Ident Option Info
+
+data Info =
+ AbsCat A.Context [A.Fun]
+ | AbsFun A.Type A.Term
+
+ | ResPar [ParDef]
+ | ResOper CType Term -- global constant
+ | CncCat CType Term Printname
+ | CncFun CIdent [ArgVar] Term Printname
+ | AnyInd Bool Ident
+ deriving (Show)
+
+type Printname = Term
+
+-- some printing ----
+
+{-
+prCanonModInfo :: (Ident,CanonModInfo) -> String
+prCanonModInfo = printTree . info2mod
+
+prGrammar :: CanonGrammar -> String
+prGrammar = printTree . grammar2canon
+-}