Module reproto_semver::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 reproto_semver::parser::Parser;
use reproto_semver::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 reproto_semver::parser::Parser;
use reproto_semver::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