parsley

Types

pub type Parser(a) =
  fn(String) -> ParserResult(a)
pub type ParserError {
  ParserError(String)
  RegexError(String)
}

Constructors

  • ParserError(String)
  • RegexError(String)
pub type ParserResult(a) =
  Result(ParserState(a), ParserError)
pub type ParserState(a) {
  ParserState(match: a, rest: String)
}

Constructors

  • ParserState(match: a, rest: String)

Functions

pub fn alpha(
  input: String,
) -> Result(ParserState(String), ParserError)
pub fn alpha_digit(
  input: String,
) -> Result(ParserState(String), ParserError)
pub fn alpha_digit_one(
  input: String,
) -> Result(ParserState(String), ParserError)
pub fn alpha_one(
  input: String,
) -> Result(ParserState(String), ParserError)
pub fn chain(
  parser: fn(String) -> Result(ParserState(a), ParserError),
  transformer: fn(ParserState(a)) ->
    Result(ParserState(b), ParserError),
) -> fn(String) -> Result(ParserState(b), ParserError)
pub fn choice(
  parsers: List(fn(String) -> Result(ParserState(a), ParserError)),
) -> fn(String) -> Result(ParserState(a), ParserError)
pub fn digit(
  input: String,
) -> Result(ParserState(String), ParserError)
pub fn digit_one(
  input: String,
) -> Result(ParserState(String), ParserError)
pub fn float(
  input: String,
) -> Result(ParserState(Float), ParserError)
pub fn int(
  input: String,
) -> Result(ParserState(Int), ParserError)
pub fn many(
  parser: fn(String) -> Result(ParserState(a), ParserError),
) -> fn(String) -> Result(ParserState(List(a)), ParserError)
pub fn many_one(
  parser: fn(String) -> Result(ParserState(a), ParserError),
) -> fn(String) -> Result(ParserState(List(a)), ParserError)
pub fn map(
  parser: fn(String) -> Result(ParserState(a), ParserError),
  transformer: fn(ParserState(a)) -> ParserState(b),
) -> fn(String) -> Result(ParserState(b), ParserError)
pub fn sequence(
  parsers: List(fn(String) -> Result(ParserState(a), ParserError)),
) -> fn(String) -> Result(ParserState(List(a)), ParserError)
pub fn string(
  match str: String,
) -> fn(String) -> Result(ParserState(String), ParserError)
Search Document