diff options
| author | aarne <aarne@cs.chalmers.se> | 2007-12-14 09:25:18 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2007-12-14 09:25:18 +0000 |
| commit | f85ba4bfa03ec006248a47ff7b1b232e8c1fae08 (patch) | |
| tree | 5bc0e5c590aca434b01589adae42c9c3de06d709 /src/GF/GFCC | |
| parent | ab7d15ab38d81eb44f527c65378c8fd34300dae7 (diff) | |
removed dep. on GFCCRaw
Diffstat (limited to 'src/GF/GFCC')
| -rw-r--r-- | src/GF/GFCC/API.hs | 2 | ||||
| -rw-r--r-- | src/GF/GFCC/CId.hs | 14 | ||||
| -rw-r--r-- | src/GF/GFCC/CheckGFCC.hs | 2 | ||||
| -rw-r--r-- | src/GF/GFCC/DataGFCC.hs | 2 | ||||
| -rw-r--r-- | src/GF/GFCC/Generate.hs | 2 | ||||
| -rw-r--r-- | src/GF/GFCC/Linearize.hs | 2 | ||||
| -rw-r--r-- | src/GF/GFCC/Macros.hs | 2 | ||||
| -rw-r--r-- | src/GF/GFCC/OptimizeGFCC.hs | 2 | ||||
| -rw-r--r-- | src/GF/GFCC/Raw/ConvertGFCC.hs | 10 | ||||
| -rw-r--r-- | src/GF/GFCC/Raw/GFCCRaw.cf | 98 | ||||
| -rw-r--r-- | src/GF/GFCC/ShowLinearize.hs | 2 |
11 files changed, 27 insertions, 111 deletions
diff --git a/src/GF/GFCC/API.hs b/src/GF/GFCC/API.hs index bf795d91b..e3a7fc3c9 100644 --- a/src/GF/GFCC/API.hs +++ b/src/GF/GFCC/API.hs @@ -19,7 +19,7 @@ import GF.GFCC.Linearize import GF.GFCC.Generate import GF.GFCC.Macros import GF.GFCC.DataGFCC -import GF.GFCC.Raw.AbsGFCCRaw (CId (..)) +import GF.GFCC.CId import GF.GFCC.Raw.ConvertGFCC import GF.GFCC.Raw.ParGFCCRaw import GF.Command.PPrTree diff --git a/src/GF/GFCC/CId.hs b/src/GF/GFCC/CId.hs new file mode 100644 index 000000000..e4efa98ba --- /dev/null +++ b/src/GF/GFCC/CId.hs @@ -0,0 +1,14 @@ +module GF.GFCC.CId ( + module GF.GFCC.Raw.AbsGFCCRaw, + prCId, + cId + ) where + +import GF.GFCC.Raw.AbsGFCCRaw (CId(CId)) + +prCId :: CId -> String +prCId (CId s) = s + +cId :: String -> CId +cId = CId + diff --git a/src/GF/GFCC/CheckGFCC.hs b/src/GF/GFCC/CheckGFCC.hs index 065e2cb54..a6fd0332d 100644 --- a/src/GF/GFCC/CheckGFCC.hs +++ b/src/GF/GFCC/CheckGFCC.hs @@ -1,6 +1,6 @@ module GF.GFCC.CheckGFCC (checkGFCC, checkGFCCio, checkGFCCmaybe) where -import GF.GFCC.Raw.AbsGFCCRaw (CId (..)) +import GF.GFCC.CId import GF.GFCC.Macros import GF.GFCC.DataGFCC import GF.GFCC.ErrM diff --git a/src/GF/GFCC/DataGFCC.hs b/src/GF/GFCC/DataGFCC.hs index 74d8948a0..35c8b08c5 100644 --- a/src/GF/GFCC/DataGFCC.hs +++ b/src/GF/GFCC/DataGFCC.hs @@ -1,6 +1,6 @@ module GF.GFCC.DataGFCC where -import GF.GFCC.Raw.AbsGFCCRaw (CId (..)) +import GF.GFCC.CId import GF.Infra.CompactPrint import GF.Text.UTF8 diff --git a/src/GF/GFCC/Generate.hs b/src/GF/GFCC/Generate.hs index f03718d8c..1924a8849 100644 --- a/src/GF/GFCC/Generate.hs +++ b/src/GF/GFCC/Generate.hs @@ -2,7 +2,7 @@ module GF.GFCC.Generate where import GF.GFCC.Macros import GF.GFCC.DataGFCC -import GF.GFCC.Raw.AbsGFCCRaw (CId (..)) +import GF.GFCC.CId import qualified Data.Map as M import System.Random diff --git a/src/GF/GFCC/Linearize.hs b/src/GF/GFCC/Linearize.hs index 9618c33e6..826d3597b 100644 --- a/src/GF/GFCC/Linearize.hs +++ b/src/GF/GFCC/Linearize.hs @@ -2,7 +2,7 @@ module GF.GFCC.Linearize where import GF.GFCC.Macros import GF.GFCC.DataGFCC -import GF.GFCC.Raw.AbsGFCCRaw (CId (..)) +import GF.GFCC.CId import Data.Map import Data.List diff --git a/src/GF/GFCC/Macros.hs b/src/GF/GFCC/Macros.hs index 29d1f6947..3e88952d4 100644 --- a/src/GF/GFCC/Macros.hs +++ b/src/GF/GFCC/Macros.hs @@ -1,6 +1,6 @@ module GF.GFCC.Macros where -import GF.GFCC.Raw.AbsGFCCRaw (CId (..)) +import GF.GFCC.CId import GF.GFCC.DataGFCC ----import GF.GFCC.PrintGFCC import Data.Map diff --git a/src/GF/GFCC/OptimizeGFCC.hs b/src/GF/GFCC/OptimizeGFCC.hs index c385b069b..394458041 100644 --- a/src/GF/GFCC/OptimizeGFCC.hs +++ b/src/GF/GFCC/OptimizeGFCC.hs @@ -1,6 +1,6 @@ module GF.GFCC.OptimizeGFCC where -import GF.GFCC.Raw.AbsGFCCRaw (CId (..)) +import GF.GFCC.CId import GF.GFCC.DataGFCC import GF.Data.Operations diff --git a/src/GF/GFCC/Raw/ConvertGFCC.hs b/src/GF/GFCC/Raw/ConvertGFCC.hs index 16f75d9d5..79dae1fd6 100644 --- a/src/GF/GFCC/Raw/ConvertGFCC.hs +++ b/src/GF/GFCC/Raw/ConvertGFCC.hs @@ -59,7 +59,7 @@ toGFCC (Grm [ toType :: RExp -> Type toType e = case e of - App cat [App (CId "hypo") hypos, App (CId "arg") exps] -> + App cat [App (CId "H") hypos, App (CId "X") exps] -> DTyp (lmap toHypo hypos) cat (lmap toExp exps) _ -> error $ "type " ++ show e @@ -70,7 +70,7 @@ toHypo e = case e of toExp :: RExp -> Exp toExp e = case e of - App fun [App (CId "abs") xs, App (CId "arg") exps] -> + App fun [App (CId "B") xs, App (CId "X") exps] -> DTr [x | AId x <- xs] (AC fun) (lmap toExp exps) App (CId "Eq") _ -> EEq [] ---- AMet -> DTr [] (AM 0) [] @@ -125,8 +125,8 @@ fromType :: Type -> RExp fromType e = case e of DTyp hypos cat exps -> App cat [ - App (CId "hypo") (lmap fromHypo hypos), - App (CId "arg") (lmap fromExp exps)] + App (CId "H") (lmap fromHypo hypos), + App (CId "X") (lmap fromExp exps)] fromHypo :: Hypo -> RExp fromHypo e = case e of @@ -135,7 +135,7 @@ fromHypo e = case e of fromExp :: Exp -> RExp fromExp e = case e of DTr xs (AC fun) exps -> - App fun [App (CId "abs") (lmap AId xs), App (CId "arg") (lmap fromExp exps)] + App fun [App (CId "B") (lmap AId xs), App (CId "X") (lmap fromExp exps)] DTr xs (AM _) exps -> AMet ---- EEq _ -> App (CId "Eq") [] ---- _ -> error $ "exp " ++ show e diff --git a/src/GF/GFCC/Raw/GFCCRaw.cf b/src/GF/GFCC/Raw/GFCCRaw.cf index 2ec3fac52..bedaef685 100644 --- a/src/GF/GFCC/Raw/GFCCRaw.cf +++ b/src/GF/GFCC/Raw/GFCCRaw.cf @@ -10,101 +10,3 @@ AMet. RExp ::= "?" ; terminator RExp "" ; token CId (('_' | letter) (letter | digit | '\'' | '_')*) ; - - - - - - - - - - - - - - - - -{- -Grm. Grammar ::= - "grammar" CId "(" [CId] ")" "(" [Flag] ")" ";" - Abstract ";" - [Concrete] ; - -Abs. Abstract ::= - "abstract" "{" - "flags" [Flag] - "fun" [FunDef] - "cat" [CatDef] - "}" ; - -Cnc. Concrete ::= - "concrete" CId "{" - "flags" [Flag] - "lin" [LinDef] - "oper" [LinDef] - "lincat" [LinDef] - "lindef" [LinDef] - "printname" [LinDef] - "param" [LinDef] -- lincats with param value names - "}" ; - -Flg. Flag ::= CId "=" String ; -Cat. CatDef ::= CId "[" [Hypo] "]" ; - -Fun. FunDef ::= CId ":" Type "=" Exp ; -Lin. LinDef ::= CId "=" Term ; - -DTyp. Type ::= "[" [Hypo] "]" CId [Exp] ; -- dependent type -DTr. Exp ::= "[" "(" [CId] ")" Atom [Exp] "]" ; -- term with bindings - -AC. Atom ::= CId ; -AS. Atom ::= String ; -AI. Atom ::= Integer ; -AF. Atom ::= Double ; -AM. Atom ::= "?" Integer ; - -R. Term ::= "[" [Term] "]" ; -- record/table -P. Term ::= "(" Term "!" Term ")" ; -- projection/selection -S. Term ::= "(" [Term] ")" ; -- concatenated sequence -K. Term ::= Tokn ; -- token -V. Term ::= "$" Integer ; -- argument -C. Term ::= Integer ; -- parameter value/label -F. Term ::= CId ; -- global constant -FV. Term ::= "[|" [Term] "|]" ; -- free variation -W. Term ::= "(" String "+" Term ")" ; -- prefix + suffix table -TM. Term ::= "?" ; -- lin of metavariable - -KS. Tokn ::= String ; -KP. Tokn ::= "[" "pre" [String] "[" [Variant] "]" "]" ; -Var. Variant ::= [String] "/" [String] ; - - -RP. Term ::= "(" Term "@" Term ")"; -- DEPRECATED: record parameter alias - -terminator Concrete ";" ; -terminator Flag ";" ; -terminator CatDef ";" ; -terminator FunDef ";" ; -terminator LinDef ";" ; -separator CId "," ; -separator Term "," ; -terminator Exp "" ; -terminator String "" ; -separator Variant "," ; - - - --- the following are needed if dependent types or HOAS or defs are present - -Hyp. Hypo ::= CId ":" Type ; -AV. Atom ::= "$" CId ; - -EEq. Exp ::= "{" [Equation] "}" ; -- list of pattern eqs; primitive: [] -Equ. Equation ::= [Exp] "->" Exp ; -- patterns are encoded as exps - -separator Hypo "," ; -terminator Equation ";" ; - --} diff --git a/src/GF/GFCC/ShowLinearize.hs b/src/GF/GFCC/ShowLinearize.hs index a9365a13b..f627dfd28 100644 --- a/src/GF/GFCC/ShowLinearize.hs +++ b/src/GF/GFCC/ShowLinearize.hs @@ -8,7 +8,7 @@ module GF.GFCC.ShowLinearize ( import GF.GFCC.Linearize import GF.GFCC.Macros import GF.GFCC.DataGFCC -import GF.GFCC.Raw.AbsGFCCRaw (CId (..)) +import GF.GFCC.CId --import GF.GFCC.PrintGFCC ---- import GF.Data.Operations |
