1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#[cfg(feature = "pest")]
mod pest;

#[cfg(feature = "peg")]
pub(crate) mod peg;

#[cfg(feature = "peg")]
pub(crate) mod compatibility;
#[cfg(feature = "peg")]
pub(crate) mod parser;

#[cfg(feature = "peg")]
pub type KodeptParser<'t> = peg::Tokenizer<'t, false>;

#[cfg(all(feature = "pest", not(feature = "peg")))]
pub type KodeptParser<'t> = pest::Tokenizer<'t>;

#[cfg(feature = "pest")]
pub type PestKodeptParser<'t> = pest::Tokenizer<'t>;

#[cfg(feature = "peg")]
mod macros {
    macro_rules! tok {
        ($pat:pat) => {$crate::token_match::TokenMatch { token: $pat, .. }};
    }
    
    pub(crate) use tok;
}