helpa-0.4.5.3: HELPA - Heavenly Esoteric Little Portable Assembler to esoteric languages

Safe Haskell | None
Language | Haskell2010

HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

# Documentation

nonExpression :: Item -> Bool #

isExpression :: Item -> Bool #

execPM :: Num a => PM -> a -> a -> a #

makeDataInstructionFromIntegerValue :: IntegerValue -> Instruction #

makeCodeInstructionFromIntegerValueList :: [IntegerValue] -> Instruction #

makeDataInstruction :: ItemList -> Instruction #

makeCodeInstruction :: ItemList -> Instruction #

makeItemFromIntegerValue :: IntegerValue -> Item #

makeCurrentAddress :: Expression #

makeNextAddress :: Expression #

makePrevAddress :: Expression #

makeOne :: Expression #

makeExpressionFromChar :: Char -> Expression #

makeExpressionFromIdentifier :: Identifier -> Expression #

makeExpressionFromInteger :: Integer -> Expression #

makeExpressionFromIntegerValue :: IntegerValue -> Expression #

makeExpressionWithoutPM :: Term -> Expression #

makeExpressionWithPM :: PMExpression -> Term -> Expression #

makeExpression :: Maybe PMExpression -> Term -> Expression #

type InstructionList = [Instruction] #

data Instruction #

Constructors

Instruction InstructionType !ItemList |

#### Instances

Instances details

Eq Instruction # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

(==) :: Instruction -> Instruction -> Bool #

(/=) :: Instruction -> Instruction -> Bool #

Read Instruction # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

readsPrec :: Int -> ReadS Instruction #

readList :: ReadS [Instruction] #

readPrec :: ReadPrec Instruction #

readListPrec :: ReadPrec [Instruction] #

Show Instruction # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

showsPrec :: Int -> Instruction -> ShowS #

show :: Instruction -> String #

showList :: [Instruction] -> ShowS #

data InstructionType #

Constructors

Data |
Code |

#### Instances

Instances details

Bounded InstructionType # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

minBound :: InstructionType #

maxBound :: InstructionType #

Enum InstructionType # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

succ :: InstructionType -> InstructionType #

pred :: InstructionType -> InstructionType #

toEnum :: Int -> InstructionType #

fromEnum :: InstructionType -> Int #

enumFrom :: InstructionType -> [InstructionType] #

enumFromThen :: InstructionType -> InstructionType -> [InstructionType] #

enumFromTo :: InstructionType -> InstructionType -> [InstructionType] #

enumFromThenTo :: InstructionType -> InstructionType -> InstructionType -> [InstructionType] #

Eq InstructionType # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

(==) :: InstructionType -> InstructionType -> Bool #

(/=) :: InstructionType -> InstructionType -> Bool #

Read InstructionType # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

readsPrec :: Int -> ReadS InstructionType #

readList :: ReadS [InstructionType] #

readPrec :: ReadPrec InstructionType #

readListPrec :: ReadPrec [InstructionType] #

Show InstructionType # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

showsPrec :: Int -> InstructionType -> ShowS #

show :: InstructionType -> String #

showList :: [InstructionType] -> ShowS #

type ItemList = [Item] #

data Item #

Constructors

ItemLabel Label |
ItemExpression Expression |
ItemString String |

#### Instances

Instances details

Eq Item # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

(==) :: Item -> Item -> Bool #

(/=) :: Item -> Item -> Bool #

Read Item # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

readsPrec :: Int -> ReadS Item #

readList :: ReadS [Item] #

readPrec :: ReadPrec Item #

readListPrec :: ReadPrec [Item] #

Show Item # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

showsPrec :: Int -> Item -> ShowS #

show :: Item -> String #

showList :: [Item] -> ShowS #

type LabelList = [Label] #

type Label = Identifier #

type ExpressionWithSymbol = WithSymbol Expression #

type ExpressionList = [Expression] #

data Expression #

Constructors

Expression !(Maybe PMExpression) !Term |

#### Instances

Instances details

Eq Expression # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

(==) :: Expression -> Expression -> Bool #

(/=) :: Expression -> Expression -> Bool #

Read Expression # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

readsPrec :: Int -> ReadS Expression #

readList :: ReadS [Expression] #

readPrec :: ReadPrec Expression #

readListPrec :: ReadPrec [Expression] #

Show Expression # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

showsPrec :: Int -> Expression -> ShowS #

show :: Expression -> String #

showList :: [Expression] -> ShowS #

data PMExpression #

Constructors

PMExpression !PM !Expression |

#### Instances

Instances details

Eq PMExpression # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

(==) :: PMExpression -> PMExpression -> Bool #

(/=) :: PMExpression -> PMExpression -> Bool #

Read PMExpression # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

readsPrec :: Int -> ReadS PMExpression #

readList :: ReadS [PMExpression] #

readPrec :: ReadPrec PMExpression #

readListPrec :: ReadPrec [PMExpression] #

Show PMExpression # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

showsPrec :: Int -> PMExpression -> ShowS #

show :: PMExpression -> String #

showList :: [PMExpression] -> ShowS #

data PM #

Constructors

Plus |
Minus |

#### Instances

Instances details

Bounded PM # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

minBound :: PM #

maxBound :: PM #

Enum PM # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

succ :: PM -> PM #

pred :: PM -> PM #

toEnum :: Int -> PM #

fromEnum :: PM -> Int #

enumFrom :: PM -> [PM] #

enumFromThen :: PM -> PM -> [PM] #

enumFromTo :: PM -> PM -> [PM] #

enumFromThenTo :: PM -> PM -> PM -> [PM] #

Eq PM # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

(==) :: PM -> PM -> Bool #

(/=) :: PM -> PM -> Bool #

Read PM # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

readsPrec :: Int -> ReadS PM #

readList :: ReadS [PM] #

readPrec :: ReadPrec PM #

readListPrec :: ReadPrec [PM] #

Show PM # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

showsPrec :: Int -> PM -> ShowS #

show :: PM -> String #

showList :: [PM] -> ShowS #

data Term #

Constructors

TermSymbol IntegerValue |
TermQuestionMark |
TermMinus !Term |
TermExpression !Expression |

#### Instances

Instances details

Eq Term # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

(==) :: Term -> Term -> Bool #

(/=) :: Term -> Term -> Bool #

Read Term # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

readsPrec :: Int -> ReadS Term #

readList :: ReadS [Term] #

readPrec :: ReadPrec Term #

readListPrec :: ReadPrec [Term] #

Show Term # |
Instance details

Defined in HelVM.HelPA.Assemblers.Backend.ASQ.EsoLangs.Instruction

Methods

showsPrec :: Int -> Term -> ShowS #

show :: Term -> String #

showList :: [Term] -> ShowS #