copyright: comply with REUSE-3.0
[haskell/symantic-parser.git] / parsers / Parsers / Brainfuck / SymanticParser / Grammar.hs
index 3636ae9948364677cf8f776e2c652cc5044cbd1e..87e1782f3b538e2c5171d720bbbd275b327b2d3b 100644 (file)
@@ -7,13 +7,9 @@ module Parsers.Brainfuck.SymanticParser.Grammar where
 
 import Data.Char (Char)
 import Data.Function ((.))
-import qualified Language.Haskell.TH.Syntax as TH
 import qualified Prelude
-import Data.Functor.Product (Product(..))
 
-import Symantic.Univariant.Trans
 import qualified Symantic.Parser as SP
-import qualified Symantic.Univariant.Lang as H
 
 import Parsers.Utils
 import Parsers.Brainfuck.Types
@@ -33,8 +29,8 @@ grammar = whitespace SP.*> bf
   lexeme p = p SP.<* whitespace
   bf :: repr [Instruction]
   bf = SP.many (lexeme (SP.match (SP.look (SP.item @tok))
-                               (SP.prod . coerceEnum Prelude.<$> "<>+-,.[")
-                               op SP.empty))
+                                 (SP.prod . coerceEnum Prelude.<$> "<>+-,.[")
+                                 op SP.empty))
   op :: SP.Production tok -> repr Instruction
   op prod = case coerceEnum (SP.runValue prod) of
     '<' -> SP.item @tok SP.$> SP.prod Backward
@@ -47,10 +43,3 @@ grammar = whitespace SP.*> bf
                       (SP.token (coerceEnum @_ @tok ']'))
                       ($(SP.prodCon 'Loop) SP.<$> bf)
     _ -> Prelude.undefined
-
-reproGrammar :: forall tok repr.
-  CoerceEnum Char tok =>
-  CoerceEnum tok Char =>
-  SP.Grammarable tok repr =>
-  repr [tok]
-reproGrammar = SP.many (SP.item @tok)