module Language.CSPM.Frontend
(
testFrontend
,parseFile
,Token
,Lexer.lexInclude
,Lexer.lexPlain
,Lexer.filterIgnoredToken
,LexError(..)
,parse
,ParseError(..)
,Module
,LModule
,Labeled(..)
,Bindings
,getRenaming
,applyRenaming
,removeSourceLocations
,removeParens
,removeModuleTokens
,unUniqueIdent
,showAst
,relabelAst
,computeFreeNames
,RenameError(..)
,eitherToExc
,handleLexError
,handleParseError
,handleRenameError
,compilePattern
,version
,pp
)
where
import Language.CSPM.Parser (ParseError(..),parse)
import Language.CSPM.Rename (RenameError(..),getRenaming,applyRenaming)
import Language.CSPM.PatternCompiler (compilePattern)
import Language.CSPM.Token (Token,LexError(..))
import Language.CSPM.AST (Labeled(..),LModule,Module(..),Bindings)
import Language.CSPM.AstUtils
(removeSourceLocations,removeModuleTokens,removeParens,relabelAst
,unUniqueIdent,showAst,computeFreeNames)
import qualified Language.CSPM.LexHelper as Lexer
(lexInclude,lexPlain,filterIgnoredToken)
import Language.CSPM.Version
import Language.CSPM.PrettyPrinter (pp)
import Language.CSPM.Utils
(eitherToExc,handleLexError,handleParseError,handleRenameError
,parseFile,testFrontend)