curry-frontend-2.0.0: Compile the functional logic language Curry to several intermediate formats

Copyright(c) 2009 Holger Siegel
2011 - 2013 Björn Peemöller
2016 Finn Teegen
2016 Jan Tikovsky
LicenseBSD-3-clause
Maintainerbjp@informatik.uni-kiel.de
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Curry.Syntax

Description

 
Synopsis

Documentation

data Token Source #

Data type for curry lexer tokens

Constructors

Token Category Attributes 
Instances
Eq Token Source # 
Instance details

Defined in Curry.Syntax.Lexer

Methods

(==) :: Token -> Token -> Bool #

(/=) :: Token -> Token -> Bool #

Ord Token Source # 
Instance details

Defined in Curry.Syntax.Lexer

Methods

compare :: Token -> Token -> Ordering #

(<) :: Token -> Token -> Bool #

(<=) :: Token -> Token -> Bool #

(>) :: Token -> Token -> Bool #

(>=) :: Token -> Token -> Bool #

max :: Token -> Token -> Token #

min :: Token -> Token -> Token #

Show Token Source # 
Instance details

Defined in Curry.Syntax.Lexer

Methods

showsPrec :: Int -> Token -> ShowS #

show :: Token -> String #

showList :: [Token] -> ShowS #

Symbol Token Source # 
Instance details

Defined in Curry.Syntax.Lexer

data Attributes Source #

Attributes associated to a token

Instances
Show Attributes Source # 
Instance details

Defined in Curry.Syntax.Lexer

unlit :: FilePath -> String -> CYM String Source #

Unliterate a LiterateCurry file, identity on normal Curry file.

unlitLexSource :: FilePath -> String -> CYM [(Span, Token)] Source #

Unliterate and return the result of a lexical analysis of the source program src. The result is a list of tuples consisting of a Span and a Token.

unlitParseHeader :: FilePath -> String -> CYM (Module ()) Source #

Unliterate and parse a Curry Module header

unlitParsePragmas :: FilePath -> String -> CYM (Module ()) Source #

Unliterate and parse only pragmas of a Curry Module

unlitParseModule :: FilePath -> String -> CYM (Module ()) Source #

Unliterate and parse a Curry Module

lexSource :: FilePath -> String -> CYM [(Span, Token)] Source #

Return the result of a lexical analysis of the source program src. The result is a list of tuples consisting of a Span and a Token.

parseHeader :: FilePath -> String -> CYM (Module ()) Source #

Parse a Curry Module header

parsePragmas :: FilePath -> String -> CYM (Module ()) Source #

Parse only pragmas of a Curry Module

parseModule :: FilePath -> String -> CYM (Module ()) Source #

Parse a Curry Module

parseGoal :: String -> CYM (Goal ()) Source #

Parse a Goal, i.e. an expression with (optional) local declarations

pPrint :: Pretty a => a -> Doc Source #

Pretty-print something in isolation.

pPrintPrec :: Pretty a => Int -> a -> Doc Source #

Pretty-print something in a precedence context.

showModule :: Show a => Module a -> String Source #

Show a Curry module like by an devired Show instance