## NFAs with Tagged Transitions, their Conversion to Deterministic Automata and Application to Regular Expressions (2000)

Venue: | In Proceedings of the 7th International Symposium on String Processing and Information Retrieval |

Citations: | 19 - 2 self |

### BibTeX

@INPROCEEDINGS{Laurikari00nfaswith,

author = {Ville Laurikari},

title = {NFAs with Tagged Transitions, their Conversion to Deterministic Automata and Application to Regular Expressions},

booktitle = {In Proceedings of the 7th International Symposium on String Processing and Information Retrieval},

year = {2000},

pages = {181--187},

publisher = {IEEE}

}

### Years of Citing Articles

### OpenURL

### Abstract

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.

### Citations

282 |
Elements of the theory of computation
- Lewis
- 1981
(Show Context)
Citation Context ...ookahead operator, and some informal comparison to other widely used algorithms is done. 1. Introduction The methods of translating regular expressions to deterministic finite automata are well known =-=[1, 6, 11]-=-. The resulting automata are able to distinguish whether or not a given string belongs to the language defined by the original regular expression. However, it is not possible to, for example, tell the... |

168 |
Modern Compiler Implementation in Java
- APPEL
- 1998
(Show Context)
Citation Context ...lookaheadsoperator / in the style of Lex [5] and Flex [10], so that the regular expression abc/def matches abc only when followed by def, but def is not part of the matched string. According to Appel =-=[2]-=-, Lex uses an incorrect algorithm described by Aho et al. [1], which fails, for example, on (a|ab)/ba with input aba, matching ab where it should match a. Flex uses a better mechanism which works in t... |

151 |
A lexical analyzer generator
- Lesk, “Lex
- 1975
(Show Context)
Citation Context ...essions by giving each literal a unique priority and propagating them to the decision transitions listed above. Tags also provide a mechanism to implement the lookaheadsoperator / in the style of Lex =-=[5]-=- and Flex [10], so that the regular expression abc/def matches abc only when followed by def, but def is not part of the matched string. According to Appel [2], Lex uses an incorrect algorithm describ... |

103 |
String Searching Algorithms
- Stephen
- 1994
(Show Context)
Citation Context ...orasick algorithm for searching several fixed string patterns simultaneously. And, when we use TNFAs, the searching algorithm is further extended to support substring addressing with the use of tags. =-=[7, 12]-=- Of course, the method for searching matching substring stated here is not the most efficient one, and it is possible to achieve sublinear expected time for any regular expression, even logarithmic ex... |

52 | Fast text searching for regular expressions or automaton searching on tries
- Baeza-Yates, Gonnet
- 1996
(Show Context)
Citation Context ...pected time for any regular expression, even logarithmic expected time, if preprocessing of the text to be searched is allowed using the algorithms developed for regular expressions by R. Baeza-Yates =-=[4, 3]-=-, or in the case of regular grammars by B. W. Watson [13, 14]. 6. Conclusions I have described an efficient way to match regular languages and extract last points of use for selected transitions in a ... |

20 |
Efficient text searching of regular expressions
- Baeza-Yates, Gonnet
- 1989
(Show Context)
Citation Context ...pected time for any regular expression, even logarithmic expected time, if preprocessing of the text to be searched is allowed using the algorithms developed for regular expressions by R. Baeza-Yates =-=[4, 3]-=-, or in the case of regular grammars by B. W. Watson [13, 14]. 6. Conclusions I have described an efficient way to match regular languages and extract last points of use for selected transitions in a ... |

18 |
flex - The fast lexical analyzer generator
- Paxson
- 1995
(Show Context)
Citation Context ...ving each literal a unique priority and propagating them to the decision transitions listed above. Tags also provide a mechanism to implement the lookaheadsoperator / in the style of Lex [5] and Flex =-=[10]-=-, so that the regular expression abc/def matches abc only when followed by def, but def is not part of the matched string. According to Appel [2], Lex uses an incorrect algorithm described by Aho et a... |

9 |
Implementing and using finite automata toolkits
- Watson
- 1999
(Show Context)
Citation Context ...pected time, if preprocessing of the text to be searched is allowed using the algorithms developed for regular expressions by R. Baeza-Yates [4, 3], or in the case of regular grammars by B. W. Watson =-=[13, 14]-=-. 6. Conclusions I have described an efficient way to match regular languages and extract last points of use for selected transitions in a single pass. The algorithms are used in a regular expression ... |

8 | Real-time Garbage Collection of a Functional Persistent Heap
- Oksanen
- 1999
(Show Context)
Citation Context ...ransitions in a single pass. The algorithms are used in a regular expression matching and search library, and a lexical analyzer library, for a high-level, functional prototype language called Shines =-=[9]-=- which is being developed in a research project joint between Helsinki University of Technology and Nokia. The main reason why we did not settle for existing libraries is that Shines is real-time but ... |

6 |
A New Regular Grammar Pattern Matching Algorithm. AlgorithmsESA’96
- Watson
- 1996
(Show Context)
Citation Context ...pected time, if preprocessing of the text to be searched is allowed using the algorithms developed for regular expressions by R. Baeza-Yates [4, 3], or in the case of regular grammars by B. W. Watson =-=[13, 14]-=-. 6. Conclusions I have described an efficient way to match regular languages and extract last points of use for selected transitions in a single pass. The algorithms are used in a regular expression ... |

5 |
Generation of pattern-matching algorithms by extended regular expressions
- Nakata
- 1993
(Show Context)
Citation Context ...can use *R. If we give the -loop a lower priority than any other transition and add a tag to mark the position where the matching substring begins, after the first loop, we have a working solution. [7=-=]-=- We need to ensure, though, that the implementation does something reasonable. Usually searching is defined so that it finds the first and longest matching substring, which is reasonable in most appli... |

5 |
Regular expressions with semantic rules and their application to data structure directed programs
- Nakata, Sassa
- 1991
(Show Context)
Citation Context ...sumes time exponentially on the regular expression (v*)*|j* with input vvvvv . . . j. With an input of about 25 characters the matching takes tens of seconds on a modern workstation. Nakata and Sassa =-=[8]-=- have proposed a way of adding semantic rules to regular expressions and converting them to deterministic automata, but their algorithms do not resolve ambiguity and cannot handle situations where mor... |