Я хотел бы проанализировать любой альфа1, кроме нескольких случаев, таких как «истина» или «ложь».Эта функция будет анализировать «true» или «false», но я ожидаю, что вывод «true» или «false» будет ошибкой.
use nom::bytes::complete::tag;
use nom::character::complete::alpha1;
use nom::combinator::map;
use nom::error::VerboseError as Error;
#[derive(Debug, PartialEq, Clone)]
pub enum Factor {
Variable(String),
}
pub fn variable(input: &str) -> IResult<&str, Factor, Error<&str>> {
map(alpha1, |v: &str| Factor::Variable(v.to_string()))(input)
}