Results 1 -
6 of
6
Grail: A C++ Library for Automata and Expressions
- JOURNAL OF SYMBOLIC COMPUTATION
, 1995
"... ..."
AUTOMATE, a computing package for automata and finite semigroups
, 1991
"... AUTOMATE is a package for symbolic computation on finite automata, extended rational expressions and finite semigroups. On the one hand, it enables one to compute the deterministic minimal automaton of the language represented by a rational expression or given by its table. On the other hand, gi ..."
Abstract
-
Cited by 15 (1 self)
- Add to MetaCart
AUTOMATE is a package for symbolic computation on finite automata, extended rational expressions and finite semigroups. On the one hand, it enables one to compute the deterministic minimal automaton of the language represented by a rational expression or given by its table. On the other hand, given the transition table of a deterministic automaton, AUTOMATE computes the associated transition monoid. The regular D-classes structure, and many properties of the elements in the monoid are provided. The program AUTOMATE has been written in C and is quite portable. The user interface includes specialized editors for easy displaying of the computed results.
Efficient Approaches to Subset Construction
, 1995
"... This thesis addresses important issues in the conversion of nondeterministic finite automata into deterministic finite automata: the development of the conversion process, the behavior of the conversion process with respect to input automata, and the relationship of output automata to input automata ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
This thesis addresses important issues in the conversion of nondeterministic finite automata into deterministic finite automata: the development of the conversion process, the behavior of the conversion process with respect to input automata, and the relationship of output automata to input automata. In developing a robust, efficient, and modular conversion program, it is necessary to analyze searching and sorting routines, abstract data types, and other issues in order to determine appropriate routines and structures for use with automata and their manipulation. Subset construction is a well-known procedure for converting a nondeterministic finite automaton into a deterministic finite automaton. A large part of this thesis explains the improvements made to an existing, inefficient, implementation of subset construction based on a pseudo-code specification. The testing phase of this project led to a study of the behavior of the conversion process with respect to different types of automata. Very few automata were available for testing, therefore, methods to generate test automata were examined. Some interesting behavior in the output automata, with respect to the input automata, prompted concurrent study in this area. A conjecture based on the density of automata enables us to estimate the cost of subset construction prior to actually performing the construction. In conclusion, recommended implementations of subset construction are suggested based upon information about the input automaton.
The design and implementation of the FIRE engine: A C++ toolkit for FInite automata and Regular Expressions
, 1994
"... This paper describes the design and implementation of version 1.1 of the FIRE engine. The FIRE engine is a C++ class library implementing finite automata and regular expression algorithms. The algorithms implemented in the toolkit are almost all of those presented in the taxonomies of finite automa ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
This paper describes the design and implementation of version 1.1 of the FIRE engine. The FIRE engine is a C++ class library implementing finite automata and regular expression algorithms. The algorithms implemented in the toolkit are almost all of those presented in the taxonomies of finite automata algorithms [Wat93a, Wat93b]. The reader is assumed to be familiar with the two taxonomies and with advanced C++ programming techniques. The toolkit is implemented largely in an object-oriented style, with finite automata and regular expressions being defined as classes. All of the classes and functions in the toolkit are presented in the same format. For each class (or function) the format includes a short description of its behaviour, details of its implementation, and techniques for improving its performance. CONTENTS Contents 1 Introduction 3 1.1 Coding conventions and performance issues : : : : : : : : : : : : : : : : : : : : : : 3 1.1.1 Performance tuning : : : : : : : : : : : : ...
An introduction to the FIRE engine: A C++ toolkit for FInite automata and Regular Expressions
, 1994
"... This paper is an introduction to the programmer's interface of version 1.1 of the FIRE engine. The FIRE engine is a C++ class library implementing finite automata and regular expression algorithms. The algorithms implemented in the toolkit are almost all of those presented in the taxonomies of finit ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
This paper is an introduction to the programmer's interface of version 1.1 of the FIRE engine. The FIRE engine is a C++ class library implementing finite automata and regular expression algorithms. The algorithms implemented in the toolkit are almost all of those presented in the taxonomies of finite automata algorithms [Wat93a, Wat93b]. None of the implementation details of the library are discussed --- such design and implementation details are given in [Wat94]. The toolkit is unique in providing implementations of all of the known algorithms for constructing finite automata. The implementations, which were developed with efficiency in mind, are intended for use in production quality applications. No shell or graphical user-interface is provided, as the toolkit is intended for integration into applications. The implementations of the algorithms follow directly from the abstract algorithms appearing in [Wat93a, Wat93b]. As such, the toolkit also serves as an educational example of the...
Grail: Engineering Automata in C++
, 1993
"... Objects: Automata and regular expressions : : : : : 11 3.2 User level : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 3.3 Programmer interface : : : : : : : : : : : : : : : : : : : : : : 13 4 Software organization 16 4.1 System directories : : : : : : : : : : : : : : : : : : : : : : : ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Objects: Automata and regular expressions : : : : : 11 3.2 User level : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 3.3 Programmer interface : : : : : : : : : : : : : : : : : : : : : : 13 4 Software organization 16 4.1 System directories : : : : : : : : : : : : : : : : : : : : : : : : 16 4.2 Classes : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17 4.3 A class directory : : : : : : : : : : : : : : : : : : : : : : : : : 17 4.4 Making the code : : : : : : : : : : : : : : : : : : : : : : : : : 19 4.5 Test directory : : : : : : : : : : : : : : : : : : : : : : : : : : : 19 5 Miscellaneous information 19 5.1 How do I obtain Grail? : : : : : : : : : : : : : : : : : : : : : 19 5.2 Related software systems : : : : : : : : : : : : : : : : : : : : 20 5.3 Future work : : : : : : : : : : : : : : : : : : : : : : : : : : : : 21 5.4 C++ references : : : : : : : : : : : : : : : : : : : : : : : : : : 21 5.5 Organizational quirks : : : : : : : : : : : : : : : : : : : : : :...

