CSPM-Frontend-0.10.0.0: A CSP-M parser compatible with FDR-2.91

Copyright(c) Fontaine 2008 - 2012
LicenseBSD3
MaintainerFontaine@cs.uni-duesseldorf.de
Stabilityexperimental
PortabilityGHC-only
Safe HaskellNone
LanguageHaskell2010

Language.CSPM.AST

Description

This module defines an Abstract Syntax Tree for CSPM. This is the AST that is computed by the parser. For historical reasons, it is rather unstructured.

Synopsis

Documentation

data Labeled t Source

Constructors

Labeled 

Fields

nodeId :: NodeId
 
srcLoc :: SrcLoc
 
unLabel :: t
 

Instances

Eq t => Eq (Labeled t) 
Data t => Data (Labeled t) 
Ord t => Ord (Labeled t) 
Show t => Show (Labeled t) 
Generic (Labeled t) 
Pretty x => Pretty (Labeled x) 
Typeable (* -> *) Labeled 
type Rep (Labeled t) 

labeled :: t -> Labeled t Source

Wrap a node with a dummyLabel. todo: Redo we need a specal case in DataConstructor Labeled.

setNode :: Labeled t -> y -> Labeled y Source

data Module a Source

Instances

Eq (Module a) 
Data a => Data (Module a) 
Ord (Module a) 
Show (Module a) 
Generic (Module a) 
Pretty (Module a) 
Typeable (* -> *) Module 
type Rep (Module a) 

data Link Source

Constructors

Link LExp LExp 

withLabel :: (NodeId -> a -> b) -> Labeled a -> Labeled b Source