Results 1 
8 of
8
NFAs with Tagged Transitions, their Conversion to Deterministic Automata and Application to Regular Expressions
 In Proceedings of the 7th International Symposium on String Processing and Information Retrieval
, 2000
"... A conservative extension to traditional nondeterministic finite automata is proposed to keep track of the positions in the input string for the last uses of selected transitions, by adding "tags" to transitions. The resulting automata are reminiscent of nondeterministic Mealy machines. For ..."
Abstract

Cited by 24 (2 self)
 Add to MetaCart
(Show Context)
A conservative extension to traditional nondeterministic finite automata is proposed to keep track of the positions in the input string for the last uses of selected transitions, by adding "tags" to transitions. The resulting automata are reminiscent of nondeterministic Mealy machines. Formal semantics of automata with tagged transitions is given. An algorithm is given to convert these augmented automata to corresponding deterministic automata, which can be used to process strings efficiently. Application to regular expressions is discussed, explaining how the algorithms can be used to implement for example substring addressing and a lookahead operator, and some informal comparison to other widely used algorithms is done.
Efficient Submatch Addressing for Regular Expressions
, 2001
"... String pattern matching in its different forms is an important topic in theoretical computer science. This thesis concentrates on the problem of regular expression matching with submatch addressing, where the position and extent of the substrings matched by given subexpressions must be provided. The ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
String pattern matching in its different forms is an important topic in theoretical computer science. This thesis concentrates on the problem of regular expression matching with submatch addressing, where the position and extent of the substrings matched by given subexpressions must be provided. The algorithms in widespread use at the time either take exponential worstcase time to find a match, can handle only a subset of all regular expressions, or use space proportional to the length of the input string where constant space would suffice. This thesis proposes a new method for solving the submatch addressing problem using nondeterministic finite automata with transitions augmented by copyonwrite update operations. The resulting algorithm makes a single pass over the input string, always using time linearly proportional to the input. Space consumption depends only on the used regular expression, and not on the input string. To the author's knowledge, this is a new result. A prototype of a POSIX.2 compatible regular expression matcher using the algorithm was done. Benchmarking results indicate that the prototype compares favorably against some popular implementations. Furthermore, absence of exponential or polynomial time worst cases makes it possible to use any regular expression without performance problems, which is not the case with previous implementations or algorithms.
An Experimental Study of Compression Methods for Functional Tries
 in: Workshop on Algorithmic Aspects of Advanced Programming Languages (WAAAPL'99
, 1999
"... We develop compression methods for functional tries and study them experimentally. Trie compression is usually implemented either as a combination of path compression and width compression or as a combination of path compression and level compression. We develop a new efficient implementation for wi ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
(Show Context)
We develop compression methods for functional tries and study them experimentally. Trie compression is usually implemented either as a combination of path compression and width compression or as a combination of path compression and level compression. We develop a new efficient implementation for width compression and show that in functional tries the combination of all of the three compression methods yields the best results when taking into account the trie size, the trie depth, the copy cost, and the search and update performance. We also show that the 23 tree minimizes the copy cost in balanced trees and compare our experimental results for tries to approximate analytical results for internal and external 23 trees. Our conclusion is that the path, width, and levelcompressed trie is an ideal choice for a functional mainmemory index structure. Keywords functional data structures, imperative data structures, trie, shadowing, path copying, path compression, width compression, level compression 1
HELSINKI UNIVERSITY ABSTRACT OF OF TECHNOLOGY MASTER’S THESIS
"... Efficient submatch addressing for regular expressions ..."
(Show Context)
Incremental Garbage Collection of an Almost Unidirectional Persistent Heap
"... Abstract Shades is an incremental copying garbage collection and disk crash recovery algorithm for main memory databases. Shades is also used as a runtime for a strict and persistent functional programming language. The basic, and very pervasive, idea in Shades is that only cells in the first genera ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract Shades is an incremental copying garbage collection and disk crash recovery algorithm for main memory databases. Shades is also used as a runtime for a strict and persistent functional programming language. The basic, and very pervasive, idea in Shades is that only cells in the first generation are mutable to the application. This has allowed a design where the remembered sets that record intergeneration references can be smaller and, most importantly, they can be reconstructed during crash recovery so that they need not be written to disk. Furthermore, since Shades issues mostly long and relatively infrequent disk writes which contain negligible amounts of metadata, we claim Shades to be very efficient. We provide some experimental evidence to support this claim.
NFAs with Tagged Transitions, their Conversion to Deterministic Automata and Application to Regular Expressions
"... A conservative extension to traditional nondeterministic finite automata is proposed to keep track of the positions in the input string for the last uses of selected transitions, by adding ”tags ” to transitions. The resulting automata are reminiscent of nondeterministic Mealy machines. Formal seman ..."
Abstract
 Add to MetaCart
(Show Context)
A conservative extension to traditional nondeterministic finite automata is proposed to keep track of the positions in the input string for the last uses of selected transitions, by adding ”tags ” to transitions. The resulting automata are reminiscent of nondeterministic Mealy machines. Formal semantics of automata with tagged transitions is given. An algorithm is given to convert these augmented automata to corresponding deterministic automata, which can be used to process strings efficiently. Application to regular expressions is discussed, explaining how the algorithms can be used to implement for example substring addressing and a lookahead operator, and some informal comparison to other widely used algorithms is done. 1.
Instructor
"... For critical services, downtime is not an option. The downtime of a service can be addressed by replicating the units which provide the service. However, if the session state is important, it is not enough to simply replicate units: sharing the continuously updated internal state of the units must a ..."
Abstract
 Add to MetaCart
(Show Context)
For critical services, downtime is not an option. The downtime of a service can be addressed by replicating the units which provide the service. However, if the session state is important, it is not enough to simply replicate units: sharing the continuously updated internal state of the units must also be made possible. If execution can be continued on another unit after the pointoffailure without any significant loss of state, the unit is said to have a Hot Spare. Saving the state of a unit so that it can be restored at a later point in time and space is known as checkpointing. For the checkpointing approach to be a viable option in interactive services, it must not disrupt the normal program operation in any way noticeable to the user. The goal of this work is to present a checkpointing facility which can be used in applications where checkpointing should and can not disrupt normal program operation. To accomplish this, the responsibility of taking a checkpoint is left up to the application. The implications are twofold: checkpointing will be done at exactly the right time and for exactly the right set of data, but each application must be individually modified to support checkpointing. Aframework is provided for the application programmer so that it is possible to concentrate on the important issues when adding Hot Spare capabilities: what to checkpoint and when to checkpoint. Checkpointing efficiency isfurther increased by introducing kernel functionality to support incremental checkpoints. Ke ywords: hot spares, high availability, checkpointing, applicationdriven checkpointing, kernel support for checkpointing