Hets - the Heterogeneous Tool Set

Copyright(c) Dominik Dietrich, Ewaryst Schulz, DFKI Bremen 2011
LicenseGPLv2 or higher, see LICENSE.txt
MaintainerEwaryst.Schulz@dfki.de
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred

CSL.ASUtils

Description

Utils to create and access abstract syntax data

Synopsis

Documentation

mkVar :: String -> EXPRESSION

A variable constructor

mkOp :: String -> [EXPRESSION] -> EXPRESSION

A simple operator constructor from given operator name and arguments

mkPredefOp :: OPNAME -> [EXPRESSION] -> EXPRESSION

A simple operator constructor from given operator id and arguments

mkUserdefOp :: String -> [EXTPARAM] -> [EXPRESSION] -> Range -> EXPRESSION

A simple operator constructor from given operator id and arguments

mkAndAnalyzeOp'

Arguments

:: OperatorState st 
=> Bool

process binders

-> st 
-> String 
-> [EXTPARAM] 
-> [EXPRESSION] 
-> Range 
-> Either String EXPRESSION 

Lookup the string in the given OperatorState

setOfUserDefined :: EXPRESSION -> Set String

Returns a set of user defined constants ignoring EXTPARAM instantiation.

setOfConstsAndEPSpecs :: EXPRESSION -> (Set String, Set EXTPARAM)

Returns a set of user defined constants and EXTPARAM specifications.