LabelSet from package 'language-ecmascript-analysis'
Label-set analysis which annotates all the statements in the script with their label sets according to ECMAScript specification, section 12.12. The result of this analysis are useful for building control-flow graphs.
|:: Data a|
|=> (a -> Set Label)|
annotation read function
|-> (Set Label -> a -> a)|
annotation write function
the script to annotate
Annotates statements with their label sets; example use:
let jsa = reannotate (\a -> (a, Set.empty))
in annotateLabelSets jsa snd (\labs (a, ls) -> (a, labs `Set.union` ls))