{-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE ViewPatterns #-} -- for Symantic.Parser's TemplateHaskell {-# LANGUAGE MagicHash #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE UnboxedTuples #-} {-# OPTIONS_GHC -Wno-unused-matches #-} {-# OPTIONS_GHC -Wno-unused-local-binds #-} module Parsers.Brainfuck.SymanticParser.AutoSplice where import Data.Either (Either) import qualified Data.ByteString as BS import qualified Symantic.Parser as SP import qualified GHC.Word import Parsers.Brainfuck.SymanticParser.Grammar (grammar, reproGrammar) import Parsers.Brainfuck.Types (Instruction) parserByteString :: BS.ByteString -> Either (SP.ParsingError BS.ByteString) [Instruction] parserByteString = $$(SP.runParser @BS.ByteString grammar) {- parserByteStringRepro :: BS.ByteString -> Either (SP.ParsingError BS.ByteString) [GHC.Word.Word8] parserByteStringRepro = $$(SP.runParser @BS.ByteString reproGrammar) -}