Polish comments.
[haskell/symantic.git] / symantic-grammar / Language / Symantic / Grammar / Test.hs
index 4573766f33189ec7861d28e4f9a74727125657d1..14a219476cdd502d86747947750d61f728de99d0 100644 (file)
@@ -6,13 +6,13 @@ import Test.Tasty
 import Test.Tasty.HUnit
 
 import Control.Applicative (Applicative(..))
-import qualified Control.Applicative as Alt
 import Control.Monad
-import qualified Data.Char as Char
 import Data.Semigroup ((<>))
 import Data.String (IsString(..))
-import qualified Data.Text as Text
 import Prelude hiding (any, (^), exp)
+import qualified Control.Applicative as Gram_AltApp
+import qualified Data.Char as Char
+import qualified Data.Text as Text
 import qualified Text.Megaparsec as P
 
 import Language.Symantic.Grammar
@@ -32,27 +32,23 @@ instance ParsecC e s => Gram_Terminal (P.ParsecT e s m) where
                where cats = unicode_categories cat
        range (l, h) = P.satisfy $ \c -> l <= c && c <= h
        but (Terminal f) (Terminal p) = Terminal $ P.notFollowedBy (P.try p) *> f
-instance ParsecC e s => Alter (P.ParsecT e s m) where
-       empty  = Alt.empty
-       (<+>)  = (Alt.<|>)
+instance ParsecC e s => Gram_Alt (P.ParsecT e s m) where
+       empty  = Gram_AltApp.empty
+       (<+>)  = (Gram_AltApp.<|>)
        choice = P.choice
-instance ParsecC e s => Try (P.ParsecT e s m) where
+instance ParsecC e s => Gram_Try (P.ParsecT e s m) where
        try = P.try
 instance ParsecC e s => Gram_RegR (P.ParsecT e s m) where
        Terminal f .*> Reg x = Reg $ f <*> x
 instance ParsecC e s => Gram_RegL (P.ParsecT e s m) where
        Reg f <*. Terminal x = Reg $ f <*> x
-instance ParsecC e s => App (P.ParsecT e s m)
-instance ParsecC e s => Alt (P.ParsecT e s m)
+instance ParsecC e s => Gram_App (P.ParsecT e s m)
+instance ParsecC e s => Gram_AltApp (P.ParsecT e s m)
 instance ParsecC e s => Gram_CF (P.ParsecT e s m) where
        CF f <& Reg p      = CF $ P.lookAhead f <*> p
        Reg f &> CF p      = CF $ P.lookAhead f <*> p
        CF f `minus` Reg p = CF $ P.notFollowedBy (P.try p) *> f
-instance ParsecC e s => Gram_Meta P.SourcePos (P.ParsecT e s m) where
-       metaG p = do
-               pos <- P.getPosition
-               ($ pos) <$> p
-instance ParsecC e s => Gram_Lexer (P.ParsecT e s m)
+instance ParsecC e s => Gram_Comment (P.ParsecT e s m)
 
 elide :: Text.Text -> String
 elide s | Text.length s > 42 = take 42 (Text.unpack s) <> ['…']