#hobby #transition #table #util-lib #utilities #trie #key

无 std transition-table

关键字解析器过渡表实用工具

3 个版本

0.0.3 2022 年 3 月 13 日
0.0.2 2022 年 3 月 2 日
0.0.1 2022 年 3 月 1 日

2554Rust 模式

每月 30 次下载
用于 3 个crate

MIT/Apache

8KB
142

pipeline status coverage report Latest Release

描述

此包提供了具有 &str 键项的常量数组 trie 的定义和实用工具。

用法

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());

项目状态

此包处于早期阶段。

无运行时依赖