]> Git — Sourcephile - haskell/symantic-parser.git/blob - parsers/Parsers/Brainfuck/Types.hs
machine: add another joinNext optimization when Jump is next
[haskell/symantic-parser.git] / parsers / Parsers / Brainfuck / Types.hs
1 {-# LANGUAGE DeriveAnyClass #-}
2 {-# LANGUAGE DeriveGeneric #-}
3 {-# LANGUAGE DeriveLift #-}
4 module Parsers.Brainfuck.Types where
5
6 import Control.DeepSeq (NFData)
7 import Data.Eq (Eq(..))
8 import Data.Function (($), (.))
9 import Data.Functor.Identity (Identity(..))
10 import GHC.Generics (Generic)
11 import Text.Show (Show(..))
12 import qualified Language.Haskell.TH as TH
13 import qualified Language.Haskell.TH.Syntax as TH
14 import Symantic.Parser
15
16 data Instruction
17 = Forward
18 | Backward
19 | Increment
20 | Decrement
21 | Input
22 | Output
23 | Loop [Instruction]
24 deriving (Show, Eq, TH.Lift, Generic, NFData)