Kleenex: compiling nondeterministic transducers to deterministic streaming transducers
Kleenex: compiling nondeterministic transducers to deterministic streaming transducers
复制标题
Kleenex:将非确定性传感器编译为确定性流传感器
DOI:
10.1145/2837614.2837647
复制
发表时间:
2016
期刊:
影响因子:
--
通讯作者:
Sebastian Paaske Tørholm
中科院分区:
文献类型:
--
作者:
Niels Bjørn Bugge Grathwohl;F. Henglein;U. Rasmussen;Kristoffer Aalund Søholm;Sebastian Paaske Tørholm
We present and illustrate Kleenex, a language for expressing general nondeterministic finite transducers, and its novel compilation to streaming string transducers with essentially optimal streaming behavior, worst-case linear-time performance and sustained high throughput. Its underlying theory is based on transducer decomposition into oracle and action machines: the oracle machine performs streaming greedy disambiguation of the input; the action machine performs the output actions. In use cases Kleenex achieves consistently high throughput rates around the 1 Gbps range on stock hardware. It performs well, especially in complex use cases, in comparison to both specialized and related tools such as GNUawk, GNUsed, GNUgrep, RE2, Ragel and regular-expression libraries.