transition-table

Crates.iotransition-table
lib.rstransition-table
version0.0.3
sourcesrc
created_at2022-03-01 12:40:16.598974
updated_at2022-03-13 05:51:08.817814
descriptiontransition table utilities for keyword parser.
homepagehttps://gitlab.com/fton/transition-table
repositoryhttps://gitlab.com/fton/transiton-table
max_upload_size
id541522
size7,555
(fton)

documentation

README

pipeline status coverage report Latest Release

Description

This package provides the definition and utilities for the trie for the const array with &str key item.

Usage

use ::transition_table::*;

const KEYWORDS: [(&'static str, i8); 3] = [
    ("A", 1),
    ("BB", 2),
    ("BBC", 3),
];

let tree = Entry::<char, _>::new(KEYWORDS.iter());
let tbl: Vec<Transition<_, _, _>> = tree.into();
let mut it = tbl.iter();

assert_eq!(it.next().unwrap(), &('C', 0usize, 0usize, 2usize));
assert_eq!(it.next().unwrap(), &('B', 0usize, 1usize, 1usize));
assert_eq!(it.next().unwrap(), &('A', 0usize, 0usize, 0usize));
assert_eq!(it.next().unwrap(), &('B', 1usize, 2usize, !0usize));
assert_eq!(it.next().unwrap(), &('\u{0}', 2usize, 4usize, !0usize));
assert!(it.next().is_none());

Project status

This package is in the early stage.

Commit count: 0

cargo fmt