summaryrefslogtreecommitdiff
path: root/src/GF/Grammar/Binary.hs
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2009-10-28 16:47:01 +0000
committerkrasimir <krasimir@chalmers.se>2009-10-28 16:47:01 +0000
commit980844a4ad13c0423a3223f0e89e43d6e9be1ba3 (patch)
tree810ad7002888c5f5f3847d8a6b7b9773c9672576 /src/GF/Grammar/Binary.hs
parentf2e5281602516e1c0eb4a2f69d64e6c075fb79da (diff)
restructure ResParam and ResValue
Diffstat (limited to 'src/GF/Grammar/Binary.hs')
-rw-r--r--src/GF/Grammar/Binary.hs124
1 files changed, 62 insertions, 62 deletions
diff --git a/src/GF/Grammar/Binary.hs b/src/GF/Grammar/Binary.hs
index 21adca20c..fbad5ac7e 100644
--- a/src/GF/Grammar/Binary.hs
+++ b/src/GF/Grammar/Binary.hs
@@ -89,7 +89,7 @@ instance Binary Options where
instance Binary Info where
put (AbsCat x y) = putWord8 0 >> put (x,y)
put (AbsFun x y z) = putWord8 1 >> put (x,y,z)
- put (ResParam x) = putWord8 2 >> put x
+ put (ResParam x y) = putWord8 2 >> put (x,y)
put (ResValue x) = putWord8 3 >> put x
put (ResOper x y) = putWord8 4 >> put (x,y)
put (ResOverload x y)= putWord8 5 >> put (x,y)
@@ -100,7 +100,7 @@ instance Binary Info where
case tag of
0 -> get >>= \(x,y) -> return (AbsCat x y)
1 -> get >>= \(x,y,z) -> return (AbsFun x y z)
- 2 -> get >>= \x -> return (ResParam x)
+ 2 -> get >>= \(x,y) -> return (ResParam x y)
3 -> get >>= \x -> return (ResValue x)
4 -> get >>= \(x,y) -> return (ResOper x y)
5 -> get >>= \(x,y) -> return (ResOverload x y)
@@ -122,72 +122,72 @@ instance Binary Term where
put (Vr x) = putWord8 0 >> put x
put (Cn x) = putWord8 1 >> put x
put (Con x) = putWord8 2 >> put x
- put (Sort x) = putWord8 4 >> put x
- put (EInt x) = putWord8 5 >> put x
- put (EFloat x) = putWord8 6 >> put x
- put (K x) = putWord8 7 >> put x
- put (Empty) = putWord8 8
- put (App x y) = putWord8 9 >> put (x,y)
- put (Abs x y z) = putWord8 10 >> put (x,y,z)
- put (Meta x) = putWord8 11 >> put x
- put (Prod w x y z)= putWord8 12 >> put (w,x,y,z)
- put (Typed x y) = putWord8 14 >> put (x,y)
- put (Example x y) = putWord8 15 >> put (x,y)
- put (RecType x) = putWord8 16 >> put x
- put (R x) = putWord8 17 >> put x
- put (P x y) = putWord8 18 >> put (x,y)
- put (ExtR x y) = putWord8 20 >> put (x,y)
- put (Table x y) = putWord8 21 >> put (x,y)
- put (T x y) = putWord8 22 >> put (x,y)
- put (V x y) = putWord8 24 >> put (x,y)
- put (S x y) = putWord8 25 >> put (x,y)
- put (Let x y) = putWord8 27 >> put (x,y)
- put (Q x y) = putWord8 29 >> put (x,y)
- put (QC x y) = putWord8 30 >> put (x,y)
- put (C x y) = putWord8 31 >> put (x,y)
- put (Glue x y) = putWord8 32 >> put (x,y)
- put (EPatt x) = putWord8 33 >> put x
- put (EPattType x) = putWord8 34 >> put x
- put (FV x) = putWord8 35 >> put x
- put (Alts x) = putWord8 36 >> put x
- put (Strs x) = putWord8 37 >> put x
- put (ELin x y) = putWord8 38 >> put (x,y)
+ put (Sort x) = putWord8 3 >> put x
+ put (EInt x) = putWord8 4 >> put x
+ put (EFloat x) = putWord8 5 >> put x
+ put (K x) = putWord8 6 >> put x
+ put (Empty) = putWord8 7
+ put (App x y) = putWord8 8 >> put (x,y)
+ put (Abs x y z) = putWord8 9 >> put (x,y,z)
+ put (Meta x) = putWord8 10 >> put x
+ put (Prod w x y z)= putWord8 11 >> put (w,x,y,z)
+ put (Typed x y) = putWord8 12 >> put (x,y)
+ put (Example x y) = putWord8 13 >> put (x,y)
+ put (RecType x) = putWord8 14 >> put x
+ put (R x) = putWord8 15 >> put x
+ put (P x y) = putWord8 16 >> put (x,y)
+ put (ExtR x y) = putWord8 17 >> put (x,y)
+ put (Table x y) = putWord8 18 >> put (x,y)
+ put (T x y) = putWord8 19 >> put (x,y)
+ put (V x y) = putWord8 20 >> put (x,y)
+ put (S x y) = putWord8 21 >> put (x,y)
+ put (Let x y) = putWord8 22 >> put (x,y)
+ put (Q x y) = putWord8 23 >> put (x,y)
+ put (QC x y) = putWord8 24 >> put (x,y)
+ put (C x y) = putWord8 25 >> put (x,y)
+ put (Glue x y) = putWord8 26 >> put (x,y)
+ put (EPatt x) = putWord8 27 >> put x
+ put (EPattType x) = putWord8 28 >> put x
+ put (FV x) = putWord8 29 >> put x
+ put (Alts x) = putWord8 30 >> put x
+ put (Strs x) = putWord8 31 >> put x
+ put (ELin x y) = putWord8 32 >> put (x,y)
get = do tag <- getWord8
case tag of
0 -> get >>= \x -> return (Vr x)
1 -> get >>= \x -> return (Cn x)
2 -> get >>= \x -> return (Con x)
- 4 -> get >>= \x -> return (Sort x)
- 5 -> get >>= \x -> return (EInt x)
- 6 -> get >>= \x -> return (EFloat x)
- 7 -> get >>= \x -> return (K x)
- 8 -> return (Empty)
- 9 -> get >>= \(x,y) -> return (App x y)
- 10 -> get >>= \(x,y,z) -> return (Abs x y z)
- 11 -> get >>= \x -> return (Meta x)
- 12 -> get >>= \(w,x,y,z)->return (Prod w x y z)
- 14 -> get >>= \(x,y) -> return (Typed x y)
- 15 -> get >>= \(x,y) -> return (Example x y)
- 16 -> get >>= \x -> return (RecType x)
- 17 -> get >>= \x -> return (R x)
- 18 -> get >>= \(x,y) -> return (P x y)
- 20 -> get >>= \(x,y) -> return (ExtR x y)
- 21 -> get >>= \(x,y) -> return (Table x y)
- 22 -> get >>= \(x,y) -> return (T x y)
- 24 -> get >>= \(x,y) -> return (V x y)
- 25 -> get >>= \(x,y) -> return (S x y)
- 27 -> get >>= \(x,y) -> return (Let x y)
- 29 -> get >>= \(x,y) -> return (Q x y)
- 30 -> get >>= \(x,y) -> return (QC x y)
- 31 -> get >>= \(x,y) -> return (C x y)
- 32 -> get >>= \(x,y) -> return (Glue x y)
- 33 -> get >>= \x -> return (EPatt x)
- 34 -> get >>= \x -> return (EPattType x)
- 35 -> get >>= \x -> return (FV x)
- 36 -> get >>= \x -> return (Alts x)
- 37 -> get >>= \x -> return (Strs x)
- 38 -> get >>= \(x,y) -> return (ELin x y)
+ 3 -> get >>= \x -> return (Sort x)
+ 4 -> get >>= \x -> return (EInt x)
+ 5 -> get >>= \x -> return (EFloat x)
+ 6 -> get >>= \x -> return (K x)
+ 7 -> return (Empty)
+ 8 -> get >>= \(x,y) -> return (App x y)
+ 9 -> get >>= \(x,y,z) -> return (Abs x y z)
+ 10 -> get >>= \x -> return (Meta x)
+ 11 -> get >>= \(w,x,y,z)->return (Prod w x y z)
+ 12 -> get >>= \(x,y) -> return (Typed x y)
+ 13 -> get >>= \(x,y) -> return (Example x y)
+ 14 -> get >>= \x -> return (RecType x)
+ 15 -> get >>= \x -> return (R x)
+ 16 -> get >>= \(x,y) -> return (P x y)
+ 17 -> get >>= \(x,y) -> return (ExtR x y)
+ 18 -> get >>= \(x,y) -> return (Table x y)
+ 19 -> get >>= \(x,y) -> return (T x y)
+ 20 -> get >>= \(x,y) -> return (V x y)
+ 21 -> get >>= \(x,y) -> return (S x y)
+ 22 -> get >>= \(x,y) -> return (Let x y)
+ 23 -> get >>= \(x,y) -> return (Q x y)
+ 24 -> get >>= \(x,y) -> return (QC x y)
+ 25 -> get >>= \(x,y) -> return (C x y)
+ 26 -> get >>= \(x,y) -> return (Glue x y)
+ 27 -> get >>= \x -> return (EPatt x)
+ 28 -> get >>= \x -> return (EPattType x)
+ 29 -> get >>= \x -> return (FV x)
+ 30 -> get >>= \x -> return (Alts x)
+ 31 -> get >>= \x -> return (Strs x)
+ 32 -> get >>= \(x,y) -> return (ELin x y)
_ -> decodingError
instance Binary Patt where