curry-base-1.1.1: Functions for manipulating Curry programs
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

Instances details
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

Methods

isEOF :: Token -> Bool Source #

dist :: Int -> Token -> Distance Source #

data Attributes Source #

Attributes associated to a token

Constructors

NoAttributes 
CharAttributes 

Fields

IntAttributes 

Fields

FloatAttributes 

Fields

StringAttributes 

Fields

IdentAttributes 

Fields

OptionsAttributes 

Fields

Instances

Instances details
Show Attributes Source # 
Instance details

Defined in Curry.Syntax.Lexer

Methods

showsPrec :: Int -> Attributes -> ShowS

show :: Attributes -> String

showList :: [Attributes] -> ShowS

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.

parseInterface :: FilePath -> String -> CYM Interface Source #

Parse a Curry Interface

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

ppModule :: Module a -> Doc Source #

Pretty print a module

ppInterface :: Interface -> Doc Source #

Pretty print an interface

ppIDecl :: IDecl -> Doc Source #

Pretty print an interface declaration

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

Show a Curry module like by an devired Show instance