[GAP Forum] Automata package released

Gary Zablackis gzabl at yahoo.com
Thu Oct 14 17:05:12 BST 2004

Dear Edmund,
I downloaded the Automata package the other day and installed it on my Windows 2000 machine. I have Cygwin installed on the machine, and the wish executable that was installed with Cygwin was selected and works fine for the xautomata part of the package (I will be testing with other Tcl/Tk installations in the next few days). Everything seems to run fine (I only did some very rudimentary tests). The only problem I had was that the XAutomaton() returns "quit\r\n" rather than "quit\n" when the Quit button is selected. The following change fixes the problem for me:
    XAutomaton := function(arg)
        local func, d, f, xautomatonstream, otu, A, args, i, s, s2, a, q, var;
        func := function(ix)
            local i, result, s;
            s := ReadAll(xautomatonstream);
    ##Change for Windows: from [if s = "quit\n" then]
            if s = "quit\n" or s = "quit\r\n" then
    ##/Change for Windows
    ##Added line to fix lack of gap prompt on exit from XAutomaton()
                PrintTo(otu, "gap> ");
    ##/Added line to fix lack of gap prompt on exit from XAutomaton()
                UnInstallCharReadHookFunc( xautomatonstream, func );
I hope this information is of use to other users of GAP.
Gary Zablackis

Edmund Robertson <edmund at mcs.st-and.ac.uk> wrote:

Dear GAP Forum,

I announce, with great pleasure, that the Automata package, by Manuel
Delgado, Steve Linton and Joao Morais has been accepted as a refereed
GAP package and is available for download from the GAP Web site, and
FTP sites, or from the authors Web page at


The following brief description of the functionality of the package is
based on the authors' description.

The features of the Automata package include:

- computing a rational expression for the language recognized by a
finite automaton and computing an automaton for the language given by a
rational expression;

- computing an equivalent deterministic automaton to a given
non-deterministic automaton;

- standard constructions such as intersection automata and product 

- minimalising a deterministic finite automaton;

- constructing an inverse automaton corresponding to a subgroup of a 
free group via a flower automaton and Stallings foldings;

- visualizing automata graphically (using the external program 
GraphViz) This convenient tool presently works only under LINUX.

Edmund Robertson


Professor E F Robertson
Centre for Interdisciplinary Research in Computational Algebra
School of Mathematics and Statistics
Mathematical Institute
University of St Andrews
St Andrews KY16 9SS

Email: edmund at mcs.st-and.ac.uk
Tel: +44 (0)1334 463743
Fax: +44 (0)1334 463748


Forum mailing list
Forum at mail.gap-system.org

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the Forum mailing list