Module semver_parser::parser[][src]

Recursive-descent parser for semver ranges.

The parsers is divided into a set of functions, each responsible for parsing a subset of the grammar.

Examples

use semver_parser::parser::Parser;
use semver_parser::range::Op;

let mut p = Parser::new("^1").expect("a broken parser");

assert_eq!(Ok(Op::Compatible), p.op());
assert_eq!(Ok(Some(1)), p.component());

Example parsing a range:

use semver_parser::parser::Parser;
use semver_parser::range::{Op, Predicate};

let mut p = Parser::new("^1.0").expect("a broken parser");

assert_eq!(Ok(Some(Predicate {
    op: Op::Compatible,
    major: 1,
    minor: Some(0),
    patch: None,
    pre: vec![],
})), p.predicate());

let mut p = Parser::new("^*").expect("a broken parser");

assert_eq!(Ok(None), p.predicate());

Structs

Parser

A recursive-descent parser for parsing version requirements.

Enums

Error