mini-ml-0.1.0.0: MiniML compiler
Safe HaskellSafe-Inferred
LanguageHaskell2010

Parser.Lexer

Synopsis

Basic lexer parts

type Parser = Parsec Void Text Source #

Parser monad.

sc :: Parser () Source #

Space consumer, parses whitespace and comments.

lexeme :: Parser a -> Parser a Source #

Lexeme, automatically parses trailing whitespace and comments.

symbol :: Text -> Parser Text Source #

Symbol, automatically parses trailing whitespace and comments.

Symbols

colon :: Parser Text Source #

Colon parser.

semicolon2 :: Parser Text Source #

Double semicolon parser.

arrow :: Parser Text Source #

Arrow parser.

eq :: Parser Text Source #

Equality parser.

leftPar :: Parser Text Source #

Left parenthesis parser.

rightPar :: Parser Text Source #

Right parenthesis parser.

Literals

unitLitP :: Parser Text Source #

Unit literal parser.

boolLitP :: Parser Bool Source #

Boolean literal parser.

intLitP :: Parser Int64 Source #

Decimal integer literal parser.

Identifiers and keywords

Identifier

Keywords

kwLet :: Parser Text Source #

let keyword parser.

kwRec :: Parser Text Source #

rec keyword parser.

kwIn :: Parser Text Source #

in keyword parser.

kwIf :: Parser Text Source #

if keyword parser.

kwThen :: Parser Text Source #

then keyword parser.

kwElse :: Parser Text Source #

else keyword parser.

kwFun :: Parser Text Source #

fun keyword parser.

kwUnit :: Parser Text Source #

unit keyword parser.

kwBool :: Parser Text Source #

bool keyword parser.

kwInt :: Parser Text Source #

int keyword parser.