Expand description
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.