30 lines
752 B
Rust
30 lines
752 B
Rust
pub mod adt;
|
|
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)
|
|
}
|