futilehdl/src/parser/mod.rs

31 lines
778 B
Rust

pub mod adt;
pub mod block_expression;
pub mod comb;
pub mod declaration;
pub mod error;
pub mod expression;
mod literals;
pub mod module;
pub mod proc;
pub mod tokens;
use nom_locate::LocatedSpan;
// custom span type for nom_locate
pub type Span<'a> = LocatedSpan<&'a str>;
pub type IErr<I> = error::Error<I>;
// custom IResult type for VerboseError
pub type IResult<I, O, E = IErr<I>> = nom::IResult<I, O, E>;
pub use crate::parser::declaration::{
assign_statement, declaration, typename, Assign, NetDecl, TypeName,
};
pub use crate::parser::module::{module, Module, ModuleItem, PortDirection};
use crate::parser::tokens::TokenSpan;
use nom::combinator::all_consuming;
pub fn parse(input: TokenSpan) -> IResult<TokenSpan, Module> {
all_consuming(module)(input)
}