nano-js-0.1.0.0: Small Language for Implementing Verification Algorithms

Safe HaskellNone

Language.Nano.SSA.SSAMonad

Contents

Description

SSA Monad ----------------------------------------------------------------------

Synopsis

SSA Information

newtype SsaInfo Source

Constructors

SI (Id SourcePos) 

Instances

SSA Monad

type SSAM = ErrorT String (State SsaState)Source

ssaError :: SourcePos -> String -> SSAM aSource

execute :: SSAM a -> Either (SourcePos, String) aSource

SSA Environment

updSsaEnv :: SourcePos -> Id SourcePos -> SSAM (Id SourcePos)Source

extSsaEnv :: [Id SourcePos] -> SsaEnv -> SsaEnvSource

findSsaEnv :: Id SourcePos -> SSAM (Maybe (Id SourcePos))Source

Access Annotations

addAnn :: SourcePos -> Fact -> SSAM ()Source

Immutable Variables

isImmutable :: Id SourcePos -> SSAM BoolSource