[−][src]Function mamba::parse::parse
pub fn parse(input: &[Lex]) -> ParseResult
Parse input, which is a slice of TokenPos.
Should never panic.
Examples
let def = Lex::new(&CaretPos::new(1, 1), Token::Def); let id = Lex::new(&CaretPos::new(1, 4), Token::Id(String::from("b"))); let assign = Lex::new(&CaretPos::new(1, 6), Token::Assign); let number = Lex::new(&CaretPos::new(1, 9), Token::Int(String::from("9"))); let result = parse(&[def, id, assign, number]); assert_eq!(result.is_ok(), true);
Failures
If we receive an illegal sequence of tokens it fails.
let def = Lex::new(&CaretPos::new(0, 0), Token::Def); let id = Lex::new(&CaretPos::new(0, 0), Token::Id(String::from("b"))); let number = Lex::new(&CaretPos::new(0, 0), Token::Int(String::from("9"))); let result = parse(&[def, id, number]); assert_eq!(result.is_err(), true);