mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-24 03:52:50 -06:00
missing cases in GF.Grammar.Binary
This commit is contained in:
@@ -23,7 +23,7 @@ import GF.Grammar.Grammar
|
|||||||
import PGF.Binary
|
import PGF.Binary
|
||||||
|
|
||||||
-- Please change this every time when the GFO format is changed
|
-- Please change this every time when the GFO format is changed
|
||||||
gfoVersion = "GF01"
|
gfoVersion = "GF02"
|
||||||
|
|
||||||
|
|
||||||
instance Binary Ident where
|
instance Binary Ident where
|
||||||
@@ -155,28 +155,31 @@ instance Binary Term where
|
|||||||
put (App x y) = putWord8 8 >> put (x,y)
|
put (App x y) = putWord8 8 >> put (x,y)
|
||||||
put (Abs x y z) = putWord8 9 >> put (x,y,z)
|
put (Abs x y z) = putWord8 9 >> put (x,y,z)
|
||||||
put (Meta x) = putWord8 10 >> put x
|
put (Meta x) = putWord8 10 >> put x
|
||||||
put (Prod w x y z)= putWord8 11 >> put (w,x,y,z)
|
put (ImplArg x) = putWord8 11 >> put x
|
||||||
put (Typed x y) = putWord8 12 >> put (x,y)
|
put (Prod w x y z)= putWord8 12 >> put (w,x,y,z)
|
||||||
put (Example x y) = putWord8 13 >> put (x,y)
|
put (Typed x y) = putWord8 13 >> put (x,y)
|
||||||
put (RecType x) = putWord8 14 >> put x
|
put (Example x y) = putWord8 14 >> put (x,y)
|
||||||
put (R x) = putWord8 15 >> put x
|
put (RecType x) = putWord8 15 >> put x
|
||||||
put (P x y) = putWord8 16 >> put (x,y)
|
put (R x) = putWord8 16 >> put x
|
||||||
put (ExtR x y) = putWord8 17 >> put (x,y)
|
put (P x y) = putWord8 17 >> put (x,y)
|
||||||
put (Table x y) = putWord8 18 >> put (x,y)
|
put (ExtR x y) = putWord8 18 >> put (x,y)
|
||||||
put (T x y) = putWord8 19 >> put (x,y)
|
put (Table x y) = putWord8 19 >> put (x,y)
|
||||||
put (V x y) = putWord8 20 >> put (x,y)
|
put (T x y) = putWord8 20 >> put (x,y)
|
||||||
put (S x y) = putWord8 21 >> put (x,y)
|
put (V x y) = putWord8 21 >> put (x,y)
|
||||||
put (Let x y) = putWord8 22 >> put (x,y)
|
put (S x y) = putWord8 22 >> put (x,y)
|
||||||
put (Q x) = putWord8 23 >> put x
|
put (Let x y) = putWord8 23 >> put (x,y)
|
||||||
put (QC x) = putWord8 24 >> put x
|
put (Q x) = putWord8 24 >> put x
|
||||||
put (C x y) = putWord8 25 >> put (x,y)
|
put (QC x) = putWord8 25 >> put x
|
||||||
put (Glue x y) = putWord8 26 >> put (x,y)
|
put (C x y) = putWord8 26 >> put (x,y)
|
||||||
put (EPatt x) = putWord8 27 >> put x
|
put (Glue x y) = putWord8 27 >> put (x,y)
|
||||||
put (EPattType x) = putWord8 28 >> put x
|
put (EPatt x) = putWord8 28 >> put x
|
||||||
put (FV x) = putWord8 29 >> put x
|
put (EPattType x) = putWord8 29 >> put x
|
||||||
put (Alts x y) = putWord8 30 >> put (x,y)
|
put (ELincat x y) = putWord8 30 >> put (x,y)
|
||||||
put (Strs x) = putWord8 31 >> put x
|
put (ELin x y) = putWord8 31 >> put (x,y)
|
||||||
put (ELin x y) = putWord8 32 >> put (x,y)
|
put (FV x) = putWord8 32 >> put x
|
||||||
|
put (Alts x y) = putWord8 33 >> put (x,y)
|
||||||
|
put (Strs x) = putWord8 34 >> put x
|
||||||
|
put (Error x) = putWord8 35 >> put x
|
||||||
|
|
||||||
get = do tag <- getWord8
|
get = do tag <- getWord8
|
||||||
case tag of
|
case tag of
|
||||||
@@ -191,28 +194,31 @@ instance Binary Term where
|
|||||||
8 -> get >>= \(x,y) -> return (App x y)
|
8 -> get >>= \(x,y) -> return (App x y)
|
||||||
9 -> get >>= \(x,y,z) -> return (Abs x y z)
|
9 -> get >>= \(x,y,z) -> return (Abs x y z)
|
||||||
10 -> get >>= \x -> return (Meta x)
|
10 -> get >>= \x -> return (Meta x)
|
||||||
11 -> get >>= \(w,x,y,z)->return (Prod w x y z)
|
11 -> get >>= \x -> return (ImplArg x)
|
||||||
12 -> get >>= \(x,y) -> return (Typed x y)
|
12 -> get >>= \(w,x,y,z)->return (Prod w x y z)
|
||||||
13 -> get >>= \(x,y) -> return (Example x y)
|
13 -> get >>= \(x,y) -> return (Typed x y)
|
||||||
14 -> get >>= \x -> return (RecType x)
|
14 -> get >>= \(x,y) -> return (Example x y)
|
||||||
15 -> get >>= \x -> return (R x)
|
15 -> get >>= \x -> return (RecType x)
|
||||||
16 -> get >>= \(x,y) -> return (P x y)
|
16 -> get >>= \x -> return (R x)
|
||||||
17 -> get >>= \(x,y) -> return (ExtR x y)
|
17 -> get >>= \(x,y) -> return (P x y)
|
||||||
18 -> get >>= \(x,y) -> return (Table x y)
|
18 -> get >>= \(x,y) -> return (ExtR x y)
|
||||||
19 -> get >>= \(x,y) -> return (T x y)
|
19 -> get >>= \(x,y) -> return (Table x y)
|
||||||
20 -> get >>= \(x,y) -> return (V x y)
|
20 -> get >>= \(x,y) -> return (T x y)
|
||||||
21 -> get >>= \(x,y) -> return (S x y)
|
21 -> get >>= \(x,y) -> return (V x y)
|
||||||
22 -> get >>= \(x,y) -> return (Let x y)
|
22 -> get >>= \(x,y) -> return (S x y)
|
||||||
23 -> get >>= \x -> return (Q x)
|
23 -> get >>= \(x,y) -> return (Let x y)
|
||||||
24 -> get >>= \x -> return (QC x)
|
24 -> get >>= \x -> return (Q x)
|
||||||
25 -> get >>= \(x,y) -> return (C x y)
|
25 -> get >>= \x -> return (QC x)
|
||||||
26 -> get >>= \(x,y) -> return (Glue x y)
|
26 -> get >>= \(x,y) -> return (C x y)
|
||||||
27 -> get >>= \x -> return (EPatt x)
|
27 -> get >>= \(x,y) -> return (Glue x y)
|
||||||
28 -> get >>= \x -> return (EPattType x)
|
28 -> get >>= \x -> return (EPatt x)
|
||||||
29 -> get >>= \x -> return (FV x)
|
29 -> get >>= \x -> return (EPattType x)
|
||||||
30 -> get >>= \(x,y) -> return (Alts x y)
|
30 -> get >>= \(x,y) -> return (ELincat x y)
|
||||||
31 -> get >>= \x -> return (Strs x)
|
31 -> get >>= \(x,y) -> return (ELin x y)
|
||||||
32 -> get >>= \(x,y) -> return (ELin x y)
|
32 -> get >>= \x -> return (FV x)
|
||||||
|
33 -> get >>= \(x,y) -> return (Alts x y)
|
||||||
|
34 -> get >>= \x -> return (Strs x)
|
||||||
|
35 -> get >>= \x -> return (Error x)
|
||||||
_ -> decodingError
|
_ -> decodingError
|
||||||
|
|
||||||
instance Binary Patt where
|
instance Binary Patt where
|
||||||
|
|||||||
Reference in New Issue
Block a user