]> Git — Sourcephile - haskell/symantic-parser.git/blob - parsers/Parsers/Brainfuck/SymanticParser/AutoSplice.hs
replace ValueCode by Production
[haskell/symantic-parser.git] / parsers / Parsers / Brainfuck / SymanticParser / AutoSplice.hs
1 {-# LANGUAGE AllowAmbiguousTypes #-}
2 {-# LANGUAGE ScopedTypeVariables #-}
3 {-# LANGUAGE TemplateHaskell #-}
4 {-# LANGUAGE TypeApplications #-}
5 {-# LANGUAGE ViewPatterns #-}
6 -- for Symantic.Parser's TemplateHaskell
7 {-# LANGUAGE MagicHash #-}
8 {-# LANGUAGE ScopedTypeVariables #-}
9 {-# LANGUAGE RankNTypes #-}
10 {-# LANGUAGE UnboxedTuples #-}
11 {-# OPTIONS_GHC -Wno-unused-matches #-}
12 {-# OPTIONS_GHC -Wno-unused-local-binds #-}
13 module Parsers.Brainfuck.SymanticParser.AutoSplice where
14
15 import Data.Either (Either)
16 import qualified Data.ByteString as BS
17 import qualified Symantic.Parser as SP
18 import qualified GHC.Word
19
20 import Parsers.Brainfuck.SymanticParser.Grammar (grammar, reproGrammar)
21 import Parsers.Brainfuck.Types (Instruction)
22
23 parserByteString :: BS.ByteString -> Either (SP.ParsingError BS.ByteString) [Instruction]
24 parserByteString = $$(SP.runParser @BS.ByteString grammar)
25
26 {-
27 parserByteStringRepro :: BS.ByteString -> Either (SP.ParsingError BS.ByteString) [GHC.Word.Word8]
28 parserByteStringRepro = $$(SP.runParser @BS.ByteString reproGrammar)
29 -}