#![allow(unused_imports)]
use proc_macro2::*;
use syn::*;
use quote::*;
use syn::punctuated::Punctuated;
use syn::spanned::Spanned;
use syn::token::Comma;
mod enum_helper;
mod derive_helper;
mod options;
mod parameters;
mod struct_helper;
mod token_helper;
use parameters::*;
use struct_helper::*;
use enum_helper::*;
use derive_helper::*;
use options::*;
use token_helper::*;
extern crate proc_macro;
#[proc_macro_derive(Parse, attributes(strict, pattern, error, label, errors))]
pub fn parse_derive(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
crate::derive_helper(input.into()).into()
}