Copyright | (c) 2017 Dominic Orchard Andrew Rice Mistral Contrastin Matthew Danish |
---|---|
License | Apache-2.0 |
Maintainer | dom.orchard@gmail.com |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Defines the StencilAnnotation
datatype, which is used for annotating a
ProgramFile
with stencil information.
Synopsis
- data StencilAnnotation a
- type SA = Analysis (StencilAnnotation A)
- mkStencilAnnotation :: a -> StencilAnnotation a
- getAstSpec :: SA -> Maybe SpecDecls
- getParseSpec :: SA -> Maybe Specification
- getRegionSpec :: SA -> Maybe RegionDecl
- getStencilBlock :: SA -> Maybe (Block SA)
- giveAstSpec :: SpecDecls -> SA -> SA
- giveParseSpec :: Specification -> SA -> SA
- giveRegionSpec :: RegionDecl -> SA -> SA
- getBaseAnnotation :: SA -> A
- modifyBaseAnnotation :: (A -> A) -> SA -> SA
Documentation
data StencilAnnotation a Source #
Instances
type SA = Analysis (StencilAnnotation A) Source #
Convenience name for common annotation type.
mkStencilAnnotation :: a -> StencilAnnotation a Source #
Create a new stencil annotation.
Specification Annotation Helpers
getParseSpec :: SA -> Maybe Specification Source #
Retrieve a parsed specification from an annotation.
getRegionSpec :: SA -> Maybe RegionDecl Source #
Retrieve a region environment from an annotation.
giveAstSpec :: SpecDecls -> SA -> SA Source #
Set the annotation's stencil specification to a normalized specification.
giveParseSpec :: Specification -> SA -> SA Source #
Set the annotation's stencil specification to a parsed specification.
giveRegionSpec :: RegionDecl -> SA -> SA Source #
Set the annotation's stencil specification to a region alias.
Base Annotation
getBaseAnnotation :: SA -> A Source #
Retrieve the underlying (base) annotation from a stencil annotation.