summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2011-12-02 09:58:18 +0000
committerkr.angelov <kr.angelov@gmail.com>2011-12-02 09:58:18 +0000
commite6135d963e101d6b7511fe11202490a09105d8f0 (patch)
tree5b03652dbf7b5fc940410a154eec46fd03c143ea /src
parent40d03d6578a6c8441bdf7aece2c5d8b0b92c5581 (diff)
missing cases in GF.Grammar.Binary
Diffstat (limited to 'src')
-rw-r--r--src/compiler/GF/Grammar/Binary.hs96
1 files changed, 51 insertions, 45 deletions
diff --git a/src/compiler/GF/Grammar/Binary.hs b/src/compiler/GF/Grammar/Binary.hs
index c46f852a1..f2653450f 100644
--- a/src/compiler/GF/Grammar/Binary.hs
+++ b/src/compiler/GF/Grammar/Binary.hs
@@ -23,7 +23,7 @@ import GF.Grammar.Grammar
import PGF.Binary
-- Please change this every time when the GFO format is changed
-gfoVersion = "GF01"
+gfoVersion = "GF02"
instance Binary Ident where
@@ -155,28 +155,31 @@ instance Binary Term where
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) = putWord8 23 >> put x
- put (QC x) = putWord8 24 >> put x
- 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 y) = putWord8 30 >> put (x,y)
- put (Strs x) = putWord8 31 >> put x
- put (ELin x y) = putWord8 32 >> put (x,y)
+ put (ImplArg x) = putWord8 11 >> put x
+ put (Prod w x y z)= putWord8 12 >> put (w,x,y,z)
+ put (Typed x y) = putWord8 13 >> put (x,y)
+ put (Example x y) = putWord8 14 >> put (x,y)
+ put (RecType x) = putWord8 15 >> put x
+ put (R x) = putWord8 16 >> put x
+ put (P x y) = putWord8 17 >> put (x,y)
+ put (ExtR x y) = putWord8 18 >> put (x,y)
+ put (Table x y) = putWord8 19 >> put (x,y)
+ put (T x y) = putWord8 20 >> put (x,y)
+ put (V x y) = putWord8 21 >> put (x,y)
+ put (S x y) = putWord8 22 >> put (x,y)
+ put (Let x y) = putWord8 23 >> put (x,y)
+ put (Q x) = putWord8 24 >> put x
+ put (QC x) = putWord8 25 >> put x
+ put (C x y) = putWord8 26 >> put (x,y)
+ put (Glue x y) = putWord8 27 >> put (x,y)
+ put (EPatt x) = putWord8 28 >> put x
+ put (EPattType x) = putWord8 29 >> put x
+ put (ELincat x y) = putWord8 30 >> put (x,y)
+ put (ELin x y) = putWord8 31 >> 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
case tag of
@@ -191,28 +194,31 @@ instance Binary Term where
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 -> return (Q x)
- 24 -> get >>= \x -> return (QC x)
- 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,y) -> return (Alts x y)
- 31 -> get >>= \x -> return (Strs x)
- 32 -> get >>= \(x,y) -> return (ELin x y)
+ 11 -> get >>= \x -> return (ImplArg x)
+ 12 -> get >>= \(w,x,y,z)->return (Prod w x y z)
+ 13 -> get >>= \(x,y) -> return (Typed x y)
+ 14 -> get >>= \(x,y) -> return (Example x y)
+ 15 -> get >>= \x -> return (RecType x)
+ 16 -> get >>= \x -> return (R x)
+ 17 -> get >>= \(x,y) -> return (P x y)
+ 18 -> get >>= \(x,y) -> return (ExtR x y)
+ 19 -> get >>= \(x,y) -> return (Table x y)
+ 20 -> get >>= \(x,y) -> return (T x y)
+ 21 -> get >>= \(x,y) -> return (V x y)
+ 22 -> get >>= \(x,y) -> return (S x y)
+ 23 -> get >>= \(x,y) -> return (Let x y)
+ 24 -> get >>= \x -> return (Q x)
+ 25 -> get >>= \x -> return (QC x)
+ 26 -> get >>= \(x,y) -> return (C x y)
+ 27 -> get >>= \(x,y) -> return (Glue x y)
+ 28 -> get >>= \x -> return (EPatt x)
+ 29 -> get >>= \x -> return (EPattType x)
+ 30 -> get >>= \(x,y) -> return (ELincat x y)
+ 31 -> 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
instance Binary Patt where