Polish comments.
[haskell/symantic.git] / symantic-grammar / Language / Symantic / Grammar / ContextFree.hs
index 6d44ed9dce0a4e97c575b3d5d273227f28ab8daf..5a247ff6746a1ae2c28822ba7d69ffada00cd50f 100644 (file)
@@ -7,8 +7,7 @@ import Data.Semigroup (Semigroup(..))
 import Data.String (IsString(..))
 import Prelude hiding (any)
 
-import Language.Symantic.Grammar.Source
-import Language.Symantic.Grammar.Error
+import Language.Symantic.Grammar.Meta
 import Language.Symantic.Grammar.Fixity
 import Language.Symantic.Grammar.EBNF
 import Language.Symantic.Grammar.Terminal
@@ -18,13 +17,16 @@ import Language.Symantic.Grammar.Regular
 -- | Context-free grammar.
 newtype CF g a = CF { unCF :: g a }
  deriving (IsString, Functor, Gram_Terminal, Applicative, Gram_App)
-deriving instance Gram_Alt    g => Gram_Alt    (CF g)
-deriving instance Gram_Try    g => Gram_Try    (CF g)
+deriving instance Gram_Error err g => Gram_Error err (CF g)
+deriving instance Gram_Reader st g => Gram_Reader st (CF g)
+deriving instance Gram_State st g => Gram_State st (CF g)
+deriving instance Gram_Alt g => Gram_Alt (CF g)
+deriving instance Gram_Try g => Gram_Try (CF g)
 deriving instance Gram_AltApp g => Gram_AltApp (CF g)
-deriving instance Gram_Rule   g => Gram_Rule   (CF g)
-deriving instance Gram_RegL   g => Gram_RegL   (CF g)
-deriving instance Gram_RegR   g => Gram_RegR   (CF g)
-deriving instance Gram_CF     g => Gram_CF     (CF g)
+deriving instance Gram_Rule g => Gram_Rule (CF g)
+deriving instance Gram_RegL g => Gram_RegL (CF g)
+deriving instance Gram_RegR g => Gram_RegR (CF g)
+deriving instance Gram_CF g => Gram_CF (CF g)
 deriving instance Gram_CF RuleEBNF
 deriving instance Gram_RuleEBNF g => Gram_RuleEBNF (CF g)
 instance Gram_CF EBNF where
@@ -40,9 +42,6 @@ instance Gram_CF EBNF where
                CF $ EBNF $ \bo po -> parenInfix po op $
                f bo (op, SideL) <> " - " <> g bo (op, SideR)
                where op = infixL 6
-instance Gram_Meta meta g => Gram_Meta meta (CF g) where
-       withMeta = CF . withMeta . unCF
-deriving instance Gram_Error err g => Gram_Error err (CF g)
 
 cf_of_Terminal :: Terminal g a -> CF g a
 cf_of_Terminal (Terminal g) = CF g