lib/grammar/ast/
quantifiers.rs1use pest::iterators::Pair;
2use serde::Serialize;
3
4use crate::grammar::parser::Rule;
5
6#[derive(Debug, Clone, Eq, PartialEq, Serialize)]
7#[serde(rename_all = "lowercase")]
8pub enum Quantifiers {
9 K,
10 M,
11 G,
12}
13
14impl<'r> From<Pair<'r, Rule>> for Quantifiers {
15 fn from(pair: Pair<'r, Rule>) -> Self {
16 match pair.as_span().as_str() {
17 "K" => Quantifiers::K,
18 "M" => Quantifiers::M,
19 "G" => Quantifiers::G,
20 _ => {
21 unreachable!("Unexpected {:?} quantifier", pair.as_rule())
22 }
23 }
24 }
25}