Skip to content

Commit

Permalink
refactor(parser): Rename bytes-parser
Browse files Browse the repository at this point in the history
  • Loading branch information
epage committed Jul 19, 2019
1 parent d247d68 commit 6da8305
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 15 deletions.
12 changes: 6 additions & 6 deletions benches/tokenize.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,34 @@ mod data;

#[bench]
fn symbol_parse_empty(b: &mut test::Bencher) {
b.iter(|| typos::tokens::Identifier::parse(data::EMPTY.as_bytes()).last());
b.iter(|| typos::tokens::Identifier::parse_bytes(data::EMPTY.as_bytes()).last());
}

#[bench]
fn symbol_parse_no_tokens(b: &mut test::Bencher) {
b.iter(|| typos::tokens::Identifier::parse(data::NO_TOKENS.as_bytes()).last());
b.iter(|| typos::tokens::Identifier::parse_bytes(data::NO_TOKENS.as_bytes()).last());
}

#[bench]
fn symbol_parse_single_token(b: &mut test::Bencher) {
b.iter(|| {
typos::tokens::Identifier::parse(data::SINGLE_TOKEN.as_bytes()).last();
typos::tokens::Identifier::parse_bytes(data::SINGLE_TOKEN.as_bytes()).last();
});
}

#[bench]
fn symbol_parse_sherlock(b: &mut test::Bencher) {
b.iter(|| typos::tokens::Identifier::parse(data::SHERLOCK.as_bytes()).last());
b.iter(|| typos::tokens::Identifier::parse_bytes(data::SHERLOCK.as_bytes()).last());
}

#[bench]
fn symbol_parse_code(b: &mut test::Bencher) {
b.iter(|| typos::tokens::Identifier::parse(data::CODE.as_bytes()).last());
b.iter(|| typos::tokens::Identifier::parse_bytes(data::CODE.as_bytes()).last());
}

#[bench]
fn symbol_parse_corpus(b: &mut test::Bencher) {
b.iter(|| typos::tokens::Identifier::parse(data::CORPUS.as_bytes()).last());
b.iter(|| typos::tokens::Identifier::parse_bytes(data::CORPUS.as_bytes()).last());
}

#[bench]
Expand Down
2 changes: 1 addition & 1 deletion src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ pub fn process_file(

for (line_idx, line) in buffer.lines().enumerate() {
let line_num = line_idx + 1;
for ident in tokens::Identifier::parse(line) {
for ident in tokens::Identifier::parse_bytes(line) {
if !ignore_hex && is_hex(ident.token()) {
continue;
}
Expand Down
16 changes: 8 additions & 8 deletions src/tokens.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ pub struct Identifier<'t> {

impl<'t> Identifier<'t> {
pub fn new(token: &'t str, offset: usize) -> Result<Self, failure::Error> {
let mut itr = Self::parse(token.as_bytes());
let mut itr = Self::parse_bytes(token.as_bytes());
let mut item = itr
.next()
.ok_or_else(|| failure::format_err!("Invalid ident (none found): {:?}", token))?;
Expand All @@ -38,7 +38,7 @@ impl<'t> Identifier<'t> {
Self { token, offset }
}

pub fn parse(content: &[u8]) -> impl Iterator<Item = Identifier<'_>> {
pub fn parse_bytes(content: &[u8]) -> impl Iterator<Item = Identifier<'_>> {
lazy_static::lazy_static! {
// Getting false positives for this lint
#[allow(clippy::invalid_regex)]
Expand Down Expand Up @@ -242,15 +242,15 @@ mod test {
fn tokenize_empty_is_empty() {
let input = b"";
let expected: Vec<Identifier> = vec![];
let actual: Vec<_> = Identifier::parse(input).collect();
let actual: Vec<_> = Identifier::parse_bytes(input).collect();
assert_eq!(expected, actual);
}

#[test]
fn tokenize_word_is_word() {
let input = b"word";
let expected: Vec<Identifier> = vec![Identifier::new_unchecked("word", 0)];
let actual: Vec<_> = Identifier::parse(input).collect();
let actual: Vec<_> = Identifier::parse_bytes(input).collect();
assert_eq!(expected, actual);
}

Expand All @@ -261,7 +261,7 @@ mod test {
Identifier::new_unchecked("A", 0),
Identifier::new_unchecked("B", 2),
];
let actual: Vec<_> = Identifier::parse(input).collect();
let actual: Vec<_> = Identifier::parse_bytes(input).collect();
assert_eq!(expected, actual);
}

Expand All @@ -272,7 +272,7 @@ mod test {
Identifier::new_unchecked("A", 0),
Identifier::new_unchecked("B", 2),
];
let actual: Vec<_> = Identifier::parse(input).collect();
let actual: Vec<_> = Identifier::parse_bytes(input).collect();
assert_eq!(expected, actual);
}

Expand All @@ -283,15 +283,15 @@ mod test {
Identifier::new_unchecked("A", 0),
Identifier::new_unchecked("B", 3),
];
let actual: Vec<_> = Identifier::parse(input).collect();
let actual: Vec<_> = Identifier::parse_bytes(input).collect();
assert_eq!(expected, actual);
}

#[test]
fn tokenize_underscore_doesnt_separate() {
let input = b"A_B";
let expected: Vec<Identifier> = vec![Identifier::new_unchecked("A_B", 0)];
let actual: Vec<_> = Identifier::parse(input).collect();
let actual: Vec<_> = Identifier::parse_bytes(input).collect();
assert_eq!(expected, actual);
}

Expand Down

0 comments on commit 6da8305

Please sign in to comment.