ivory-0.1.0.9: Safe embedded C programming.

Safe HaskellSafe
LanguageHaskell2010

Ivory.Language.Syntax.Concrete.ParseAST

Synopsis

Documentation

data IncludeProc Source #

We distinguish the name used from the name imported so the same symbol can be used twice at different types. (E.g., printf).

Constructors

IncludeProc 

Fields

data Type Source #

Constructors

TyVoid

Unit type

TyInt IntSize

Signed ints

TyWord WordSize

Unsigned ints

TyBool

Booleans

TyChar

Characters

TyFloat

Floats

TyDouble

Doubles XXX | TyPtr Type -- ^ Pointers

TyIx Integer

Index type

TyString

Static strings

TyStored Type

References

TyStruct String

Structures

TyArray Type SzType

Arrays of fixed length (can be a macro or integer)

TyRef Scope Type

References

TyConstRef Scope Type

Constant References

TySynonym String

Type synonym

LocTy (Located Type) 
Instances
Eq Type Source # 
Instance details

Defined in Ivory.Language.Syntax.Concrete.ParseAST

Methods

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

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

Ord Type Source # 
Instance details

Defined in Ivory.Language.Syntax.Concrete.ParseAST

Methods

compare :: Type -> Type -> Ordering #

(<) :: Type -> Type -> Bool #

(<=) :: Type -> Type -> Bool #

(>) :: Type -> Type -> Bool #

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

max :: Type -> Type -> Type #

min :: Type -> Type -> Type #

Read Type Source # 
Instance details

Defined in Ivory.Language.Syntax.Concrete.ParseAST

Show Type Source # 
Instance details

Defined in Ivory.Language.Syntax.Concrete.ParseAST

Methods

showsPrec :: Int -> Type -> ShowS #

show :: Type -> String #

showList :: [Type] -> ShowS #

HasLocation Type Source # 
Instance details

Defined in Ivory.Language.Syntax.Concrete.ParseAST

data Scope Source #

Constructors

Stack (Maybe TypeVar)

Stack allocated. If no type variable is provided, a fresh one is constructed.

Global

Globally allocated

PolyMem (Maybe TypeVar)

Either allocation. If no type variable is provided, a fresh one is constructed.

data ExpOp Source #

data BitTy Source #

Basic type representation allowed in bit definitions.

data BitField Source #

A record-like field defined within a "bitdata" constructor. If the name is an underscore, we name it with Nothing.