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
#![feature(core_intrinsics)]
#![feature(proc_macro_hygiene)]
#![feature(specialization)]

#[allow(unused_imports)] #[macro_use] extern crate pear_codegen;
#[doc(hidden)] pub use pear_codegen::*;

#[macro_use] mod macros;
mod input;
mod result;
mod debug;

#[macro_use] pub mod combinators;
pub mod parsers;

pub use input::*;
pub use result::*;
pub use debug::{parser_entry, parser_exit};

// TODO:
//  1) Figure out how to make maybe! macro work.
//      - I think this is a rustc bug. Something with name resolution.
//  2) Figure out how to pass `input` to macros, if at all.
//      - Perhaps only pass when macro name starts with `pear_`.
//  3) Pass parser name into `pear_error`.