Parse module
This module allows simple String parsers to be written. The aim of this module is for ease of use, not efficiency.
input = "abc def ghi. ";
try {
st = initial(input);
words = list(word,st);
sentenceend = char('.',st);
end(st);
} catch(e) {
putStrLn("Parse error!");
}
Type Synonyms
Parser=a(ParseState)
Data types
- Parse::ParseResult<a> - Parse result
- Parse::ParseState - The current state of the string being parsed.
Exceptions
- EndOfInput - End of input
- ExpectedAlphaNum - Expected an alphanumeric character
- ExpectedChar - Expected a character
- ExpectedDigit - Expected a digit
- ExpectedLetter - Expected a letter
- GenericError - Generic parse error
- IdentError - Identifier error
- IntError - Integer error
- NoEndOfInput - No end of input
- UnexpectedChar - Didn't expect that character
- WordError - Word error
Functions
- Char alphaNum(var ParseState st) - Parse an alphanumeric character.
- a alternatives([Parser<a> ] alts,var ParseState st) - Parse a string using a set of parsers.
- Char anyChar(var ParseState st) - Parse a character.
- Char char(Char c,var ParseState st) - Parse a specific character.
- [a] delimList(Parser<a> parser,var ParseState st,Parser<any> delim,Int n=0) - Parse a list of items out of a String
- Char digit(var ParseState st) - Parse a digit.
- Void end(var ParseState st) - Parse the end of input.
- String identifier(var ParseState st) - Parse an identifier.
- ParseState initial(String x) - Construct an initial parse state
- Int integer(var ParseState st) - Parse an integer.
- a keyword(String keyword,a meaning,var ParseState st) - Parse a specific keyword
- Char letter(var ParseState st) - Parse a letter.
- [a] list(Parser<a> parser,var ParseState st,Int n=0) - Parse a list of items out of a String
- [a] list1(Parser<a> parser,var ParseState st) - Parse a string into a list of at least 1 item.
- Maybe<a> optional(Parser<a> parse,var ParseState st) - Parse a string optionally.
- Parser<a> or(Parser<a> x,Parser<a> y) - Create a new parser which is the combination of the arguments.
- ParseResult<a> parse(Parser<a> parser,String input) - Run a parser on an input.
- Char pred(Bool(Char) p,var ParseState st) - Parse a character predicate.
- String regex(String regexp,var ParseState st) - Parse for a regular expression.
- String string(Bool(String) strfun,var ParseState st) - Parse to match a predicate.
- Void whitespace(var ParseState st) - Swallow a block of whitespace.
- String word(var ParseState st) - Parse a word.