Move Locate

This commit is contained in:
dalance 2019-07-25 20:55:18 +09:00
parent dc0547461c
commit ce2b57e811
5 changed files with 23 additions and 18 deletions

View File

@ -1,5 +1,7 @@
pub mod any_node; pub mod any_node;
pub mod locate;
pub mod node; pub mod node;
pub(crate) use any_node::*; pub(crate) use any_node::*;
pub(crate) use locate::*;
pub(crate) use node::*; pub(crate) use node::*;
pub(crate) use sv_parser_macro::*; pub(crate) use sv_parser_macro::*;

18
src/ast/locate.rs Normal file
View File

@ -0,0 +1,18 @@
use crate::parser::*;
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct Locate {
offset: usize,
line: u32,
len: usize,
}
impl<'a> From<Span<'a>> for Locate {
fn from(x: Span<'a>) -> Self {
Locate {
offset: x.offset,
line: x.line,
len: x.fragment.len(),
}
}
}

View File

@ -1,5 +1,4 @@
use crate::ast::*; use crate::ast::*;
use crate::parser::*;
pub(crate) trait Node<'a> { pub(crate) trait Node<'a> {
fn next(&'a self) -> RefNodes<'a>; fn next(&'a self) -> RefNodes<'a>;

View File

@ -1,7 +1,6 @@
#![recursion_limit = "256"] #![recursion_limit = "256"]
pub mod ast; pub mod ast;
pub mod parser; pub mod parser;
use ast::*;
use parser::*; use parser::*;
use nom_packrat::storage; use nom_packrat::storage;

View File

@ -21,6 +21,8 @@ pub use source_text::*;
pub use specify_section::*; pub use specify_section::*;
pub use udp_declaration_and_instantiation::*; pub use udp_declaration_and_instantiation::*;
// -----------------------------------------------------------------------------
pub(crate) const RECURSIVE_FLAG_WORDS: usize = 1; pub(crate) const RECURSIVE_FLAG_WORDS: usize = 1;
#[derive(Copy, Clone, Default, Debug, PartialEq)] #[derive(Copy, Clone, Default, Debug, PartialEq)]
@ -32,22 +34,7 @@ pub(crate) struct Extra {
pub(crate) type Span<'a> = nom_locate::LocatedSpanEx<&'a str, Extra>; pub(crate) type Span<'a> = nom_locate::LocatedSpanEx<&'a str, Extra>;
#[derive(Copy, Clone, Default, Debug, PartialEq)] // -----------------------------------------------------------------------------
pub struct Locate {
offset: usize,
line: u32,
len: usize,
}
impl<'a> From<Span<'a>> for Locate {
fn from(x: Span<'a>) -> Self {
Locate {
offset: x.offset,
line: x.line,
len: x.fragment.len(),
}
}
}
mod thread_context { mod thread_context {